Day
|
Topics
|
Reading
|
Homework
|
Project
|
Due Dates
|
6-22
|
Intro to Scheme, Recursion
|
SICP: Section 1.1
|
Homework 1 (Soln)
Lab 1a (Soln)
|
Project 1
(Soln)
|
6-23
|
Recursion, Special Forms, Lambda
|
SICP: Section 1.1
|
|
|
6-24
|
Higher-order Procedure I
|
SICP: Section 1.3
|
Lab 1b
|
|
6-25
|
Higher-order Procedure II
|
SICP: Section 1.3
|
|
|
|
|
|
|
|
|
6/29
|
Recursive vs. Iterative Process, Asymptotic Runtime
|
SICP: Section 1.2
|
Homework 2
(Soln)
Lab 2A (Soln)
|
|
hw1 due Mon. 6/29
proj1 due Fri. 7/3
|
6-30
|
Data Aggregate, Data Abstraction
|
SICP: Section 2.1
|
|
|
7-1
|
Lists and deep-lists
|
SICP: Section 2.2.1, 2.2.2, 2.3
|
Lab 2B
|
|
7-2
|
Trees, Mutual Recursion
|
SICP: Section 2.2.1, 2.2.2, 2.3
|
|
|
|
|
|
|
|
|
7-6
|
Tree II
|
SICP: Section 2.2.1, 2.2.2, 2.3
|
Homework 3 (Soln)
Lab 3A (Soln)
|
Project 2a
(Soln)
|
hw2 due Mon. 7/6
midterm1 Fri. 7/10
|
7-7
|
Tree III, Mutual Recursion
|
Lecture Notes on Tree
|
|
|
|
7-8
|
Object-oriented Programming I
|
OOP: Above the Line Notes
OOP: Reference Manual
|
Lab 3B
|
|
|
7-9
|
Object-oriented Programming II
|
OOP: Above the Line Notes
Slides on Inheritance
|
|
|
|
|
|
|
|
|
|
7-13
|
Local States, Environment Model I
|
SICP: section 3.1,3.2
|
Homework 4 (Soln)
Lab 4A (Soln)
|
|
hw3 due Mon. 7/13
|
7-14
|
Environment II, OOP Below the Line
|
SICP: Section 3.1,3.2
Counter-env Slides
|
|
|
|
7-15
|
Mutable Data I
|
SICP: Section 3.3
|
Lab 4B
|
|
|
7-16
|
Mutable Data II
|
SICP: Section 3.3
|
|
|
|
|
|
|
|
|
|
7-20
|
Vectors, Stream I
|
SICP: Section 3.5
|
Homework 5
(Soln)
Lab 5A (Soln)
|
Project 2b
|
hw4 due Mon. 7/20
proj2a due Mon. 7/20
|
7-21
|
Stream II
|
SICP: Section 3.5
|
|
|
|
7-22
|
Metacircular Evaluator I
|
SICP: Section 4.1.1 to 4.1.6
|
Lab 5B
|
|
|
7-23
|
Metacircular Evaluator II
|
SICP: Section 4.1.1 to 4.1.6
|
|
|
|
|
|
|
|
|
|
7-27
|
Metacircular Evaluator III, Intro to Logo
|
SICP: Section 4.1.1 to 4.1.6
|
Homework 6
(Soln)
Lab 6A
|
Project 3
|
hw5 due Mon. 7/27
proj2b due Tue. 7/28
midterm2 Fri. 7/31
|
7-28
|
Normal Order, Lazy Evaluator
|
SICP: Section 4.2
|
|
|
|
7-29
|
Analyzing Evaluator
|
SICP: Section 4.1.7
|
Lab 6B
|
|
|
7-30
|
Nondeterministic Evaluator I
|
SICP: Section 4.3
|
|
|
|
|
|
|
|
|
|
8-3
|
Nondeterministic Evaluator II, Concurrency I
|
SICP: Section 4.3, 3.4
|
Homework 7
(Soln)
Lab 7A
|
|
hw6 due Mon. 8/3
proj3 due Fri. 8/7
|
8-4
|
Concurrency II, Parallel-Programming
|
SICP: Section 3.4
|
|
|
|
8-5
|
Mapreduce
|
Lecture Notes
|
Lab 7B
|
|
|
8-6
|
Social Implications of Computer Science
|
TBA
|
|
|
|
|
|
|
|
|
|
8-10
|
Statistical Computing I
|
TBA
|
|
Project 4
|
hw7 due Mon. 8/10
final Fri. 8/14
|
8-11
|
Statistical Computing II, Logic Programming I
|
SICP: Section 4.4
|
|
|
|
8-12
|
Logic Programming II
|
SICP: section 4.4
|
|
|
|
8-13
|
Course Review
|
|
|
|
proj4 due Mon. 8/17
|