CS 61A: Structure and Interpretation of Computer Programs
Fall 2025: Mon, Wed, Fri 1-2 p.m. in Wheeler 150
Announcements: Wednesday, September 24
- Regrade requests for Midterm 1 are due Wednesday 9/24.
- Homework 3 is due Thursday 9/25.
Entries to the completely optional Hog Strategy Contest are due Thursday 9/25.
- A
goal_scores.py
file and now appears in hog_contest.zip. - New feature: import
goal_scores
to accessyour_goal
andopponent_goal
. - The contest will be run with and without access to
opponent_goal
; top entries in both runs get awards.
- A
Project 2: CATS is due Thursday 10/9.
- Checkpoint due Thursday 10/2.
- You can get a bonus point for completing the project by Wednesday 10/8.
Announcements: Monday, September 22
- Regrade requests for Midterm 1 are due Wednesday 9/24.
- Homework 3 is due Thursday 9/25.
- Entries to the completely optional Hog Strategy Contest are due Thursday 9/25.
Announcements: Friday, September 19
- Homework 3 is due Thursday 9/25.
- Entries to the completely optional Hog Strategy Contest are due Thursday 9/25.
- Regrade requests for Midterm 1 are due Wednesday 9/24.
Announcements: Monday, September 15
The Hog Project is due Thursday 9/18 @ 11:59pm.
- You can get a bonus point for completing the project by Wednesday 9/17.
- Entries to the completely optional Hog Strategy Contest are due Thursday 9/25.
Midterm 1 is Tuesday 9/16 7pm-9pm in various locations around campus.
- You will be assigned a seat on Monday 9/15.
- No lab on Monday 9/15 or Tuesday 9/16.
- Experiment: there is an Ed thread for lecture questions today that we'll be monitoring during lecture.
Announcements: Friday, September 12
The Hog Project is due Thursday 9/18 @ 11:59pm.
- You can get a bonus point for completing the project by Wednesday 9/17.
- Entries to the completely optional Hog Strategy Contest are due Thursday 9/25.
Midterm 1 is Tuesday 9/16 7pm-9pm in various locations around campus.
- To request the alternate time or special seating, fill out the alteration request form by Friday 9/12 @ 11:59pm.
- You will be assigned a seat on Monday 9/15.
- No lab on Monday 9/15 or Tuesday 9/16.
Announcements: Wednesday, September 10
- Homework 2 (short) is due Thursday 9/11 @ 11:59pm.
The Hog Project is due Thursday 9/18 @ 11:59pm.
- Phase 1 of the project (called the checkpoint) is due Thursday 9/11.
- You can get a bonus point for completing the project by Wednesday 9/17.
- You can work with a partner and submit once for both of you.
Midterm 1 is Tuesday 9/16 7pm-9pm in various locations around campus.
- You will be assigned a seat on Monday 9/15.
- To request the alternate time or special seating, fill out the alteration request form by Friday 9/12 @ 11:59pm.
- Once you finish Homework 2 and Hog Phase 1, try a past exam.
- Scratch paper and the Midterm 1 study guide will be provided.
- You can join a lecture-style discussion section Thursdays 5pm in Soda 306 if you don't want to discuss in a group.
- You can join an exam-prep tutoring session this week.
- No lab on Monday 9/15 or Tuesday 9/16.
Announcements: Monday, September 8
- Homework 1 is due Monday 9/8 @ 11:59pm.
- Homework 2 (short) is due Thursday 9/11 @ 11:59pm.
The Hog Project is due Thursday 9/18 @ 11:59pm.
- Phase 1 of the project (called the checkpoint) is due Thursday 9/11.
- You can get a bonus point for completing the project by Wednesday 9/17.
- You can work with a partner and submit once for both of you.
Midterm 1 is Tuesday 9/16 7pm-9pm in various locations around campus.
- You will be assigned a seat on Monday 9/15.
- To request the alternate time or special seating, fill out the alteration request form by Friday 9/12 @ 11:59pm.
- Once you finish Homework 2 and Hog Phase 1, try a past exam.
- Scratch paper and the Midterm 1 study guide will be provided.
- You can join a lecture-style discussion section Thursdays 5pm in Soda 306 if you don't want to discuss in a group.
- You can join an exam-prep tutoring session this week.
- No lab on Monday 9/15 or Tuesday 9/16.
Announcements: Friday, September 5
- There is no longer a Zoom option for lecture, but there will be recordings of lecture all semester.
- Homework 1 is due Monday 9/8 @ 11:59pm.
- Homework 2 (short) is due Thursday 9/11 @ 11:59pm.
The Hog Project is due Thursday 9/18 @ 11:59pm.
- Phase 1 of the project (called the checkpoint) is due Thursday 9/11.
- You can get a bonus point for completing the project by Wednesday 9/17.
- You can work with a partner and submit once for both of you.
Midterm 1 is Tuesday 9/16 7pm-9pm in various locations around campus.
- Once you finish Homework 2 and Hog Phase 1, try a past exam.
- We will go through most questions from the Fall 2022 Midterm 1 in various lectures next week.
- We will go through questions 1, 3, & 4 from the Spring 2025 Midterm 1 in lecture on Monday 9/15.
- Details about logistics (where to go, what to bring, how to prepare) will be shared on Ed.
Announcements: Wednesday, September 3
- Zoom link for Lectures 1, 2, and 3: berkeley.zoom.us/j/99731895700
Lab 0 and Lab 1 are due Wednesday 9/3 @ 11:59pm.
- Definitely work through the optional questions this week (after you submit).
- Bring your Student ID to discussion; we will take attendance by scanning it.
Homework 1 is due Monday 9/8 @ 11:59pm.
- Strongly recommended: Finish by Thursday 9/4.
- It's not ok to share your homework code with others.
- There's an experimental AI tutor called "61a-bot" that gives help on your code.
Come to Staff Office Hours cs61a.org/office-hours to ask questions about homework & lab.
- Wednesday mornings 10-12am we will hold Zoom & In-Person office hours.
Announcements: Friday, August 29
- Zoom link for Lectures 1, 2, and 3: berkeley.zoom.us/j/99731895700
- Monday labs are rescheduled to Friday 8/29 for this week only (due to the holiday).
First work on Lab 0 (setting up your computer) and then on Lab 1.
- Try Lab 0 before you come to lab if you have time.
Lab 0 and Lab 1 are due Wednesday 9/3 @ 11:59pm.
- You're meant to complete lab assignments during lab.
- It's ok to share your lab code with others if that's what helps you learn.
- There is no attendance requirment for Lab 1, since some students are still working on their schedules.
Homework 1 is due Monday 9/8 @ 11:59pm.
- Strongly recommended: Finish by Thursday 9/4.
- It's not ok to share your homework code with others.
- There's an experimental AI tutor called "61a-bot" that gives help on your code.
- See Ed for: changing sections, lecture questions, external announcements, etc.
Announcements: Wednesday, August 27
- Lecture 1 will happen again at 8pm on Wednesday 8/27 in 155 Dwinelle in case you missed it or couldn't see well.
- Zoom link for Lectures 1, 2, and 3: berkeley.zoom.us/j/99731895700
Discussion starts this week (Wednesday, Thursday, Friday).
- We won't start taking attendance until next week.
- Lab starts Friday. Try Lab 0 before you arrive (but it's ok if you don't finish it).
- Ed is a great place to ask questions.
- Instructions for how to add or change lab & discussion sections should appear on Ed soon (perhaps Wednesday night).
- The Spring 2025 and Summer 61A websites have been archived (@berkeley.edu login required).
Announcements: Tuesday, August 26
- Welcome to CS 61A!
- The Spring 2025 and Summer 61A websites have been archived (@berkeley.edu login required).
Current Assignments
Calendar
Week | Date | Lecture | Textbook | Lab & Discussion Links | Homework & Project |
---|---|---|---|---|---|
1 | Wed 8/27 | Welcome | | Disc 00: Getting Started Lab 00: Getting Started Due Wed 9/3 | |
Fri 8/29 | Functions | Lab 01: Functions Due Wed 9/3 | HW 01: Functions, Control Due Mon 9/8 | ||
2 | Mon 9/1 | No Lecture: Labor Day | |||
Wed 9/3 | Control | Disc 01: Control, Environment Diagrams | |||
Fri 9/5 | Higher-Order Functions | HW 02: Higher-Order Functions Due Thu 9/11 Hog Checkpt Thu 9/11 Early Due Wed 9/17 Due Thu 9/18 | |||
3 | Mon 9/8 | Environments | Lab 02: Higher-Order Functions, Lambda Expressions Due Wed 9/10 | ||
Wed 9/10 | Functional Abstraction | | Disc 02: Environment Diagrams, Higher-Order Functions | ||
Fri 9/12 | Midterm 1 Review Part 1 | | (Optional) Hog Contest Due Thu 9/25 | ||
4 | Mon 9/15 | Midterm 1 Review Part 2 | | ||
Tue 9/16 | Midterm 1 (7pm-9pm) | ||||
Wed 9/17 | Recursion | Disc 03: Recursion | |||
Fri 9/19 | Tree Recursion | HW 03: Recursion, Tree Recursion Due Thu 9/25 | |||
5 | Mon 9/22 | Sequences | Lab 03: Recursion, Python Lists Due Wed 9/24 | ||
Wed 9/24 | Containers | Disc 04: Tree Recursion | Cats Checkpt Thu 10/2 Early Due Wed 10/8 Due Thu 10/9 | ||
Fri 9/26 | Data Abstraction | ||||
6 | Mon 9/29 | Trees | Lab 04: Tree Recursion, Data Abstraction Due Wed 10/1 | ||
Wed 10/1 | Mutability | Disc 05: Trees | |||
Fri 10/3 | Iterators | HW 04: Sequences, Data Abstraction, Trees Due Thu 10/9 | |||
7 | Mon 10/6 | Generators | Lab 05: Iterators, Mutability Due Wed 10/8 | ||
Wed 10/8 | Objects | Disc 06: Generators | |||
Fri 10/10 | Attributes | HW 05: Generators Due Thu 10/16 Ants Checkpt 1 Thu 10/16 Checkpt 2 Tue 10/21 Early Due Wed 10/22 Due Thu 10/23 | |||
8 | Mon 10/13 | Inheritance | Lab 06: Object-Oriented Programming Due Wed 10/15 | ||
Wed 10/15 | Representation | Disc 07: OOP | |||
Fri 10/17 | Composition | | HW 06: Object-Oriented Programming, Linked Lists, Mutable Trees Due Thu 10/23 | ||
9 | Mon 10/20 | Efficiency | Lab 07: Linked Lists, Inheritance Due Wed 10/22 | ||
Wed 10/22 | Decomposition | | Disc 08: Linked Lists | ||
Fri 10/24 | Data Examples | | |||
10 | Mon 10/27 | Midterm 2 Review | | ||
Tue 10/28 | Midterm 2 (7pm-9pm) | ||||
Wed 10/29 | Concurrency | | Disc 09: Concurrency | ||
Fri 10/31 | TBD | | |||
11 | Mon 11/3 | Scheme | Lab 08: Scheme Due Wed 11/5 | HW 07: Scheme Due Thu 11/6 | |
Wed 11/5 | Scheme Lists | Disc 10: Scheme, Scheme Lists | |||
Fri 11/7 | Calculator | HW 08: Scheme Lists Due Thu 11/13 | |||
12 | Mon 11/10 | Interpreters | Lab 09: Interpreters Due Wed 11/12 | Scheme Checkpt 1 Thu 11/13 Checkpt 2 Thu 11/20 Early Due Mon 11/24 Due Tue 11/25 | |
Wed 11/12 | Programs as Data | | Disc 11: Interpreters | ||
Fri 11/14 | Macros | | HW 09: Programs as Data, Macros Due Thu 11/20 | ||
13 | Mon 11/17 | SQL | | Lab 10: Programs as Data, Macros Due Wed 11/19 | |
Wed 11/19 | Tables | | Disc 12: Macros | (Optional) Scheme Contest Due Wed 12/3 | |
Fri 11/21 | Aggregation | | HW 10: SQL Due Thu 11/27 | ||
14 | Mon 11/24 | Databases | | ||
Wed 11/26 | No Lecture: Thanksgiving | ||||
Fri 11/28 | No Lecture: Thanksgiving | ||||
15 | Mon 12/1 | Designing Functions | | Lab 11: SQL Due Wed 12/3 | |
Wed 12/3 | TBD | | Disc 13: SQL | ||
Fri 12/5 | Conclusion | | HW 11: Finale Due Sun 12/14 | ||
16 | Mon 12/8 | No Lecture: RRR Week | |||
Wed 12/10 | No Lecture: RRR Week | ||||
Fri 12/12 | No Lecture: RRR Week | ||||
17 | Wed 12/17 | Final (7pm-10pm) |