Assignment and Lecture Calendar
Notes:
  • The reading for a given lecture should be done before the lecture.
  • Both homeworks for a given week are generally due at 8:00PM on the Sunday evening after they are assigned.
  • Labs are ungraded so there is no deadline.
  • All reading refers to sections in SICP unless noted otherwise.
Week Lecture Topic (and Notes) Lab Homework Reading Project
 6/23 Mon: Intro and Functional Programming I 1.1 1.1 Mon: 1: Twenty-One
Tue: Functional Programming II Tue: 1.1
Wed: Higher Order Procs I 1.2 1.2 Wed: 1.3
Thu: Higher Order Procs II Thu:
 6/30 Mon: Recursion, Efficiency, et al I 2.1 2.1 Mon: 1.2 through 1.2.4
Tue: Recursion, Efficiency, et al. II Tue:
Wed: Data Abstraction I 2.2 2.2 Wed: 2.1 and 2.2.1
Thu: Data Abstraction II Thu:
 7/7 Mon: Hierarchical Data I 3.1 3.1 Mon: 2.2.2, 2.2.3, 2.3.1, 2.3.3 2: Picture Language
Tue: Hierarchical Data II Tue:
Wed: Abstract Data I 3.2 3.2 Wed: 2.4 through 2.5.2
Thu: Abstract Data II Thu:
Fri: Midterm 1 12:00-2:30 in 1 Pimentel (Covers weeks 1 and 2)
 7/14 Mon: Object Oriented Programming I (reference manual) 4.1 4.1 Mon: Reader: OOP Pt. I
Tue: Object Oriented Programming II Tue:
Wed: Assignment, State, and Environments I 4.2 4.2 Wed: 3.1, 3.2, Reader: OOP Pt. II
Thu: Assignment, State, and Environments II Thu:
 7/21 Mon: Mutable Data, Queues, and Tables I 5.1 5.1 Mon: 3.3.1 through 3.3.3 3: Adventure Game
Tue: Mutable Data, Queues, and Tables II Tue:
Wed: Streams I 5.2 5.2 Wed: 3.4
Thu: Streams II Thu:
Fri: Midterm 2 12:00-2:30 in 1 Pimentel (Covers weeks 3 and 4)
 7/28 Mon: Meta-Circular Evaluator I 6.1 6.1 Mon: 3.5.1 through 3.5.5, skip 3.5.4
Tue: Meta-Circular Evaluator II Tue:
Wed: Meta-Circular Evaluator III 6.2 6.2 Wed: 4.1.1 through 4.1.6
Thu: Lazy and Analyzing Evaluators I Thu:
 8/4 Mon: Lazy and Analyzing Evaluators II 7.1 7.1 Mon: 4.1.7, 4.2 4: Logo
Tue: Non-Deterministic Evaluator I Tue:
Wed: Non-Deterministic Evaluator II 7.2 7.2 Wed: 4.3
Thu: Non-Deterministic Evaluator III Thu:
Fri: Midterm 3 12:00-2:30 in 1 Pimentel (Covers weeks 5 and 6)
 8/11 Mon: Logic Programming I 8.1 8.1 Mon: 4.4.1 through 4.4.3
Tue: Logic Programming II Tue:
Wed: Logic Programming III No Lab No HW Wed:
Thu: Review Thu:
Fri: Final Exam 12:00-3:00 in 1 Pimentel (Cumulative; Emphasizes weeks 7 and 8)