CS 61A: Structure and Interpretation of Computer Programs

Summer 2021, Instructors: Albert Xu, Alex Kassil, Catherine Cang (she/her/hers)
Jump to calendar

Week Date Lecture Textbook Orientation Links Lab, Discussion, & Exam Prep Links Homework & Project
1 Fri
6/18
Lab 00: Getting Started
Due Fri 6/25
2 Mon
6/21
Introduction
Tue
6/22
Functions
Disc 00: Getting Started
Wed
6/23
Control
Lab 01: Variables & Functions, Control
Due Fri 6/25
Thu
6/24
Higher-Order Functions
Disc 01: Control, Environment Diagrams
HW 01: Variables & Functions, Control
Due Wed 6/30

Hog
Due Tue 7/6
3 Mon
6/28
Environments
Lab 02: Higher-Order Functions, Lambda Expressions
Due Tue 6/29
Tue
6/29
Recursion
Disc 02: Higher-Order Functions, Self Reference, Lambda Expressions
(Optional) Hog Contest
Due Thu 7/8
Wed
6/30
Tree Recursion
Lab 03: Recursion, Tree Recursion
Due Fri 7/2
Thu
7/1
Functional Decomposition + Debugging
Disc 03: Recursion, Tree Recursion
HW 02: Higher-Order Functions, Recursion
Due Wed 7/7
Fri
7/2
Diagnostic
4 Mon
7/5
No Lecture: July 4 Cats
Due Tue 7/20
Tue
7/6
Sequences + Data Abstraction Disc 04: Python Lists, Data Abstraction
Wed
7/7
Trees
Lab 04: Python Lists, Data Abstraction, Trees
Due Fri 7/9
Thu
7/8
Mutable Sequences
Disc 05: Trees, Mutability
HW 03: Trees, Data Abstraction
Due Wed 7/14
5 Mon
7/12
Nonlocal + Complexity
Lab 05: Mutability, Mutable Functions, Orders of Growth
Due Tue 7/13
Tue
7/13
Iterators + Generators
Disc 06: Nonlocal, Orders of Growth, Midterm Review

Lab 06: Midterm Review
Due Fri 7/16
Wed
7/14
Midterm Review
Thu
7/15
Midterm HW 04: Iterators and Generators
Due Wed 7/21
6 Mon
7/19
Objects + Classes
Lab 07: Iterators and Generators, Object-Oriented Programming
Due Tue 7/20
Ants
Due Fri 7/30
Tue
7/20
Inheritance + Representation
Disc 07: Object-Oriented Programming
Wed
7/21
Linked Lists + Mutable Trees
Lab 08: Linked Lists, Mutable Trees
Due Fri 7/23
Thu
7/22
Special Object Methods
Disc 08: Linked Lists, Mutable Trees, String Representation
HW 05: Object-Oriented Programming, Linked Lists, Iterators and Generators
Due Wed 7/28
7 Mon
7/26
Scheme
Lab 09: Scheme
Due Tue 7/27
Tue
7/27
Intepreters
Disc 09: Scheme, Scheme Lists
Wed
7/28
Macros (optional)
Lab 10: Interpreters
Due Fri 7/30
Thu
7/29
Tail Recursion + More Scheme
Disc 10: Interpreters, Macros
HW 06: Scheme
Due Wed 8/4

Scheme
Due Tue 8/10

Scheme Challenge Version
Due Tue 8/10
8 Mon
8/2
Regex (optional)
Lab 11: Macros, Tail Recursion, Regular Expressions
Due Tue 8/3
Tue
8/3
SQL
Disc 11: Tail Recursion, Scheme, Regular Expressions
Wed
8/4
More SQL
Lab 12: SQL
Due Fri 8/6
(Optional) Scheme Contest
Due Wed 8/11
Thu
8/5
Final Examples
Disc 12: SQL, Final Review
HW 07: SQL
Due Wed 8/11
9 Mon
8/9
Special Topics I
Lab 13: Final Review
Due Tue 8/10
HW 08: Finale
Due Thu 8/12
Tue
8/10
Special Topics II
Wed
8/11
Conclusion
Thu
8/12
Final (TBD)