| 1/25 |
Logistics |
|
Course Introduction and Logistics |
| 1/25 |
Lecture |
L0 |
Introduction to Racket and Dr. Racket |
| 1/27 |
Lecture |
L1 |
Racket Forms and Callsites |
| 1/27 |
Lecture |
L2 |
Definitions and the Environment |
| 1/25 – |
Reading |
R0 |
SICP sections 1 through 1.1.5 (stop before 1.1.6) |
| 2/1 |
Lecture |
L3 |
Textual Reduction |
| 2/3 |
Lecture |
L4 |
Case Splitting and Lists Intro |
| 2/3 |
Lecture |
L5 |
Recursion over Lists |
| 2/3 |
Logistics |
|
Using the Autograder |
| 2/3 |
Project |
P1 |
Tic-Tac-Toe |
| 2/1 – |
Reading |
R1 |
SICP sections 1.1.6 and 1.2 up to 1.2.3 |
| 2/8 |
Lecture |
L6 |
Lambdas |
| 2/10 |
Lecture |
L7 |
Cons Diagrams and Boxes |
| 2/10 |
Lecture |
L8 |
Mapping Over Lists |
| 2/8 – |
Reading |
R2 |
SICP section 1.3 and 2.1 |
| 2/15 |
Lecture |
L9 |
Quasiquoting and Pattern Matching |
| 2/15 |
Lecture |
L10 |
Tail Calls and Tail Recursion |
| 2/17 |
Quiz |
Q1 |
In-Person Quiz 1 |
| 2/15 – |
Reading |
R3 |
SICP sections 2.2 and 2.3 |
| 2/22 |
Lecture |
L11 |
Practicing Tail Recursion |
| 2/22 |
Lecture |
L12 |
Folding over Lists |
| 2/26 |
Project |
P2 |
PageRank |
| 3/1 |
Lecture |
L13 |
Interpreting IfArith |
| 3/1 |
Lecture |
L14 |
Natural Deduction for IfArith |
| 3/3 |
Lecture |
L15 |
Small-Step Semantics of IfArith |
| 3/8 |
Lecture |
L16 |
Lambda Calculus Introduction |
| 3/8 |
Lecture |
L17 |
Lambda Calculus: Reductions and Substitution |
| 3/10 |
Quiz |
Q2 |
In-Person Quiz 2 |
| 3/22 |
Lecture |
L18 |
Reduction Strategies |
| 3/22 |
Lecture |
L19 |
Closure-Creating Interpreters |
| 3/29 |
Lecture |
L20 |
Church Numerals |
| 3/31 |
Lecture |
L21 |
Fixed Points |
| 3/31 |
Project |
P3 |
Definitional Interpreter for Scheme (L19) |
| 4/5 |
Lecture |
L22 |
Continuations |
| 4/7 |
Quiz |
Q3 |
In-Person Quiz 3 |
| 4/12 |
Lecture |
L23 |
Review Day |
| 4/14 |
Lecture |
L24 |
Simply-Typed Lambda Calculus |
| 4/19 |
Lecture |
L24 |
Types Contd. |
| 4/19 |
Project |
P4 |
Church Encoding |
| 4/21 |
Quiz |
Q3 |
In-Person Quiz 4 |
| 4/26 |
Lecture |
L25 |
Exam Review / Practice |
| 4/28 |
Lecture |
L26 |
Objects |
| 5/3 |
Lecture |
L27 |
Course Wrapup |
| 5/9 |
Exam |
F |
5:15-7:15Final (normal room, 120min, comprehensive) |