Num |
Day |
Date |
Topics Covered |
Notes and Readings |
PSML Chapters |
1 |
Tu |
17 Jan |
Overview of 150! |
notes, missive |
|
2 |
Th |
19 Jan |
SML Basics |
notes, "The
Rhythm of Education" |
2,3,4 |
|
3 |
Tu |
24 Jan |
Programming and Proving I: Numbers |
notes
, SML code |
25, 26 |
4 |
Th |
26 Jan |
Programming and Proving II: Lists |
notes |
24, 25, 26 |
|
5 |
Tu |
31 Jan |
Asymptotic Analysis |
notes, SML code |
8,9 |
6 |
Th |
2 Feb |
Sequential Sorting |
notes,
SML code
|
9,10 |
|
7 |
Tu |
7 Feb |
Parallel Sorting |
notes
, SML code
|
10 |
8 |
Th |
9 Feb |
Polymorphism; Specs/Checks; Datatypes |
notes
, SML code |
10 |
|
9 |
Tu |
14 Feb |
Datatypes; Functions as Arguments |
notes,
code,
shapes
|
11 |
10 |
Th |
16 Feb |
Higher-order Functions |
notes,
SML code
|
11, 30 |
|
11 |
Tu |
21 Feb |
Tail Recursion; Continuations |
notes, SML code |
1, 29 |
13 |
Th |
23 Feb |
Regular Expression Matching |
notes,
SML code
|
1, 11, 29, 30 |
|
13 |
Tu |
28 Feb |
Regular Expression Matching II |
notes,
SML code
|
12, 29 |
14 |
Th |
1 Mar |
Regular Expression Matching III; Staging |
notes,
SML code
|
11,29 |
|
15 |
Tu |
6 Mar |
Exceptions |
notes,
SML code
|
|
16 |
Th |
8 Mar |
MIDTERM |
|
|
|
|
17 |
Tu |
20 Mar |
Cost Semantics, Sequences |
notes |
|
18 |
Th |
22 Mar |
n-body Simulation |
notes, see HW7
for code |
|
|
19 |
Tu |
27 Mar |
Modules I: Signatures, Structures, Type Abstraction |
notes,
SML code |
18, 19, 20 |
20 |
Th |
29 Mar |
Modules II: Dictionaries using Type Classes and Functors |
notes,
SML code |
21, 23 |
|
|
21 |
Tu |
3 Apr |
Red-Black Trees |
notes, code |
|
22 |
Th |
5 Apr |
Game I |
notes, see HW9 for code |
|
|
23 |
Tu |
10 Apr |
Game II, IO |
notes, see HW9 for code |
|
24 |
Th |
12 Apr |
Scheduling; Parallelism and Effects |
notes,
code |
|
|
25 |
Tu |
17 Apr |
Parallelism and Effects II |
notes,
code |
|
26 |
Th |
19 Apr |
No Class: Carnival |
|
|
|
27 |
Tu |
24 Apr |
Mutation; Persistent and emphemeral data structures |
notes |
|
28 |
Th |
26 Apr |
Benign Effects |
notes, code is in git |
|
|
29 |
Tu |
1 May |
Processes and Streams |
code in git |
|
30 |
Th |
3 May |
What kind of day has it been? |
notes |
|