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.
  • Lab checkoffs are generally done during that lab.
  • All reading refers to sections in SICP unless noted otherwise.
  • This schedule, and the material contained herein, is always subject to change.
  • Be sure to check the errata page for updates on assignments.
Week Lecture Topic (and Notes) Lab HW Reading Project
 6/20 Mon: <##linkIfExists("miscellaneous/courseinfo.pdf", "Intro")#> and <##linkIfExists("readernotes/readernotes1.1.pdf", "Functional Programming")#> I <##linkIfExistsAltText("lecturenotes/lecnotes1.1.1.ppt", "ppt", "")#> <##linkIfExistsAltText("lecturenotes/lecnotes1.1.1.scm", "scm", "")#> <##linkIfExistsAltText("lecturenotes/lecnotes1.1.1.pdf", "pdf", "")#> <##linkIfExists("labs/lab1.1.pdf","1.1")#> <##linkIfExists("homeworks/hw1.1.pdf", "1.1")#> Mon: 1: <##linkIfExists("projects/proj1.pdf", "21")#>
Tue: Functional Programming II <##linkIfExistsAltText("lecturenotes/lecnotes1.1.2.ppt", "ppt", "")#> <##linkIfExistsAltText("lecturenotes/lecnotes1.1.2.scm", "scm", "")#> <##linkIfExistsAltText("lecturenotes/lecnotes1.1.2.pdf", "pdf", "")#> Tue: 1.1
Wed: <##linkIfExists("readernotes/readernotes1.2.pdf","Higher Order Procs")#> I <##linkIfExistsAltText("lecturenotes/lecnotes1.2.1.ppt", "ppt", "")#> <##linkIfExistsAltText("lecturenotes/lecnotes1.2.1.scm", "scm", "")#> <##linkIfExistsAltText("lecturenotes/lecnotes1.2.1.pdf", "pdf", "")#> <##linkIfExists("labs/lab1.2.pdf", "1.2")#> <##linkIfExists("homeworks/hw1.2.pdf","1.2")#> Wed: 1.3
Thu: Higher Order Procs II <##linkIfExistsAltText("lecturenotes/lecnotes1.2.2.ppt", "ppt", "")#> <##linkIfExistsAltText("lecturenotes/lecnotes1.2.2.scm", "scm", "")#> <##linkIfExistsAltText("lecturenotes/lecnotes1.2.2.pdf", "pdf", "")#> Thu:
 6/27 Mon: <##linkIfExists("readernotes/readernotes2.1.pdf", "Recursion, Efficiency, et al")#> I <##linkIfExistsAltText("lecturenotes/lecnotes2.1.1.ppt", "ppt", "")#> <##linkIfExistsAltText("lecturenotes/lecnotes2.1.1.scm", "scm", "")#> <##linkIfExistsAltText("lecturenotes/lecnotes2.1.1.pdf", "pdf", "")#> <##linkIfExists("labs/lab2.1.pdf","2.1")#> <##linkIfExists("homeworks/hw2.1.pdf", "2.1")#> Mon: 1.2 through 1.2.4
Tue: Recursion, Efficiency, et al. II <##linkIfExistsAltText("lecturenotes/lecnotes2.1.2.ppt", "ppt", "")#> <##linkIfExistsAltText("lecturenotes/lecnotes2.1.2.scm", "scm", "")#> <##linkIfExistsAltText("lecturenotes/lecnotes2.1.2.pdf", "pdf", "")#> Tue:
Wed: <##linkIfExists("readernotes/readernotes2.2.pdf", "Data Abstraction")#> I <##linkIfExistsAltText("lecturenotes/lecnotes2.2.1.ppt", "ppt", "")#> <##linkIfExistsAltText("lecturenotes/lecnotes2.2.1.scm", "scm", "")#> <##linkIfExistsAltText("lecturenotes/lecnotes2.2.1.pdf", "pdf", "")#> <##linkIfExists("labs/lab2.2.pdf", "2.2")#> <##linkIfExists("homeworks/hw2.2.pdf", "2.2")#> Wed: 2.1 and 2.2.1
Thu: Data Abstraction II <##linkIfExistsAltText("lecturenotes/lecnotes2.2.2.ppt", "ppt", "")#> <##linkIfExistsAltText("lecturenotes/lecnotes2.2.2.scm", "scm", "")#> <##linkIfExistsAltText("lecturenotes/lecnotes2.2.2.pdf", "pdf", "")#> Thu:
 7/4 Mon: Holiday <##linkIfExistsAltText("lecturenotes/lecnotes3.1.1.ppt", "ppt", "")#> <##linkIfExistsAltText("lecturenotes/lecnotes3.1.1.scm", "scm", "")#> <##linkIfExistsAltText("lecturenotes/lecnotes3.1.1.pdf", "pdf", "")#> <##linkIfExists("labs/lab3.1.pdf", "3.1")#> <##linkIfExists("homeworks/hw3.1.pdf", "3.1")#> Mon: 2: <##linkIfExists("projects/proj2.pdf", "Painter")#>
