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