| Week |
Date |
Topic |
Book Chapter(s) |
A/V |
Kliks |
Assignments |
| 1 |
Mon 01/12 |
Syllabus, Introduction |
|
|
|
Info assigned |
|
Wed 01/14 |
types and functions, FP Complete Site |
LYAH Chapters 1-4 |
|
|
|
|
Fri 01/16 |
|
|
|
|
Info due |
| 2 |
Mon 01/19 |
Martin Luther King Holiday |
|
|
|
|
|
Wed 01/21 |
Recursive and higher-order functions, Problems 1-10, Problems 11-20 |
LYAH Ch 5-6 |
|
|
Functions assigned |
| 3 |
Mon 01/26 |
Modules, types, and type classes |
LYAH Ch 7-8 |
Audio Video |
|
Functions due |
|
Wed 01/28 |
Types and type classes, continued |
LYAH Ch 8 |
Audio Video |
|
Functors assigned |
| 4 |
Mon 02/02 |
Input-output: our first monad |
LYAH Ch 9 |
Audio Video |
|
Functors due |
|
Wed 02/04 |
More types, https://github.com/bitemyapp/learnhaskell |
LYAH Ch 11 (read Ch 10 for fun) |
Audio Video |
|
Lenses assigned |
| 5 |
Mon 02/09 |
Monads |
LYAH Ch 12 |
Audio Video |
|
Lenses due |
|
Wed 02/11 |
More monads, Interesting StackOverflow Discussion of Reader Monad |
LYAH Ch 13 |
Audio Video |
|
Finite Automata assigned |
| 6 |
Mon 02/16 |
Presidents' Day Class Holiday |
|
|
|
Finite Automata due |
|
Wed 02/18 |
Exam review and code workshop |
|
Audio Video |
|
|
| 7 |
Mon 02/23 |
Midterm Exam |
|
|
|
|
|
Wed 02/25 |
Language ecosystem - Hackage, hoogle, cabal, etc., How to write a Haskell Program |
|
Audio Video |
|
|
| 8 |
Mon 03/02 |
Grammars and parsing, Parser Combinators: Parsec, Happy example |
|
Audio Video |
|
|
|
Wed 03/04 |
Hindley-Milner type analysis, In-class notes |
|
Audio Video |
|
|
| 9 |
Mon 03/09 |
Union-find, Unification |
|
Audio Video |
|
|
|
Wed 03/11 |
Finish type analysis, Haskell Diagrams - compositionality using monoids |
|
Audio Video |
|
|
| Spring Break |
Mon 03/16 |
Spring Break |
|
|
|
|
| 10 |
Mon 03/23 |
Strict vs non-strict semantics, lazy vs eager evaluation |
|
Audio Video |
|
|
|
Wed 03/25 |
Denotational semantics |
|
Audio Video |
|
|
| 11 |
Mon 03/30 |
The awkward squad (Paper) |
|
Audio Video |
|
|
|
Wed 04/01 |
The awkward squad (Paper) |
|
Audio Video |
|
|
| 12 |
Mon 04/06 |
Garbage collection, Concurrency and STM, None |
|
Audio Video |
|
|
|
Wed 04/08 |
Why Category Theory?, Category Theory |
|
Audio Video |
|
|
| 13 |
Mon 04/13 |
Note date change-April 15: paper presentations, Chris, Josh |
|
|
|
|
|
Wed 04/15 |
Note date change-April 17: paper presentations, Daniel, Chin-Wei |
|
|
|
|
| 14 |
Mon 04/20 |
Gabe (paper) and Josh (project) presentations |
|
|
|
|
|
Wed 04/22 |
Daniel (project) and Julio (paper) presentations |
|
|
|
|
| 15 |
Mon 04/27 |
Chris and Gabe (project) presentations |
|
|
|
|
|
Wed 04/29 |
Julio and Chin-Wei (project) presentations |
|
|
|
|
| Finals week |
Mon 05/04 |
Tentative - Fri, May 8, Final Exam 8:00-10:00 AM |
|
|
|
|