Course Outline |
||
Introduction to functional programming using the languages Haskell. Topics include all data types, type inference, pattern-matching, recursion, polymorphism, higher-order functions, lazy vs eager evaluation, modules and monads.
|
Date |
|
Topics |
1 | Sep 09/13 | [1] 1 - 3 | Introduction to Functional Programming, No lab this week |
2 | Sep 16/20 | [1] 4 - 5 | Recursion and Data Types |
3 | Sep 23/27 | [1] 6 - 7 | Lists |
4 | Oct 04/07* | [1] 9 - 10 | Patterns of Computation and Functions as Values, Test 1 (Oct 03) |
5 | Oct 18/21** | [1] 12 - 13 | Overloading, Type Classes and Type Checking |
6 | Oct 25/28 | [1] 14 - 15 | Algebraic Types, Test 2 (Oct 24) |
7 | Nov 01/04 | [1] 16 | Abstract Data Types |
8 | Nov 08/11 | [1] 17 | Lazy Evaluation |
9 | Nov 15/18 | [1] 18 | Programming with Actions, Test 3 (Nov 14) |
10 | Nov 22/25 | [1] 8, 14.7 & 17.9 | Reasoning about Programs |
11 | Nov 29/Dec 02 | [1] 8, 14.7 & 17.9 | Reasoning about Programs II |
12 | Dec 06/07*** | [2] 7 | Language extensions, Review, No lab this week |