Lecture #
Day
Date
Topic
Reading
Notes
1
T
11 Jan
Introduction; Evaluation & Typing
Chapter 1
Lecture 1
Recitation
W
12 Jan
Practice; Style; Hints.
2
R
13 Jan
Binding, Scope, Functions
Chapter 2
Lecture 2
3
T
18 Jan
Recursion & Induction
see Notes
Lecture 3
Recitation
W
19 Jan
Scoping in recursive functions; Complete induction.
4
R
20 Jan
Datatypes & Patterns; Lists
Chapters 3, 5, 7.1-7.5
Lecture 4
5
T
25 Jan
Structural Induction and Tail Recursion
Chapter 17
Lecture 5
Recitation
W
26 Jan
Lists; Equality types.
6
R
27 Jan
Higher Order Functions and Staged Computation
Chapter 9
Lecture 6
7
T
1 Feb
Data Structures
Chapters 8, 10, 11.1-11.3
Lecture 7
Recitation
W
2 Feb
Currying, folding, and mapping.
8
R
3 Feb
Representation Invariants
as above
Lecture 8
Recitation
W
9 Feb
Tail Recursion vs Continuations.
10
R
10 Feb
Regular Expressions
see Notes
Lecture 10
11
T
15 Feb
Review
Recitation
W
16 Feb
Practice for the midterm.
Recitation
W
23 Feb
Searching, failing, and stopping early.
13
R
24 Feb
Exceptions, n-Queens
Sections 7.6-7.7
Lecture 13
14
T
1 Mar
Functors and Substructures
Chapter 11
Lecture 14
Recitation
W
2 Mar
Ascription, where, and functors.
-
T
8 Mar
No Class (Spring Break)
-
W
9 Mar
No Recitation (Spring Break)
-
R
10 Mar
No Class (Spring Break)
16
T
15 Mar
Mutation and State
Chapter 18, 5.5
Lecture 16
Recitation
W
16 Mar
Arrays and mutable state.
17
R
17 Mar
Ephemeral Data Structures
as in previous lecture
Lecture 17
18
T
22 Mar
Streams, Demand-Driven Computation
Chapter 14
Lecture 18
Recitation
W
23 Mar
Operations on streams; Sequences and flip-flops.
19
R
24 Mar
Streams, Laziness and Memoization
Lecture 19
20
T
29 Mar
Lexical Analysis & Grammars
also look at next lecture
Lecture 20
Recitation
W
30 Mar
Languages
21
R
31 Mar
Grammars & Parsing
also look at next lecture
Lecture 21
22
T
5 Apr
Evaluation, Interpreters, and Recursion
see code for lectures 23&24
Lecture 22
Recitation
W
6 Apr
TBA
Recitation
W
13 Apr
TBA
-
R
14 Apr
No Class (Spring Carnival Break)
25
T
19 Apr
Computability, Part I
see Notes
Lecture 25
Recitation
W
20 Apr
Decidability, tractability, and tiling.
26
R
21 Apr
Computability, Part II
see lecture 25 material
none
27
T
26 Apr
Review for the FINAL
Recitation
W
27 Apr
Review for the FINAL
28
R
28 Apr
Categories, Topology, and Adversarial Games