COMP3258 Functional programming [Section 1A, 2018]
The course teaches the basics of functional programming using the
language Haskell. The main goal is introduce students to fundamental
programming concepts such as recursion, abstraction, lambda expressions
and higher-order functions and data types. The course will also study
the mathematical reasoning involved in the design of functional programs
and techniques for proving properties about functions so defined. With
the adoption of lambda expressions recent versions of Java, C++ or C#,
functional programming and related programming techniques are becoming
increasingly more relevant even for programmers of languages that are
not traditionally viewed as functional. This course is important to
introduce students to such techniques.