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.

  • 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)