1/17 
Logistics 

Course Introduction and Logistics 
1/17 
Lecture 
L0 
Introduction to Racket and Dr. Racket (video) (Slides) 
1/19 
Lecture 
L1 
Forms and Callsites and Definitions and the Environment (Slides) 
1/24 
Lecture 
L2 
Textual Reduction and Case Splitting and Lists Intro (Slides) 
1/17 – 1/24 
Reading 
R0 
SICP sections 1 through 1.1.5 (stop before 1.1.6) 
1/26 
Lecture 
L3 
(Kris gone)  Racket Practice Exercise 
1/31 
Lecture 
L4 
Recursion over Lists 
1/31 
Reading 
R1 
SICP sections 1.1.6 and 1.2 up to 1.2.3 
1/31 
Project 
P1 
ASCII Art  Released 
2/2 
Lecture 
L5 
Lambdas (Slides) 
2/7 
Lecture 
L6 
No lectureKris at AAAI 
2/9 
Lecture 
L7 
Cons Diagrams and Boxes (Slides) and Mapping Over Lists (Slides) 
Week of 2/6 
Reading 
R2 
SICP section 1.3 and 2.1 
2/14 
Lecture 
L8 
Quasiquoting and Pattern Matching (Slides) 
2/15 
Project 
P1 
PROJECT 1 DEADLINE 
2/15 
Project 
P2 
Transitive Closure  Released 
2/16 
Lecture 
L9 
Tail Calls and Tail Recursion (Slides) 
Week of 2/13 
Reading 
R3 
SICP sections 2.2 and 2.3 
2/21 
Lecture 
L10 
Practicing Tail Recursion (no slides) and Folding over Lists (Slides) 
2/23 
Lecture 
L11 
Interpreting IfArith (Code) 
2/28 
Lecture 
L12 
Natural Deduction for IfArith (Slides for L11/12) 
3/1 
Project 
P2 
PROJECT 2 DEADLINE 
3/2 
Lecture 
L13 
SmallStep Semantics of IfArith, review of topics so far. 
3/7 
Lecture 
L14 
Review for Midterm 1 
3/9 
Exam 
M1 
Midterm 1 (in class, 15%) 
3/14 & 3/16 


Spring Break 
3/21 
Lecture 
L15 
Lambda Calculus Introduction (Slides) 
3/23 
Lecture 
L16 
Lambda Calculus: Reductions and Substitution (Slides) 
3/28 
Lecture 
L17 
Reduction Strategies (Slides) 
3/30 
Lecture 
L18 
ClosureCreating Interpreters 
4/4 
Lecture 
L19 
Church Numerals 
4/6 
Lecture 
L20 
Church Encoding (Slides) 
4/11 
Lecture 
L21 
Fixed Points, Y/U combinators and Continuations (Slides) 
4/13 
Lecture 
L22 
SimplyTyped Lambda Calculus (Slides) 
4/18 
Lecture 
L23 
Review for Midterm 2 
4/20 
Exam 
M2 
Midterm 2 (in class, 15%) 
4/25 
Lecture 
L25 
ObjectOriented Programming and Polymorphism 
4/27 
Lecture 
L26 
FullyVerified Programming, Neurosymbolic AI, course wrapup 