Tue: <##linkIfExists("readernotes/readernotes3.1.pdf", "Hierarchical Data")#> <##linkIfExistsAltText("lecturenotes/lecnotes3.1.2.ppt", "ppt", "")#> <##linkIfExistsAltText("lecturenotes/lecnotes3.1.2.scm", "scm", "")#> <##linkIfExistsAltText("lecturenotes/lecnotes3.1.2.pdf", "pdf", "")#> Tue: 2.2.2, 2.2.3, 2.3.1, 2.3.3
Wed: <##linkIfExists("readernotes/readernotes3.2.pdf", "Abstract Data")#> I <##linkIfExistsAltText("lecturenotes/lecnotes3.2.1.ppt", "ppt", "")#> <##linkIfExistsAltText("lecturenotes/lecnotes3.2.1.scm", "scm", "")#> <##linkIfExistsAltText("lecturenotes/lecnotes3.2.1.pdf", "pdf", "")#> <##linkIfExists("labs/lab3.2.pdf", "3.2")#> <##linkIfExists("homeworks/hw3.2.pdf","3.2")#> Wed: 2.4 through 2.5.2
Thu: Abstract Data II <##linkIfExistsAltText("lecturenotes/lecnotes3.2.2.ppt", "ppt", "")#> <##linkIfExistsAltText("lecturenotes/lecnotes3.2.2.scm", "scm", "")#> <##linkIfExistsAltText("lecturenotes/lecnotes3.2.2.pdf", "pdf", "")#> Thu:
Fri: Midterm 1 12:00-2:30 in 100 Lewis (Strongly emphasizes weeks 1 and 2)
 7/11 Mon: <##linkIfExists("readernotes/readernotes4.1.pdf","Object Oriented Programming")#> I <##linkIfExists("readernotes/oop/oop-refman.pdf", "(reference)")#> <##linkIfExistsAltText("lecturenotes/lecnotes4.1.1.ppt", "ppt", "")#> <##linkIfExistsAltText("lecturenotes/lecnotes4.1.1.scm", "scm", "")#> <##linkIfExistsAltText("lecturenotes/lecnotes4.1.1.pdf", "pdf", "")#> <##linkIfExists("labs/lab4.1.pdf", "4.1")#> <##linkIfExists("homeworks/hw4.1.pdf", "4.1")#> Mon: Reader: <##linkIfExists("readernotes/oop/oop-aboveline.pdf","OOP Pt. I")#>
Tue: Object Oriented Programming II <##linkIfExistsAltText("lecturenotes/lecnotes4.1.2.ppt", "ppt", "")#> <##linkIfExistsAltText("lecturenotes/lecnotes4.1.2.scm", "scm", "")#> <##linkIfExistsAltText("lecturenotes/lecnotes4.1.2.pdf", "pdf", "")#> Tue:
Wed: <##linkIfExists("readernotes/readernotes4.2.pdf", "Assignment, State, and Environments")#> I <##linkIfExistsAltText("lecturenotes/lecnotes4.2.1.ppt", "ppt", "")#> <##linkIfExistsAltText("lecturenotes/lecnotes4.2.1.scm", "scm", "")#> <##linkIfExistsAltText("lecturenotes/lecnotes4.2.1.pdf", "pdf", "")#> <##linkIfExists("labs/lab4.2.pdf", "4.2")#> <##linkIfExists("homeworks/hw4.2.pdf", "4.2")#> Wed: 3.1, 3.2, Reader: <##linkIfExists("readernotes/oop/oop-belowline.pdf","OOP Pt. II")#>
Thu: Assignment, State, and Environments II <##linkIfExistsAltText("lecturenotes/lecnotes4.2.2.ppt", "ppt", "")#> <##linkIfExistsAltText("lecturenotes/lecnotes4.2.2.scm", "scm", "")#> <##linkIfExistsAltText("lecturenotes/lecnotes4.2.2.pdf", "pdf", "")#> Thu:
 7/18 Mon: <##linkIfExists("readernotes/readernotes5.1.pdf", "Mutable Data, Vectors, and Tables")#> I <##linkIfExistsAltText("lecturenotes/lecnotes5.1.1.ppt", "ppt", "")#> <##linkIfExistsAltText("lecturenotes/lecnotes5.1.1.scm", "scm", "")#> <##linkIfExistsAltText("lecturenotes/lecnotes5.1.1.pdf", "pdf", "")#> <##linkIfExists("labs/lab5.1.pdf", "5.1")#> <##linkIfExists("homeworks/hw5.1.pdf", "5.1")#> Mon: 3.3.1 through 3.3.3 3: <##linkIfExists("projects/proj3.pdf", "Adventure")#>
