CS 61A: Structure and Interpretation of Computer Programs

Summer 2026: Mon, Tue, Wed, Thu 5-6:30 p.m. in Li Ka Shing 245

Announcements: Thursday, July 2

  • Please make sure to redownload the Lecture 7 slides PDF, starter code, and solution code because there were many typos that I fixed during/after lecture.
  • Quiz 1 grades are released (Ed post)
  • If you consented to the Autoremind study in the pre-semester survey, please check your email: You should register on the Autoremind website, even if you're in group 2 (you will automatically receive reminders with no additional setup necessary when approved for access)

  • Tomorrow Fri 7/3 is an academic and administrative holiday (staff have the day off)

Announcements: Wednesday, July 1

  • Quiz 1 grades by Fri since staff needs to finish looking into some things

    • Come to OH to ask about your quiz only after grades are out
  • Quiz 2 logistics Ed post released
  • Reminder: Only email cs61a@berkeley.edu for logistics or DSP questions

    • For extensions fill out Flextensions form
    • For questions about quiz content, we will only respond in OH
    • For questions about quiz logistics, ask in Ed or email us if it's an extenuating circumstance
  • No post-lecture questions today because I have go to somewhere directly after
  • Askademia is back online
  • Student Learning Center (SLC) Strategic Learning Program Ed post

Announcements: Tuesday, June 30

  • Instructor Tea Hours Wed 11:30 am - 12:30 pm in Soda 795 (check Calendar before going)

    • Like OH, but more casual
    • Only non-course questions (e.g. career, professional development, course recommendations/planning, being a student at Berkeley, grad school, research, etc.)
  • No post-lecture questions today or tomorrow because I have go to somewhere directly after (sorry!)
  • Askademia is down until further notice
  • Follow-up to student who asked me a question about their Luhn sum code yesterday (Ed post)

Announcements: Monday, June 29

  • Syllabus quiz typo: There are no assignment or quiz drops this summer
  • Quiz 1 happening today and tomorrow!

    • Ed partial closure
    • Scheduling a quiz during your lab/discussion section does not count as an excused absence. We'll only be lenient for Quiz 1.
  • Quiz 2 reservations are open!

    • From now on you'll need to show proof of quiz reservation during lab checkoffs
  • The time for Rebecca's instructor OH on Thu has changed from 6:30 pm to 7:00 pm to take into account time to walk to Soda 347 Will only answer non-course questions during the walk (e.g. about career/professional development/grad school)

Announcements: Thursday, June 25

  • Exam prep tutoring section sign-ups (optional) are released on Ed
  • Out of fairness to all students and to preserve Rebecca's work-life balance, we will have a cutoff for post-lecture questions at 7 pm and Rebecca will only answer one question at a time. If you didn't get a chance to ask your question, please come to OH or ask on Ed instead!
  • Rebecca's instructor OH on Thursdays occur right after lecture, so it will be a "walk and talk" until we arrive at Soda Hall

Announcements: Wednesday, June 24

  • Lab 01, HW 01, and Hog (first project) are released!
  • If you have exam DSP accommodations, please verify on PrairieTest that your accommodations are factored in (it should show up on the home page where it shows your reservation time). If your accommodation isn't visible on PrairieTest, you will need to rebook your reservation to have it factored in.
  • Quiz 1 logistics and practice quiz to be released (ideally) tomorrow.

Announcements: Tuesday, June 23

  • Please use your @berkeley.edu email for accessing all course emails. All share requests to external emails will be denied.
  • If you need to be assigned a lab/disc section or reschedule due to an immovable time conflict, email cs61a@berkeley.edu ASAP.
  • If you were in Esha's lab yesterday and lost your keys and/or Berkeley Bowl tote bag, retrieve it from the Soda Hall lost and found (3rd floor front desk, across from Soda 384). See Ed post.
  • New study resource: Askademia video playlists.

Announcements: Monday, June 22

Welcome to CS 61A!

Action required: Accept the invite to CS 61A on PrairieTest and book your orientation quiz (optional) and Quiz 1 (required) slots ASAP

Upcoming due dates:

  • Lab 0 is due Tue 6/23
  • Lab 1 is due Thu 6/25
  • Orientation Quiz closes Fri 6/26

