CS 61A: Structure and Interpretation of Computer Programs
Summer 2025: Mon, Tue, Wed, Thu 5-6:30 p.m. on Zoom
Announcements: Friday, June 13
- Welcome to CS 61A!
- This website is under construction and its contents are subject to change.
- Please note that the midterm time is tentatively being moved to Monday, 7/14 5-7 pm. We will share more information once the midterm time has been confirmed.
- The lecture time has been changed to Mon-Thurs 5:00-6:30pm. Lecture will be delivered synchronously online (via Zoom) and recorded. The other components of the class will be in person.
- For the first week, lectures will be delivered both in person in Soda 306 (HP Auditorium) and synchronously online. You can choose which you would prefer, but we'd encourage you to come in person!
Current Assignments
Calendar
Week | Date | Lecture | Textbook | Lab & Discussion Links | Homework & Project |
---|---|---|---|---|---|
1 | Mon 6/23 |
Welcome |
|
||
Tue 6/24 |
Functions
|
Disc 00: Getting Started
|
|||
Wed 6/25 |
Control
|
Lab 00: Getting Started
Due
Mon 6/30
|
HW 01: Functions, Control, Higher-Order Functions
Due
Tue 7/1
Hog
Checkpt
Wed 7/2
Due
Tue 7/8
|
||
Thu 6/26 |
Higher-Order Functions
|
Disc 01: Functions, Control
|
|||
2 | Mon 6/30 |
Environments
|
Lab 01: Functions, Control
Due
Tue 7/1
|
||
Tue 7/1 |
Recursion
|
Disc 02: Higher-Order Functions, Environment Diagrams
|
|||
Wed 7/2 |
Tree Recursion
|
Lab 02: Higher-Order Functions, Lambda Expressions
Due
Thu 7/3
|
|||
Thu 7/3 |
Sequences and Containers
|
Disc 03: Recursion, Tree Recursion
|
HW 02: Recursion, Tree Recursion, Sequences, Python Lists
Due
Thu 7/10
|
||
3 | Mon 7/7 |
Data Abstraction and ADT Trees
|
Lab 03: Recursion, Tree Recursion
Due
Tue 7/8
|
||
Tue 7/8 |
Mutability
|
Disc 04: Trees, Python Lists
|
Cats
Checkpt
Tue 7/15
Due
Fri 7/18
|
||
Wed 7/9 |
Iterators and Generators
|
Lab 04: Sequences, Mutability, Trees
Due
Fri 7/11
|
|||
Thu 7/10 |
Midterm Review
|
|
Disc 05: Mutability, Iterators, Generators
|
HW 03: Trees, Iterators, Generators
Due
Wed 7/16
|
|
4 | Mon 7/14 |
Midterm (5-7pm) | |||
Tue 7/15 |
Objects and Attributes
|
||||
Wed 7/16 |
Inheritance and String Representation
|
Lab 05: Iterators, Generators
Due
Thu 7/17
|
|||
Thu 7/17 |
Mutable Trees
|
|
Disc 06: OOP, Inheritance, String Representation
|
HW 04: Object-Oriented Programming, Mutable Trees
Due
Wed 7/23
|
|
Fri 7/18 |
Ants
Checkpt
Thu 7/24
Due
Tue 7/29
|
||||
5 | Mon 7/21 |
Linked Lists
|
|
Lab 06: Object-Oriented Programming, Inheritance, String Representation
Due
Tue 7/22
|
|
Tue 7/22 |
Efficiency
|
Disc 07: Mutable Trees, Linked Lists
|
|||
Wed 7/23 |
Scheme
|
Lab 07: Mutable Trees, Linked Lists
Due
Thu 7/24
|
|||
Thu 7/24 |
Scheme Lists
|
Disc 08: Efficiency, Scheme
|
HW 05: Linked Lists, Efficiency, Scheme
Due
Wed 7/30
|
||
6 | Mon 7/28 |
Interpreters
|
Lab 08: Scheme, Scheme Lists
Due
Tue 7/29
|
||
Tue 7/29 |
Tail Calls
|
|
Disc 09: Scheme Lists, Interpreters
|
||
Wed 7/30 |
Scheme Data Abstraction |
|
Lab 09: Interpreters
Due
Thu 7/31
|
Scheme
Checkpt
Thu 8/7
Due
Thu 8/14
|
|
Thu 7/31 |
SQL and Tables
|
|
Disc 10: Tail Calls, Scheme Data Abstraction
|
HW 06: Scheme Data Abstraction, SQL
Due
Thu 8/7
|
|
7 | Mon 8/4 |
Aggregation and Databases
|
|
Lab 10: Tail Calls, Scheme Data Abstraction
Due
Tue 8/5
|
|
Tue 8/5 |
Special Topics I |
|
Disc 11: SQL
|
||
Wed 8/6 |
Special Topics II |
|
Lab 11: SQL
Due
Thu 8/7
|
||
Thu 8/7 |
Final Review
|
|
Disc 12: SQL, Final Review
|
||
Fri 8/8 |
HW 07: Finale
Due
Mon 8/11
|
||||
8 | Mon 8/11 |
Conclusion |
|
Lab 12: Final Review (Optional)
Due
Tue 8/12
|
|
Tue 8/12 |
Final (11:30am-2:30pm) |