|
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", "")#> xxx
<##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)
|
|
|