|
Date |
Required Reading and Exercises |
Optional Reading |
| Week 1 |
|
09-28-20 |
Term not in session |
|
| 1 |
09-30-20 |
Introduction |
Introduction
|
| 2 |
10-02-20 |
Lists |
Lists
|
| Week 2 |
| 3 |
10-05-20 |
Algebraic Data Types |
User-Defined Types
|
| 4 |
10-07-20 |
Functions |
Functions
|
| 5 |
10-09-20 |
Type Classes |
Type Classes,
Types of Types
|
| Week 3 |
| 6 |
10-12-20 |
Introduction to Haskell IO |
Input/Output
|
| 7 |
10-14-20 |
Records, newtype, and List Comprehensions
|
Records,
newtype,
List Comprehensions
|
| 8 |
10-16-20 |
Maybe Monad is Not So Scary
and Exercises |
| Week 4 |
| 9 |
10-19-20 |
Functors |
Functors
|
| 10 |
10-21-20 |
Applicative |
Applicative
|
| 11 |
10-23-20 |
Monads |
Monads
|
| Week 5 |
| 12 |
10-26-20 |
Concrete Monads: IO |
Input/Output (continued)
The Animal Game (extended code example)
|
| 13 |
10-28-20 |
Monoids |
| 14 |
10-30-20 |
Concrete Monads: Writer, Reader |
Writer and Reader
|
| Week 6 |
| 15 |
11-02-20 |
Concrete Monads: State, I |
Stateful Functions
|
| 16 |
11-04-20 |
Concrete Monads: State, II |
Stateful Functions (continued)
Scalability
|
|
11-06-20 |
Midterm Exam |
| Week 7 |
| 17 |
11-09-20 |
Intro to Functional Parsers |
Functional Parsing
|
| 18 |
11-11-20 |
Practical Parsing |
Functional Parsing (continued)
|
| 19 |
11-13-20 |
Foldable, Traversable |
Foldable,
Traversable
|
| Week 8 |
| 20 |
11-16-20 |
Monad Transformers
and Exercises
|
| 21 |
11-18-20 |
Monad Transformers (continued)
and
NState Example: Sudoku
|
| 22 |
11-20-20 |
Seq, and All That |
| Study Week |
|
11-23-20 |
Term not in session |
|
|
11-25-20 |
Term not in session |
|
|
11-27-20 |
Term not in session |
|
| Week 9 |
| 23 |
11-30-20 |
Propositional Logic: Preliminaries |
| 24 |
12-02-20 |
Propositional Logic: Tautology Checker |
| 25 |
12-04-20 |
Propositional Logic: Quine Prover |
| Final Exam Week |
|
12-09-20 (Wed) - 12-10-20 (Thu) — Final Exam |