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