This course will discuss concepts of functional programming such as recursive definitions, polymorphic type inference, abstract data types, induction, etc. and concepts of logic programming such as model-theoretic semantics, logical deduction, backtracking, negation as failure, etc. The programming exercises will illustrate the utility of list-processing, pattern matching, abstraction of data/control, typing, etc. for problem solving. Department Managed Prerequisite(s): Undergraduate level CS 3180 Minimum Grade of D or Graduate level CS 5180 Minimum Grade of D
Must be enrolled in one of the following Levels: Graduate, Medical, Professional.