Functional Programming Abstractions
Download as PDF
Course Description
This course covers the fundamentals of functional programming and algebraic type systems, and explores a selection of related programming paradigms and current research. Haskell is taught and used throughout the course, though much of the material is applicable to other languages. Material will be covered from both theoretical and practical points of view, and topics will include higher order functions, immutable data structures, algebraic data types, type inference, lenses and optics, effect systems, concurrency and parallelism, and dependent types. Prerequisites: Programming maturity and comfort with math proofs, at the levels of CS107 and CS103.
Grading Basis
RSN - Satisfactory/No Credit
Min
2
Max
2
Course Repeatable for Degree Credit?
No
Course Component
Activity
Enrollment Optional?
No