Structure and Interpretation of Computer Programs

Fall 2021, Nanjing University


News

Course Information

Course Schedule

Submit Lab07 before Nov 25 Submit Hw07 before Nov 28 Submit Proj03 before Dec 05
Week Date Lectures Assignments
4 Sep 22 (Wed) Xinyu Feng: Course Introduction
Slides Code
Sep 26 (Sun) TAs: Lab Introduction Lab 00: Set up a python environment
Tutorials Code (Due Oct 3)
5 Sep 27 (Mon) Xinyu Feng: Names and Functions & Control
Slides (Names and Functions) Slides (Control) Code
Sep 29 (Wed) Lab 01: Variables & Functions, Control
Tutorials Code (Due Oct 10)
Hw 01: Variables & Functions, Control
Tutorials Code (Due Oct 10)
6 National Day Holiday
7 Oct 11 (Mon) Xinyu Feng: Env Diagrams & Higher-order Functions
Slides (Env) Slides (Higher-order)
TAs: Review of lab00~hw01
Slides
Lab 02: Higher-order Functions
Tutorials Code (Due Oct 14)
Hw 02: Higher-order Functions
Tutorials Code (Due Oct 17)
Oct 13 (Wed) Xinyu Feng: Recursion
Slides
Proj 01: The Game of Hog
Tutorials Code (Due Nov 5)
8 Oct 18 (Mon) Xinyu Feng: Recursion (Examples) & Containers
Slides (Recursion Examples) Slides (Containers)
TAs: Review of lab02 and hw02
Slides
Lab 03: Recursion and Tree Recursion
Tutorials Code (Due Oct 21)
Hw 03: Recursion and Tree Recursion
Tutorials Code (Due Oct 24)
Oct 20 (Wed) Xinyu Feng: Data Abstractions
Slides
9 Oct 25 (Mon) Xinyu Feng: Trees
Slides
(Optional) Hog Strategy Contest
Tutorials Code (Due Nov 14)
TAs: Review of lab03 and hw03
Slides Slides(suppl)
Lab 04: Data Abstraction, Lists, and Trees
Tutorials Code (Due Oct 28)
Hw 04: Data Abstraction, Lists, and Trees
Tutorials Code (Due Nov 5)
Oct 27 (Wed) Xinyu Feng: Mutability
Slides
10 Nov 1 (Mon) Xinyu Feng: Mutability (Cont.)
Slides
TAs: Review of midterm Proj 02: Autocorrected Typing Software
Tutorials Code (Due Nov 14)
Nov 3 (Wed) Xinyu Feng: Iterators & Lazy Evaluation
Slides (Iterators) Slides (Lazy Evaluation) Code
Lab 05: Nonlocal, Iterators, and Generators
Tutorials Code (Due Nov 7)
Hw 05: Nonlocal, Iterators, and Generators
Tutorials Code (Due Nov 9)
11 Nov 8 (Mon) Xinyu Feng: Review of midterm
Slides
TAs: Review of lab04, hw04 and midterm
Slides Slides(suppl)
Nov 10 (Wed) Midterm Exam
12 Nov 15 (Mon) Yue Li: Object Oriented Programming
Slides Code
Proj 03: Ants vs. Some Bees
Tutorials Code (Due Dec 05 at 11:59 pm)
TAs: Comments on Hog Contest and Midterm Exam
Slides (hog, not ready) Slides (midterm)
Hw 06: OOP and Inheritance
Tutorials Code (Due Nov 21)
Nov 17 (Wed) Yue Li: Inheritance
Slides Code
13 Nov 22 (Mon) Yue Li: Special Methods
Slides Code (Dog) Code (Ratio)
Lab 07: Special Method, Linked List and Tree
Tutorials Code (Due Nov 25 at 11:59 pm)
Hw 07: Special Method, Linked List and Tree
Tutorials Code (Due Nov 28 at 11:59 pm)
Nov 24 (Wed) Yue Li: Linked List and Tree
Slides Code

Reference Materials