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 |
|---|---|---|---|---|
| Jan 5 | Intro | Ch. 1; Learn Haskell in 10 minutes | SA-0 | |
| Jan 7 | List processing | How to work on lists; Prelude docs | ||
| Jan 10 | Recursion, pattern matching | SA-1 | SA-0 | |
| Jan 11 (x) | Data, representing shapes | Ch. 2 | SA-2 | SA-1 |
| Jan 12 | I/O, graphics, drawing shapes | Ch. 3, 4 | SA-3,PS-1 | SA-2 |
| Jan 14 | Polymorphism | Sec. 5.1, 5.2 | SA-3 | |
| Jan 17 | MLK holiday | |||
| Jan 19 | List functions, function functions | Sec. 5.3-5.6, Ch. 9 | SA-4,PS-2 | PS-1 |
| Jan 21 | ADTs | SA-5 | SA-4 | |
| Jan 24 | Trees | Ch. 7 | SA-6 | SA-5 |
| Jan 26 | Iteration (motifs) | PS-3 | PS-2 | |
| Jan 28 | Induction | Ch. 11 | SA-6 | |
| Jan 31 | Induction, cont. | SA-7 | ||
| Feb 2 | Search (Sudoku) | PS-4 | PS-3 | |
| Feb 4 | Databases | SA-8 | SA-7 | |
| Feb 6 | Review session, 4pm, 115 Sudikoff | practice exams on blackboard | ||
| Feb 7 | Graph search; stacks and queues | |||
| Midterm, 7-10pm, 008 Kemeny | ||||
| Feb 9 | Intro to parsing | PS-5 | SA-8,PS-4 | |
| Feb 11 | Winter carnival | |||
| Feb 14 | Parsing sentences | |||
| Feb 15 (x) | Parsing expressions | SA-9 | ||
| Feb 16 | Regions and pictures | Ch. 8, 10 | PS-6 | PS-5 |
| Feb 18 | Region extensions; interaction | SA-10 | SA-9 | |
| Feb 21 | Intro to streams | Ch. 14 | SA-10 | |
| Feb 23 | Digital logic streams | SA-11,PS-7 | PS-6 | |
| Feb 25 | Computational streams | |||
| Feb 28 | Intro to monads | Sec. 18.2 | SA-11 | |
| Mar 2 | List, IO, and state monads | Sec. 18.3, 18.4 | SA-12 | |
| Mar 4 | Memoization | PS-7 | ||
| Mar 7 | Concurrency | SA-13 | SA-12 | |
| Mar 8 (x) | Eat pizza, talk about CS | |||
| Mar 9 | Concurrency: transactions | Beautiful concurrency | SA-13 | |
| Mar 11 | Review session, 3pm, 115 Sudikoff | practice exams on blackboard | ||
| Mar 14 | Final, 8-11am, 007 Kemeny | |||