|
|
|
Date |
Topic |
Reading |
Assigned |
Due |
|
1 |
M |
Jan 14 |
Introduction to course |
|
|
|
|
2 |
W |
Jan 16 |
Haskell Introduction |
* Haskell
Platform |
Task #1: Get started running Haskell (not graded) |
|
|
3 |
F |
Jan 18 |
Haskell introduction continued |
|
|
|
|
|
M |
Jan 21 |
HOLIDAY |
|
|
|
|
4 |
W |
Jan 23 |
More Haskell |
|
|
|
|
5 |
F |
Jan 25 |
Expressions |
|
HW #1 |
|
|
6 |
M |
Jan 28 |
Substitution |
|
||
|
7 |
W |
Jan 30 |
First-class functions |
|
|
|
|
8 |
F |
Feb 01 |
Type classes |
How
to make ad-hoc polymorphism less ad hoc
|
|
HW #2 |
|
9 |
M |
Feb 04 |
Closures |
|
|
|
|
10 |
W |
Feb 06 |
Environment Diagrams |
|
||
|
11 |
F |
Feb 08 |
Closures and Environments |
|
|
|
|
12 |
M |
Feb 11 |
Closures and Environments |
|
|
|
|
13 |
W |
Feb 13 |
Closures and Environments |
|
|
HW #3 |
|
14 |
F |
Feb 15 |
Quiz |
|
|
|
|
15 |
M |
Feb 18 |
Recursion and fixed points |
|
|
|
|
16 |
W |
Feb 20 |
Recursive definitions |
|
||
|
17 |
F |
Feb 22 |
Laziness and Repmin |
|
|
|
|
18 |
M |
Feb 25 |
Data Abstraction & Representing data as functions |
|
|
|
|
19 |
W |
Feb 27 |
Recursion completed |
|
|
HW#4 Due |
|
20 |
F |
Mar 01 |
|
|
HW #5: Diagram for Book (see Piazza.com for details) |
|
|
21 |
M |
Mar 04 |
Review diagrams |
|
|
|
|
22 |
W |
Mar 06 |
GDC Opening, optional half-semester review |
|
|
|
|
23 |
F |
Mar 08 |
Midterm |
|
|
HW#5 Due |
|
|
M |
Mar 11 |
SPRING BREAK |
|
|
|
|
|
W |
Mar 13 |
SPRING BREAK |
|
|
|
|
|
F |
Mar 15 |
SPRING BREAK |
|
|
|
|
24 |
M |
Mar 18 |
Error Propagation |
Chapter 5.1 of AoPL |
|
|
|
25 |
W |
Mar 20 |
Mutable State (part 1) |
Chapter 5.2 of AoPL |
HW #6: Error Handling (Exercise 5.1.1 and 5.1.2 of AoPL) Optional HW #OPT |
|
|
26 |
F |
Mar 22 |
Mutable State (part 2) |
|
|
|
|
27 |
M |
Mar 25 |
Monads |
Chapter 5.3 of AoPL |
|
|
|
28 |
W |
Mar 27 |
Monads 2 |
|
HW#6 Due |
|
|
29 |
F |
Mar 29 |
Parsing |
|
|
|
|
30 |
M |
Apr 01 |
Parsing: precedence & associativity |
|
|
|
|
31 |
W |
Apr 03 |
Objects |
|
HW#7 (See piazza or email for details) |
|
|
32 |
F |
Apr 05 |
(no class, sick) |
|
|
HW#7 due in class |
|
33 |
M |
Apr 08 |
Objects |
|
|
|
|
34 |
W |
Apr 10 |
Objects |
|
|
|
|
35 |
F |
Apr 12 |
Inheritance |
HW#8 MiniJS Part 1 |
|
|
|
36 |
M |
Apr 15 |
Typing |
|
|
|
|
37 |
W |
Apr 17 |
Typing |
|
|
|
|
38 |
F |
Apr 19 |
Typing |
|
|
|
|
39 |
M |
Apr 22 |
|
|
HW#9 MiniJS Part 2 |
|
|
40 |
W |
Apr 24 |
Records and “this” |
|
|
|
|
41 |
F |
Apr 26 |
Sequences of commands and Mutable State |
|
HW#8 Due at 5pm |
|
|
42 |
M |
Apr 29 |
JavaScript monad |
|
|
|
|
43 |
W |
May 01 |
|
|
|
|
|
44 |
F |
May 03 |
Course review for final |
|
|
HW#9 Due at 5pm |