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
*UPDATE* (additions)
Tue: Functional Programming II (my notes) Tue: 1.1
Wed: Higher Order Procs I (my notes) 1.2 1.2 Wed: 1.3
Thu: Higher Order Procs II (my notes) Thu:
 6/30 Mon: Recursion, Efficiency, et al I (my notes) 2.1 2.1 Mon: 1.2 through 1.2.4
Tue: Recursion, Efficiency, et al. II (my notes) Tue:
Wed: Data Abstraction I (my notes) 2.2 2.2 Wed: 2.1 and 2.2.1
Thu: Data Abstraction II (my notes) Thu:
 7/7 Mon: Hierarchical Data I (my notes) 3.1 3.1 Mon: 2.2.2, 2.2.3, 2.3.1, 2.3.3 2: Picture Language
*UPDATE* (additions)
Tue: Hierarchical Data II (my notes) Tue:
Wed: Abstract Data I (my notes) 3.2 3.2 Wed: 2.4 through 2.5.2
Thu: Abstract Data II (my notes) 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) (my notes) 4.1 4.1 Mon: Reader: OOP Pt. I
Tue: Object Oriented Programming II (my notes) Tue:
Wed: Assignment, State, and Environments I (my notes) 4.2 4.2 Wed: 3.1, 3.2, Reader: OOP Pt. II
Thu: Assignment, State, and Environments II (my notes) Thu:
 7/21 Mon: Mutable Data, Queues, and Tables I (my notes) 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 (my notes) 5.2 5.2 Wed: 3.5.1-3, 3.5.5
Thu: Streams II (my notes) Thu:
Fri: Midterm 2 12:00-2:30 in 1 Pimentel (Covers weeks 3 and 4)
 7/28 Mon: Meta-Circular Evaluator I (my notes) 6.1 6.1 Mon: 4.1.1-6
Tue: Meta-Circular Evaluator II (my notes) Tue:
Wed: Meta-Circular Evaluator III 6.2 6.2 Wed:
Thu: Lazy Evaluator I (my notes) Thu: 4.2
 8/4 Mon: *UPDATED!*Lazy Evaluator II 7.1 7.1 Mon: 4: Logo
(Part 1)
Tue: Non-Deterministic Evaluator I (my notes) Tue: 4.3
Wed: Non-Deterministic Evaluator II (my notes) 7.2 7.2 Wed:
Thu: Non-Deterministic Evaluator III (my notes) Thu:
Fri: Midterm 3 12:00-2:30 in 1 Pimentel (Covers weeks 5 and 6)
 8/11 Mon: Logic Programming I (my notes) 8.1 8.1 Mon: 4.4.1 through 4.4.3
Tue: Logic Programming II (my notes) Tue:
Wed: Logic Programming III (my notes) No Lab No HW Wed:
Thu: Review Thu:
Fri: Final Exam 12:00-3:00 in 1 Pimentel (Cumulative; Emphasizes weeks 7 and 8)