This is a tentative syllabus for the course. Links will be added regularly with current/upcoming topics and assignments. Notes will be provided for each class, linked from the date. Unless otherwise indicated, references are to the textbook (The Haskell School of Expression, or "SOE"). Feedback is appreciated — typos, suggestions for more detailed explanations, additional examples, etc.
| Date | Topics | References | Out | Due |
|---|---|---|---|---|
| Sept 21 | Intro | Ch. 1; Learn Haskell in 10 minutes | SA-0 | |
| Sept 22 (x) | List processing | How to work on lists; Prelude docs | ||
| Sept 23 | Recursion, pattern matching | SA-1 | SA-0 | |
| Sept 26 | Data, representing shapes | Ch. 2 | SA-2 | SA-1 |
| Sept 28 | I/O, graphics, drawing shapes | Ch. 3, 4 | SA-3, PS-1 | SA-2 |
| Sept 30 | Polymorphism, higher-order functions | Ch. 5, 9 | SA-4 | SA-3 |
| Oct 3 | Finish up anonymous functions, composition, drawing shapes | SA-4 | ||
| Oct 5 | Trees | Ch. 7 | SA-5, PS-2 | PS-1 |
| Oct 7 | Abstract data types | SA-6 | SA-5 | |
| Oct 10 | Iteration (motifs) | SA-6 | ||
| Oct 12 | Induction | SA-7, PS-3 | PS-2 | |
| Oct 14 | Induction, cont. | |||
| Oct 17 | Search (Sudoku) | SA-7 | ||
| Oct 19 | Databases | SA-8, PS-4 | PS-3 | |
| Oct 20 (x) | Review session, x-hour. See also practice exams on Blackboard | |||
| Midterm, 7-10pm, 003 Rockefeller | ||||
| Oct 21 | Type classes | Ch. 12, skim Ch. 24 | ||
| Oct 24 | Graph search; stacks and queues | SA-8 | ||
| Oct 26 | Intro to parsing | PS-5 | PS-4 | |
| Oct 28 | Parsing sentences | SA-9 | ||
| Oct 31 | Parsing expressions | SA-9 | ||
| Nov 2 | Regions and pictures | Ch. 8, 10 | PS-6 | PS-5 |
| Nov 4 | No Class | |||
| Nov 7 | Region extensions; interaction | SA-10 | ||
| Nov 9 | Intro to streams | Ch. 14 | PS-7, SA-11 | PS-6 |
| Nov 11 | More streams: digital logic, math | |||
| Nov 14 | Catch up | SA-10 | ||
| Nov 16 | Intro to monads | Sec. 18.2 | ||
| Nov 18 | List, IO, and state monads | Sec. 18.3, 18.4 | SA-12 | SA-11 |
| Nov 21 | Spelling Corrector | |||
| Nov 28 | Concurrency | SA-12 | ||
| Nov 30 | Concurrency: transactions | Beautiful concurrency | PS-7 | |
| Dec 2 | Review session, 10:00am, 006 Kemeny | See also practice exams on Blackboard | ||
| Dec 5 | Final, 8-11 am, LSC 200 | |||