CS 61A: Structure and Interpretation of Computer Programs
Fall 2026, UC Berkeley
Upcoming
- Due Mon 9/28 Project 2 Computer Aided Typing Software checkpoint
- Due Fri 10/2 Project 2 Computer Aided Typing Software (1 bonus point for submitting by Thu 10/1)
Friday 9/25
- Quiz 3 is on Count Coins
- We released the entire quiz as a practice quiz on PrairieLearn
- We will study a similar problem (count partitions) today in lecture
- Cats project due Friday 10/2
- Checkpoint due next Monday 9/28
- Early submission bonus point for submitting by next Thursday 10/1
- There’s no homework due next week, just the project.
Week 1
| Wed, Aug 26 | Discussion 0Getting Started |
|
| Fri, Aug 28 | Homework 1Functions (due Thu 9/3) |
Week 2
| Mon, Aug 31 | ||
| Wed, Sep 02 | Discussion 1Control, Environment Diagrams |
Reading
1.6
|
| Fri, Sep 04 | Lecture 5
Environments
(Slides) Homework 2Higher-Order Functions (due Thu 9/10) |
Week 3
| Mon, Sep 07 | Holiday |
|
| Tue, Sep 08 | QUIZ 1Functions |
|
| Wed, Sep 09 | Discussion 2Environment Diagrams, Higher-Order Functions |
|
| Fri, Sep 11 | Lecture 7
Function Examples
(Slides) |
Week 4
| Mon, Sep 14 |
Exam
Midterm 1 (8pm-9pm)
|
|
| Wed, Sep 16 | Discussion 3Recursion |
Reading
1.7
|
| Fri, Sep 18 | Homework 3Recursion (due Thu 9/24) |
Week 5
| Mon, Sep 21 | QUIZ 2Higher-Order Functions Lab 3Lists (due Wed 9/23) |
|
| Wed, Sep 23 | Discussion 4Tree Recursion |
Videos
YouTube
|
| Fri, Sep 25 |
Reading
2.3
Videos
YouTube
|
Week 6
| Mon, Sep 28 | Lecture 14Linked Lists QUIZ 3Recursion Lab 4Objects (due Wed 9/30) |
Videos
YouTube
|
| Wed, Sep 30 | Lecture 15Trees Discussion 5Trees |
|
| Fri, Oct 02 | Lecture 16Midterm 2 Review Homework 4Recursive Data (due Thu 10/8) |
Week 7
| Mon, Oct 05 |
Exam
Midterm 2 (in the CBTF, Mon 10/5 - Fri 10/9)
Lecture 17Problem Solving Lab 5Recursive Data (due Wed 10/7) |
|
| Wed, Oct 07 | Lecture 18Debugging |
|
| Fri, Oct 09 | Lecture 19Mutation Homework 5Mutation (due Thu 10/15) |
Week 8
| Mon, Oct 12 | Lecture 20Classes QUIZ 4Recursive Data Lab 6Mutation (due Wed 10/14)
Project 3Ants Vs. SomeBees (due Fri 10/23; checkpoint 1 Fri 10/16; checkpoint 2 Wed 10/21) |
|
| Wed, Oct 14 | Lecture 21Inheritance Discussion 6Classes |
|
| Fri, Oct 16 | Lecture 22Lazy Evaluation Homework 6Classes (due Thu 10/22) |
Week 9
| Mon, Oct 19 | Lecture 23Generators QUIZ 5Mutation Lab 7Lazy Evaluation (due Wed 10/21) |
|
| Wed, Oct 21 | Lecture 24Efficiency Discussion 7Generators |
|
| Fri, Oct 23 | Lecture 25Object Examples |
Week 10
| Mon, Oct 26 | Lecture 26Midterm 3 Review |
|
| Tue, Oct 27 |
Exam
Midterm 3 (8pm-10pm)
|
|
| Wed, Oct 28 | Lecture 27Functional Programming Discussion 8Gleam |
|
| Fri, Oct 30 | Lecture 28Algebraic Data Types Homework 7Gleam (due Thu 11/5) |
Week 11
| Mon, Nov 02 | Lecture 29Immutable Data Lab 8Gleam Types (due Wed 11/4) |
|
| Wed, Nov 04 | Lecture 30Interpreters Discussion 9Gleam Lists |
|
| Fri, Nov 06 |
Exam
Midterm 2 Retake
Lecture 31Coding Agents Homework 8Gleam Data (due Thu 11/12)
Project 4Animator (due Mon 11/23; checkpoint Fri 11/13)
Project 4Animator (TypeScript) (due Tue 12/1; checkpoint Fri 11/13) |
Week 12
| Mon, Nov 09 | Lecture 32Browsers QUIZ 6Gleam Lab 9Coding Agents (due Wed 11/11) |
|
| Wed, Nov 11 | Holiday Discussion 10Interpreters |
|
| Fri, Nov 13 | Lecture 33Applications |
Week 13
| Mon, Nov 16 | Lecture 34Tables QUIZ 7Gleam Data Lab 10SQL (due Wed 11/18) |
|
| Wed, Nov 18 | Lecture 35SQL Discussion 11SQL |
|
| Fri, Nov 20 | Lecture 36Aggregation Homework 9SQL (due Wed 11/25) |
Week 14
| Mon, Nov 23 | Lecture 37Software Testing |
|
| Wed, Nov 25 | Holiday |
|
| Fri, Nov 27 | Holiday |
Week 15
| Mon, Nov 30 | Lecture 38Software Tracing QUIZ 8SQL Lab 11Testing (due Wed 12/2) |
|
| Wed, Dec 02 | Lecture 39Ethics Discussion 12Project 4 Presentations |
|
| Fri, Dec 04 | Lecture 40Conclusion Homework 10Finale (due Sun 12/13) |