CS 61A: Structure and Interpretation of Computer Programs
Spring 2024, Instructor: John DeNero
Announcements: Friday, April 26
- Homework 11 extended: due Sunday 5/5.
Announcements: Wednesday, April 24
- Lecture Wednesday 4/24 will be the same as the videos (so you don't need to watch videos in advance).
- Lecture Friday 4/26 has no videos (but will be recorded).
- Entries to the completely optional Scheme Recursive Art Contest are due Wednesday 4/24.
- Homework 9 & Homework 10 are both due Thursday 4/25.
Announcements: Friday, April 19
- Lectures on Monday 4/22 and Wednesday 4/24 will be the same as the videos (so you don't need to watch videos in advance).
- The final exam will cover lecture content through Friday 4/19.
The Scheme Project is due Tuesday 4/23.
- Early submission bonus point for submitting by Monday 4/22.
- Entries to the completely optional Scheme Recursive Art Contest are due Wednesday 4/24.
- Homework 9 deadline extended to Thursday 4/25.
- Homework 10 is due Thursday 4/25.
Announcements: Monday, April 15
- Homework 9 deadline extended to Thursday 4/25.
The Scheme Project is due Tuesday 4/23.
- Checkpoint 1 due Monday 4/15.
- Checkpoint 2 due Thursday 4/18.
- Early submission bonus point for submitting by Monday 4/22.
- Entries to the completely optional Scheme Recursive Art Contest are due Wednesday 4/24.
Announcements: Monday, April 8
- Homework 8 is due Thursday 4/11.
- Midterm 2 regrade requests are due Thursday 4/11.
- Guest lecture Friday 4/12 by Professor Paul Hilfinger on Macros.
The Scheme Project is due Tuesday 4/23.
- Checkpoint 1 due Monday 4/15.
- Checkpoint 2 due Thursday 4/18.
- Early submission bonus point for submitting by Monday 4/22.
Announcements: Friday, April 5
- Homework 8 is due Thursday 4/11.
- Sign up for small-group exam prep tutorials on tutorials.cs61a.org.
- Midterm 2 regrade requests are due Thursday 4/11.
Announcements: Monday, April 1
- Homework 7 (short) is due Thursday 4/4!
- Midterm 2 should be graded by Wednesday 4/3.
- Coming next week: exam prep small-group tutoring
Announcements: Thursday, March 21
Midterm 2 is 8pm-10pm Thursday 3/21.
- Please read the Midterm 2 exam logistics post.
- Scores will not be returned until after Spring Break.
Special schedule Friday 3/22.
- Optional panel on AI governance 1-2 in Berkeley Law auditorium.
- Optional guest lecture on Large Language Models (Pamela Fox) 2-3 in 1 Pimentel.
- Optional guest lecture/Q&A on the Ants GUI (Benji Xu & Justin Park) 3-4 in 293 Cory.
- No discussion Wednesday 3/20 or Thursday 3/21.
Announcements: Monday, March 18
The Ants Project is due Tuesday 3/19.
- Early submission bonus point for finishing by Monday 3/18.
- Office hours Monday 3/18 are 6-8pm
Midterm 2 is 8pm-10pm Thursday 3/21.
- No lecture Wednesday 3/20.
- No discussion Wednesday 3/20 or Thursday 3/21.
- Scores will not be returned until after Spring Break.
Special schedule Friday 3/22.
- Optional guest lecture on Large Language Models (Pamela Fox) 2-3 in 1 Pimentel.
- Optional guest lecture/Q&A on the Ants GUI (Benji Xu & Justin Park) 3-4 in 293 Cory.
Announcements: Wednesday, March 13
- Homework 6 (very short) is due Thursday 3/14.
The Ants Project is due Tuesday 3/19.
- Early submission bonus point for finishing by Monday 3/18.
Midterm 2 is 8pm-10pm Thursday 3/21.
- Alteration requests due Sunday 3/17.
- No lecture Wednesday 3/20.
- No discussion Wednesday 3/20 or Thursday 3/21.
- Optional (great) guest lecture Friday 3/22.
- Scores will not be returned until after Spring Break.
Announcements: Friday, March 8
- Homework 6 (very short) is due Thursday March 14.
The Ants Project is due Tuesday 3/19.
- Checkpoint 1 (3 questions) is due Thursday 3/7.
- Checkpoint 2 (many questions) is due Tuesday 3/12.
- Early submission bonus point for finishing by Monday 3/18.
Announcements: Wednesday, March 6
- Homework 5 is due Thursday March 7.
The Ants Project is due Tuesday 3/19.
- Checkpoint 1 (3 questions) is due Thursday 3/7.
- Checkpoint 2 (many questions) is due Tuesday 3/12.
- Early submission bonus point for finishing by Monday 3/18.
Thursday afternoon office hours in Warren are only from 5pm-6pm!
- Only HW 5 & Checkpoint 1 questions will be answered on Thursday afternoon.
- Please come today (Wednesday) instead!
Midterm 2 is 8pm-10pm Thursday 3/21.
- Fill out the alteration request form by Sunday 3/17 for all exam-related requests.
You can come to lab early and/or stay late on Tuesday (or come at an unassigned time) to finish lab.
- Your lab period is also a fine time to ask questions about homework or projects, but questions about lab will be prioritized.
Announcements: Friday, March 1
- Homework 5 is due Thursday March 7.
Announcements: Wednesday, February 28
- Homework 4 is due Thursday Feb 29.
Announcements: Friday, February 23
The Cats project is due Tuesday Feb 27.
- Early submission point for finishing by Monday Feb 26.
- Homework 4 is due Thursday Feb 29.
Announcements: Friday, February 16
The Cats project is due Tuesday Feb 27.
- Checkpoint (most of the project) is due Thursday Feb 22.
- Early submission point for finishing by Monday Feb 26.
Announcements: Wednesday, February 14
- Homework 3 is due Thursday Feb 15.
- Midterm 1 regrade requests are due Thursday Feb 15.
The Cats project is due Tuesday Feb 27.
- Checkpoint (most of the project) is due Thursday Feb 22.
- Early submission point for finishing by Monday Feb 26.
Announcements: Monday, February 12
- Homework 3 due Thursday Feb 15.
- Midterm 1 regrade requests are due Thursday Feb 15.
- Monday 2/12 office hours moved to Soda 310, 6pm-8pm.
Announcements: Friday, February 9
- Homework 3 due Thursday Feb 15.
- All students will receive participation credit for Discussion 3 (because of campus wi-fi).
- Midterm 1 regrade requests are due Thursday Feb 15.
Announcements: Wednesday, February 7
- The Hog project is due Wednesday Feb 7.
- Midterm 1 regrade requests are due Thursday Feb 15.
Announcements: Friday, February 2
Midterm 1 is 8pm-10pm Monday Feb 5.
- The alteration request form will stay open, but the deadline has passed, and we might not be able to accommodate late requests.
- The Midterm 1 Study Guide will be provided.
- You may bring a handwritten sheet of notes (front and back)
- Seating assignments will be released by Sunday night.
- No lecture on Monday Feb 5.
- No lab on Tuesday Feb 6.
The Hog project is due Wednesday Feb 7.
- Early submission bonus for finishing by Tuesday Feb 6.
Announcements: Wednesday, January 31
- Homework 2 is due Thursday Feb 1.
Midterm 1 is 8pm-10pm Monday Feb 5.
- Fill out the alteration request form for any exam-related requests.
- The Midterm 1 Study Guide will be provided.
- You may bring a handwritten sheet of notes (front and back)
- Seating assignments will be released by Sunday night.
- No pre-recorded videos for lecture on Friday Feb 2.
- No lecture on Monday Feb 5.
- No lab on Tuesday Feb 6.
The Hog project is due Wednesday Feb 7.
- Early submission bonus for finishing by Tuesday Feb 6.
Announcements: Monday, January 29
The Hog project is due Wednesday Feb 7.
- Checkpoint due Tuesday Jan 30.
- Early submission bonus for finishing by Tuesday Feb 6.
- Homework 2 is due Thursday Feb 1.
- If you would like to be introduced as someone willing to help during lab, fill out this form before your lab period.
Announcements: Friday, January 26
The Hog project is due Wednesday Feb 7.
- Checkpoint due Tuesday Jan 30.
- Early submission bonus for finishing by Tuesday Feb 6.
- Homework 2 is due Thursday Feb 1.
- Save the date: Midterm 1 is 8pm-10pm Monday Feb 5!
Announcements: Wednesday, January 24
- Lab 0 and Lab 1 are due Wednesday Jan 24.
- Homework 1 is due Thursday Jan 25.
The Hog project is due Wednesday Feb 7.
- Checkpoint due Tuesday Jan 30.
- Early submission bonus for finishing by Tuesday Feb 6.
- The extension request form at go.cs61a.org/extensions is now available.
Announcements: Monday, January 22
Please try to complete Lab 0 at home before Tuesday's lab.
- Come to office hours 5pm-8pm Monday in 101B Warren Hall for assistance.
Lab 1 is on Tuesday Jan 23.
- You should have received an email about your lab time and location if you filled out the preference form before classes started.
- You should receive a message from our course manager Jenna if you did not fill out the preference form.
- The lab assignment is due Wednesday, but you will likely finish it during your lab period.
- If you would like to be introduced as someone willing to help during lab, fill out this form before your lab period.
Homework 1 is due 11:59pm Thursday 1/25.
- Come to office hours for help!
Announcements: Friday, January 19
- Please try to complete Lab 0 at home before Tuesday.
- Homework 1 is due 11:59pm Thursday 1/25.
Lab 1 is on Tuesday Jan 23.
- You should have received an email about your lab time and location if you filled out the preference form before classes started.
- You should receive a message from our course manager Jenna if you did not fill out the preference form.
Announcements: Wednesday, January 17
- Welcome to CS 61A!
- Discussion begins this week.
- If you are not in a discussion group and would like to be, email our course manager Jenna: jiyeonwoo@berkeley.edu
- Lab begins Tuesday Jan 23.
- The Fall 2024 site has been archived.
Announcements: Friday, January 12
- Welcome to CS 61A!
- Complete the section preference form by 11:59pm Monday Jan 15.
- Lecture and Discussion begin Wednesday Jan 17.
- Lab begins Tuesday Jan 23.
- The Fall 2024 site has been archived.
Announcements: Saturday, January 6
- Welcome to CS 61A!
Current Assignments
Calendar
Week | Date | Lecture | Textbook | Lab & Discussion Links | Homework & Project |
---|---|---|---|---|---|
1 | Wed 1/17 |
Welcome
|
|
Disc 00: Getting Started
|
|
Fri 1/19 |
Functions
|
Lab 00: Getting Started
Due
Wed 1/24
|
HW 01: Functions, Control
Due
Thu 1/25
|
||
2 | Mon 1/22 |
Control
|
Lab 01: Functions, Control
Due
Wed 1/24
|
||
Wed 1/24 |
Higher-Order Functions
|
Disc 01: Control, Environment Diagrams |
Hog
Checkpt
Tue 1/30
Due
Wed 2/7
|
||
Fri 1/26 |
Environments
|
HW 02: Higher-Order Functions
Due
Thu 2/1
|
|||
3 | Mon 1/29 |
Functional Abstraction
|
|
Lab 02: Higher-Order Functions, Lambda Expressions
Due
Wed 1/31
|
|
Wed 1/31 |
Function Examples
|
|
Disc 02: Environment Diagrams, Higher-Order Functions | ||
Fri 2/2 |
Function Demos (Optional)
|
|
|||
4 | Mon 2/5 |
Midterm 1 (8pm-10pm) | |||
Wed 2/7 |
Recursion
|
Disc 03: Recursion | |||
Fri 2/9 |
Tree Recursion
|
HW 03: Recursion, Tree Recursion
Due
Thu 2/15
|
|||
5 | Mon 2/12 |
Sequences
|
Lab 03: Recursion, Python Lists
Due
Wed 2/14
|
||
Wed 2/14 |
Containers
|
Disc 04: Tree Recursion |
Cats
Checkpt
Thu 2/22
Due
Tue 2/27
|
||
Fri 2/16 |
Data Abstraction
|
||||
6 | Mon 2/19 |
No Lecture: Presidents' Day |
Lab 04: Tree Recursion, Data Abstraction
Due
Wed 2/21
|
||
Wed 2/21 |
Trees
|
Disc 05: Trees | |||
Fri 2/23 |
Mutability
|
HW 04: Sequences, Trees
Due
Thu 2/29
|
|||
7 | Mon 2/26 |
Iterators
|
Lab 05: Iterators, Mutability
Due
Wed 2/28
|
||
Wed 2/28 |
Generators
|
Disc 06: Iterators, Generators | |||
Fri 3/1 |
Objects
|
HW 05: Generators
Due
Thu 3/7
|
|||
8 | Mon 3/4 |
Attributes
|
Lab 06: Object-Oriented Programming
Due
Wed 3/6
|
Ants
Checkpt
1
Thu 3/7
Checkpt
2
Tue 3/12
Due
Tue 3/19
|
|
Wed 3/6 |
Inheritance
|
Disc 07: OOP | |||
Fri 3/8 |
Representation
|
HW 06: Object-Oriented Programming, Linked Lists
Due
Thu 3/14
|
|||
9 | Mon 3/11 |
Composition
|
|
Lab 07: Linked Lists, Inheritance
Due
Wed 3/13
|
|
Wed 3/13 |
Efficiency
|
Disc 08: Linked Lists, Efficiency | |||
Fri 3/15 |
Decomposition
|
|
|||
10 | Mon 3/18 |
Data Examples
|
|
Lab 08: Mutable Trees
Due
Wed 3/20
|
|
Wed 3/20 |
No Lecture: Midterm 2 on Thursday | ||||
Thu 3/21 |
Midterm 2 (8pm-10pm) | ||||
Fri 3/22 |
Large Language Models (Pamela Fox) (Optional)
|
|
|||
11 | Mon 3/25 |
No Lecture: Spring Break | |||
Wed 3/27 |
No Lecture: Spring Break | ||||
Fri 3/29 |
No Lecture: Cesar Chavez Day | ||||
12 | Mon 4/1 |
Scheme
|
Lab 09: Scheme
Due
Wed 4/3
|
HW 07: Scheme
Due
Thu 4/4
|
|
Wed 4/3 |
Scheme Lists
|
Disc 09: Scheme, Scheme Lists
|
|||
Fri 4/5 |
Calculator
|
HW 08: Scheme Lists
Due
Thu 4/11
|
|||
13 | Mon 4/8 |
Interpreters
|
Lab 10: Interpreters
Due
Wed 4/10
|
Scheme
Checkpt
1
Mon 4/15
Checkpt
2
Thu 4/18
Due
Tue 4/23
|
|
Wed 4/10 |
Programs as Data
|
|
Disc 10: Interpreters | ||
Fri 4/12 |
Macros
|
|
HW 09: Programs as Data, Macros
Due
Thu 4/25
|
||
14 | Mon 4/15 |
SQL
|
|
Lab 11: Programs as Data, Macros
Due
Wed 4/17
|
(Optional) Scheme Contest
Due
Wed 4/24
|
Wed 4/17 |
Tables
|
|
Disc 11: SQL
|
||
Fri 4/19 |
Aggregation
|
|
HW 10: SQL
Due
Thu 4/25
|
||
15 | Mon 4/22 |
Databases (Optional)
|
|
Lab 12: SQL
Due
Wed 4/24
|
|
Wed 4/24 |
Final Examples
|
|
Disc 12: Final Review
|
||
Fri 4/26 |
Conclusion
|
|
HW 11: Finale
Due
Sun 5/5
Scheme Gallery
Due
Fri 5/3
|
||
16 | Mon 4/29 |
No Lecture: RRR Week | |||
Wed 5/1 |
No Lecture: RRR Week | ||||
Fri 5/3 |
No Lecture: RRR Week | ||||
17 | Tue 5/7 |
Final (11:30am-2:30pm) |