Tue: Mutable Data, Vectors, and Tables II <##linkIfExistsAltText("lecturenotes/lecnotes5.1.2.ppt", "ppt", "")#> <##linkIfExistsAltText("lecturenotes/lecnotes5.1.2.scm", "scm", "")#> <##linkIfExistsAltText("lecturenotes/lecnotes5.1.2.pdf", "pdf", "")#> Tue:
Wed: <##linkIfExists("readernotes/readernotes5.2.pdf", "Streams")#> I <##linkIfExistsAltText("lecturenotes/lecnotes5.2.1.ppt", "ppt", "")#> <##linkIfExistsAltText("lecturenotes/lecnotes5.2.1.scm", "scm", "")#> <##linkIfExistsAltText("lecturenotes/lecnotes5.2.1.pdf", "pdf", "")#> <##linkIfExists("labs/lab5.2.pdf", "5.2")#> <##linkIfExists("homeworks/hw5.2.pdf", "5.2")#> Wed: 3.5.1-3, 3.5.5
Thu: Streams II <##linkIfExistsAltText("lecturenotes/lecnotes5.2.2.ppt", "ppt", "")#> <##linkIfExistsAltText("lecturenotes/lecnotes5.2.2.scm", "scm", "")#> <##linkIfExistsAltText("lecturenotes/lecnotes5.2.2.pdf", "pdf", "")#> Thu:
Fri: Midterm 2 12:00-2:30 in 100 Lewis (Strongly emphasizes weeks 3 and 4)
 7/25 Mon: <##linkIfExists("readernotes/readernotes6.1.pdf", "Meta-Circular Evaluator")#> I <##linkIfExistsAltText("lecturenotes/lecnotes6.1.1.ppt", "ppt", "")#> <##linkIfExistsAltText("lecturenotes/lecnotes6.1.1.scm", "scm", "")#> <##linkIfExistsAltText("lecturenotes/lecnotes6.1.1.pdf", "pdf", "")#> <##linkIfExists("labs/lab6.1.pdf", "6.1")#> <##linkIfExists("homeworks/hw6.1.pdf", "6.1")#> Mon: 4.1.1-6
Tue: Meta-Circular Evaluator II <##linkIfExistsAltText("lecturenotes/lecnotes6.1.2.ppt", "ppt", "")#> <##linkIfExistsAltText("lecturenotes/lecnotes6.1.2.scm", "scm", "")#> <##linkIfExistsAltText("lecturenotes/lecnotes6.1.2.pdf", "pdf", "")#> Tue:
Wed: Meta-Circular Evaluator III <##linkIfExistsAltText("lecturenotes/lecnotes6.2.1.ppt", "ppt", "")#> <##linkIfExistsAltText("lecturenotes/lecnotes6.2.1.scm", "scm", "")#> <##linkIfExistsAltText("lecturenotes/lecnotes6.2.1.pdf", "pdf", "")#> <##linkIfExists("labs/lab6.2.pdf", "6.2")#> <##linkIfExists("homeworks/hw6.2.pdf", "6.2")#> Wed:
Thu: <##linkIfExists("readernotes/readernotes6.2.pdf", "Lazy Evaluator")#> I <##linkIfExistsAltText("lecturenotes/lecnotes6.2.2.ppt", "ppt", "")#> <##linkIfExistsAltText("lecturenotes/lecnotes6.2.2.scm", "scm", "")#> <##linkIfExistsAltText("lecturenotes/lecnotes6.2.2.pdf", "pdf", "")#> Thu: 4.2
 8/1 Mon: Lazy Evaluator II <##linkIfExistsAltText("lecturenotes/lecnotes7.1.1.ppt", "ppt", "")#> <##linkIfExistsAltText("lecturenotes/lecnotes7.1.1.scm", "scm", "")#> <##linkIfExistsAltText("lecturenotes/lecnotes7.1.1.pdf", "pdf", "")#> <##linkIfExists("labs/lab7.1.pdf", "7.1")#> <##linkIfExists("homeworks/hw7.1.pdf", "7.1")#> Mon: 4: <##linkIfExists("projects/proj4.pdf", "Logo")#>
