SCHEDULE IS VERY PRELIMINARY AND LIKELY TO
CHANGE!
Date |
Topic |
Reading |
Lecture notes |
Homework |
Fri Aug 30 |
Introduction |
Syllabus, Hutton Chs.1 and 2 |
|
|
Fri Sep 6 |
Basics
on Types and Functions |
Chs.
3, 4 and 6 |
||
Tue Sep 10 / |
List Comprehensions; ADTs |
Chs.
5, 8 and 9 |
||
Tue
Sep 17 / Fri Sep 20 |
Higher-order
Functions and Recursion
Patterns; Higher-order Programming |
Ch.
7 |
Quiz
1 |
PS1 and PS2
due Tuesday, |
Tue Sep 24 / Fri Sep 27 |
Ad-hoc Polymorphism and Type Classes |
Ch. 8 |
PS3 due Tuesday, |
|
Tue Oct 1 / Fri Oct 4 |
Interactive
Programming with IO; Monad type class; Maybe, List, and IO monads |
Chs.
10 and 11 |
PS4
due Tuesday, |
|
Tue Oct 8 / Fri Oct 11 |
Catch-up: Monoid, Foldable and Monad in-class exercises. |
Ch. 14 |
Quiz 2 on Tue |
|
Tue Oct 15 / Fri Oct 18 |
Lambda
Calculus; Lazy Evaluation |
Ch. 15 |
PS5
due Tuesday, Project Proposal due Tuesday |
|
Tue Oct 22 / |
Parametric Polymorphism and Simple Type
Inference |
Quiz 3 on Fri |
PS6 due Friday |
|
Tue Oct 29 / Fri Nov 1 |
Classical
Hindley Milner and Type inference in Haskell |
Start work on project this week (or earlier) |
||
Tue Nov 5 / |
The State Monad |
Ch. 12 |
Quiz 4 on Fri |
PS7 due Tuesday |
Tue Nov 12 / Fr Nov 15 |
Monadic
Parsing |
Ch.
13 |
PS8, Data.hs,
State.hs, Parser.hs, Lexer.hs,
Infer.hs, Ps8.hs Checkpoint #1: attend office hours
this week (or earlier) |
|
Tue Nov 19 / Fri Nov 22 |
More parsing and Parsec |
|||
Tue
Nov 26 |
Property
Testing; QuickCheck |
Quiz 5 on Tue |
PS8
due on Tuesday |
|
Tue Dec 3 Fri Dec 6 |
TBD |
Quiz 6 on Fri |
Checkpoint #2: attend office hours
this week (or earlier) |
|
Tue Dec 10 |
Project
presentations |
Project due 5-8 min presentation in class |