CS 61A: Structure and Interpretation of Computer Programs
Summer 2025: Mon, Tue, Wed, Thu 5-6:30 p.m. on Zoom
Announcements: Wednesday, July 2
- Hog checkpoint is due tonight.
- Lab 2 is due tomorrow.
- Remember to submit completed assignments on Gradescope. Some of you have not submitted for Lab 01 and Homework 1.
- Deadline to switch sections is Friday.
Announcements: Tuesday, July 1
- Lecture today cannot be moderated in-person. We'll take a poll on this in lecture.
- Lab 1 is due today.
- Homework 1 is due today.
- Hog checkpoint is due tomorrow.
- We have opened online office hours. Check the events on the OH calendar
- We have opened Student Support Meetings. See Ed.
Announcements: Monday, June 30
Lecture today will be moderated in-person in Soda 306 by a TA. Based on feedback, this may continue.
- Ask questions about the videos or live lecture asynchronously on Ed.
- Lab 0 is due today.
- Lab 1 is due tomorrow.
- Homework 1 is due tomorrow.
- Hog checkpoint is due Wednesday.
- Lab 2 is due Thursday (will be released Wednesday).
- Get help on assignments in OH or on the Ed threads.
- Deadline to switch sections is Friday.
Announcements: Thursday, June 26
- Office Hours schedule for next week has been released. Come with questions you have about homework, projects, or anything else related the course.
- Tutoring sections start next week. Sign up for one here.
Starting next week, live lecture will be held exclusively on Zoom. Lectures will be recorded, but you should still come.
- Soda 306 will still be a reserved space 5-6:30pm for CS 61A for the rest of the summer (mostly).
- The Midterm time and location has been finalized. It will be held on 7/14, 5-7pm on campus. More details will come later.
Announcements: Wednesday, June 25
- Lab 0 is due Monday 6/10. Come to Technical OH on Thursday if you have questions.
Homework 1 is due Tuesday 7/1.
- Homework (and only homework) includes the 61a-bot, which helps you find problems with your code.
Project 1: Hog is due Tuesday 7/8.
- Checkpoint due Wednesday 7/2.
- Bonus point for completing the project by Monday 7/7.
- A new section time has opened. See Ed.
- Tutoring section signups are open. See Ed.
Announcements: Tuesday, June 24
- First week of lectures will be in-person in Soda 306 and broadcast live via Zoom. See this Ed post for the Zoom link.
- Sign up for sections on sections.cs61a.org/lab. You can swap between regular/mega and section times until 7/4.
Discussion starts today. Discussion 0 will be an introductory section for you to meet your TA and section cohort.
- You will work through the Discussion 0 worksheet.
- There is nothing to submit for discussions.
Lab starts tomorrow (Wednesday). The lab 0 section will be dedicated to setting up your computer by working through the Lab 0 assignment.
- Lab 0 is released and you can get started on it before your lab section time. Lab 0 is due next Monday 6/30 @ 11:59pm.
- If you need one-on-one help with lab 0, you can attend technical office hours on Thursday. Details can be found on the OH Calendar.
- Please come prepared to lecture, lab, and discussion by watching the video playlists before attending the following day's course activities (lab, discussion, lecture) so that you can get the most out them.
- Instructor Office Hours begin this week. For week 1, they are drop-in, in-person in Soda Hall. In the future, they will likely be by-appointment. The Instructor OH schedule can be found on the OH Calendar.
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) |