Tue: <##linkIfExists("readernotes/readernotes7.2.pdf", "Non-Deterministic Evaluator")#> I <##linkIfExistsAltText("lecturenotes/lecnotes7.1.2.ppt", "ppt", "")#> <##linkIfExistsAltText("lecturenotes/lecnotes7.1.2.scm", "scm", "")#> <##linkIfExistsAltText("lecturenotes/lecnotes7.1.2.pdf", "pdf", "")#> Tue: 4.3
Wed: Non-Deterministic Evaluator II <##linkIfExistsAltText("lecturenotes/lecnotes7.2.1.ppt", "ppt", "")#> <##linkIfExistsAltText("lecturenotes/lecnotes7.2.1.scm", "scm", "")#> <##linkIfExistsAltText("lecturenotes/lecnotes7.2.1.pdf", "pdf", "")#> <##linkIfExists("labs/lab7.2.pdf", "7.2")#> <##linkIfExists("homeworks/hw7.2.pdf", "7.2")#> Wed:
Thu: Non-Deterministic Evaluator III <##linkIfExistsAltText("lecturenotes/lecnotes7.2.2.ppt", "ppt", "")#> <##linkIfExistsAltText("lecturenotes/lecnotes7.2.2.scm", "scm", "")#> <##linkIfExistsAltText("lecturenotes/lecnotes7.2.2.pdf", "pdf", "")#> Thu:
Fri: Midterm 3 12:00-2:30 in 100 Lewis (Strongly emphasizes weeks 5 and 6)
 8/8 Mon: <##linkIfExists("readernotes/readernotes8.1.pdf", "Logic Programming")#> I <##linkIfExistsAltText("lecturenotes/lecnotes8.1.1.ppt", "ppt", "")#> <##linkIfExistsAltText("lecturenotes/lecnotes8.1.1.scm", "scm", "")#> <##linkIfExistsAltText("lecturenotes/lecnotes8.1.1.pdf", "pdf", "")#> <##linkIfExists("labs/lab8.1.pdf", "8.1")#> <##linkIfExists("homeworks/hw8.1.pdf", "8.1")#> Mon: 4.4.1 through 4.4.3
Tue: Logic Programming II <##linkIfExistsAltText("lecturenotes/lecnotes8.1.2.ppt", "ppt", "")#> <##linkIfExistsAltText("lecturenotes/lecnotes8.1.2.scm", "scm", "")#> <##linkIfExistsAltText("lecturenotes/lecnotes8.1.2.pdf", "pdf", "")#> Tue:
Wed: Logic Programming III <##linkIfExistsAltText("lecturenotes/lecnotes8.2.1.ppt", "ppt", "")#> <##linkIfExistsAltText("lecturenotes/lecnotes8.2.1.scm", "scm", "")#> <##linkIfExistsAltText("lecturenotes/lecnotes8.2.1.pdf", "pdf", "")#> <##linkIfExists("labs/lab8.2.pdf", "8.2")#> No HW Wed:
Thu: <##linkIfExists("readernotes/readernotes8.2.pdf", "Review")#> <##linkIfExistsAltText("lecturenotes/lecnotes8.2.2.ppt", "ppt", "")#> <##linkIfExistsAltText("lecturenotes/lecnotes8.2.2.scm", "scm", "")#> <##linkIfExistsAltText("lecturenotes/lecnotes8.2.2.pdf", "pdf", "")#> Thu:
Fri: Final Exam 12:00-3:00 in 100 Lewis (Cumulative; Emphasizes weeks 7 and 8)