Current Assignments

Calendar

Week Date Lecture & Exam Reading Lab & Discussion Homework & Project Quiz
1 Mon
6/22
1. Welcome, Coding Environment, Functions, and Exceptions I
Lab 00: Getting Started
Due Tue 6/23
Tue
6/23
2. Control
Disc 00: Getting Started
Orientation Quiz (Optional)
Due Fri 6/26
Wed
6/24
3. Higher-Order Functions
Lab 01: Functions, Control
Due Thu 6/25
HW 01: Functions, Control, Higher-Order Functions
Due Tue 6/30

Hog
Checkpt Wed 7/1
Early Due Mon 7/6
Due Tue 7/7
Thu
6/25
4. Environments
Disc 01: Functions, Control
2 Mon
6/29
5. Recursion
Lab 02: Higher-Order Functions, Lambda Expressions
Due Tue 6/30
Quiz 1
Due Tue 6/30
Tue
6/30
6. Tree Recursion
Disc 02: Higher-Order Functions, Environment Diagrams
Wed
7/1
7. Sequences and Containers
Lab 03: Sequences, Recursion
Due Thu 7/2
Thu
7/2
8. Mutability and Data Abstraction
Disc 03: Recursion, Tree Recursion HW 02: Recursion, Tree Recursion, Sequences, Python Lists
Due Wed 7/8
3 Mon
7/6
9. Trees
Lab 04: Sequences, Tree Recursion, Trees
Due Tue 7/7
Quiz 2
Due Tue 7/7
Tue
7/7
10. Iterators and Generators
Disc 04: Sequences, Trees
Cats
Checkpt Tue 7/14
Early Due Thu 7/16
Due Fri 7/17
Wed
7/8
11. Exceptions II Lab 05: Mutability, Iterators, Generators
Due Thu 7/9
Thu
7/9
12. Midterm Review
Disc 05: Mutability, Iterators, Generators
HW 03: Mutability, Trees, Iterators, Generators
Due Wed 7/15
4 Mon
7/13
Midterm (7-9 pm)
Tue
7/14
13. Objects and Attributes
Wed
7/15
14. Inheritance and String Representation
Lab 06: Object-Oriented Programming, Inheritance
Due Thu 7/16
Thu
7/16
15. Mutable Trees
Disc 06: OOP, Inheritance
HW 04: Object-Oriented Programming, Inheritance, Mutable Trees
Due Wed 7/22
Fri
7/17
Ants
Checkpt Thu 7/23
Early Due Mon 7/27
Due Tue 7/28
5 Mon
7/20
16. Linked Lists
Lab 07: String Representation, Mutable Trees
Due Tue 7/21
Quiz 3
Due Tue 7/21
Tue
7/21
17. Efficiency
Disc 07: String Representation, Mutable Trees
Wed
7/22
18. Scheme
Lab 08: Linked Lists
Due Thu 7/23
Thu
7/23
19. Scheme Lists
Disc 08: Linked Lists, Efficiency
HW 05: Linked Lists, Efficiency, Scheme
Due Wed 7/29
6 Mon
7/27
20. Interpreters
Lab 09: Scheme, Scheme Lists
Due Tue 7/28
Quiz 4
Due Tue 7/28
Tue
7/28
21. Tail Calls
Disc 09: Scheme, Scheme Lists
Wed
7/29
22. SQL and Tables
Lab 10: Interpreters, Tail Calls
Due Thu 7/30
Scheme
Checkpt Thu 8/6
Early Due Wed 8/12
Due Thu 8/13
Thu
7/30
23. Aggregation and Databases
Disc 10: Interpreters, Tail Calls
HW 06: SQL
Due Wed 8/5
7 Mon
8/3
24. Special Topics I: TBD
Lab 11: SQL
Due Tue 8/4
Quiz 5
Due Tue 8/4
Tue
8/4
25. Special Topics II: TBD
Disc 11: SQL
Wed
8/5
26. Special Topics III: TBD
Lab 12: Final Review
Due Mon 8/10
Thu
8/6
27. Final Review
Disc 12: Final Review
HW 07: Finale
Due Mon 8/10
8 Mon
8/10
28. Conclusion and Ask Me Anything
Tue
8/11
Final (7-10 pm)