CS 61A: Structure and Interpretation of Computer Programs
Fall 2024: Mon, Wed, Fri 1pm in 150 Wheeler
Announcements: Wednesday, November 20
- Homework 9 deadline extended to Monday 12/2.
Scheme project due Tuesday 11/26.
- Checkpoint 2 due Thursday 11/21.
- Early submission bonus point for submitting by Monday 11/25.
- Optional: Scheme Recursive Art Contest entries due Wednesday 12/4.
Announcements: Friday, November 15
- Homework 9 deadline extended to Monday 12/2.
Scheme project due Tuesday 11/26.
- Checkpoint 1 due Monday 11/18.
- Checkpoint 2 due Thursday 11/21.
- Early submission bonus point for submitting by Monday 11/25.
Announcements: Wednesday, November 13
- Homework 8 due Thursday 11/14.
Scheme project due Tuesday 11/26.
- Checkpoint 1 due Monday 11/18.
- Checkpoint 2 due Thursday 11/21.
- Early submission bonus point for submitting by Monday 11/25.
Announcements: Friday, November 8
- Homework 8 due Thursday 11/14.
- Extension requests of up to 4 days will be automatically approved for assignments due this week (Lab 9, Homework 7).
Announcements: Wednesday, November 6
- Homework 7 due Thursday 11/7.
- Extension requests of up to 4 days will be automatically approved for assignments due this week (Lab 9, Homework 7).
Announcements: Monday, November 4
- Homework 7 due Thursday 11/7.
Announcements: Monday, October 28
Ants project is due Wednesday 10/30.
- Early submission bonus point Tuesday 10/29.
Midterm 2 is Friday 11/1 7pm-9pm.
- Seat assignments will be emailed to you before the exam (probably Thursday)
- You may bring 2 2-sided sheets of notes.
- The midterm 1 study guide and midterm 2 study guide will be printed for you and provided.
- No discussion this week on 10/30 & 10/31. Instead, you can sign up to form a study group in your regular discussion room & time (results).
- No lecture Friday 11/1.
Announcements: Friday, October 25
Ants project is due Wednesday 10/30.
- Early submission bonus point Tuesday 10/29.
Midterm 2 is Friday 11/1 7pm-9pm.
- Seat assignments will be emailed to you before the exam (probably Thursday)
- Complete the alteration request form by Sunday, 10/27 at 11:59pm for any seating/timing requests (including DSP students).
- You may bring 2 2-sided sheets of notes.
- The midterm 1 study guide and midterm 2 study guide will be printed for you and provided.
Announcements: Wednesday, October 23
- Homework 6 is due Thursday 10/24.
Ants project is due Wednesday 10/30.
- Early submission bonus point Tuesday 10/29.
Midterm 2 is Friday 11/1 7pm-9pm.
- Seat assignments will be emailed to you before the exam (probably Thursday)
- Complete the alteration request form by Sunday, 10/27 at 11:59pm for any seating/timing requests (including DSP students).
- Arrive by 7pm to find your seat; the exam will start at 7:10pm.
- The exam covers material in the videos through Monday 10/21 (Efficiency).
- You may bring 2 2-sided sheets of notes.
- The midterm 1 study guide and midterm 2 study guide will be printed for you and provided.
- Past exams are in the Resources menu above.
Announcements: Monday, October 21
- Homework 6 is due Thursday 10/24.
Ants project is due Wednesday 10/30.
- Checkpoint 2 (most of the project) is due Tuesday 10/22.
- Early submission bonus point Tuesday 10/29.
Midterm 2 is Friday 11/1 7pm-9pm.
- Covers lecture material through Monday 10/21.
Announcements: Friday, October 18
Homework 6 is due Thursday 10/24.
- You may not use AI tools other than the 61a-bot built into
ok
on homework.
- You may not use AI tools other than the 61a-bot built into
Ants project is due Wednesday 10/30.
- Checkpoint 2 (most of the project) is due Tuesday 10/22.
- Early submission bonus point Tuesday 10/29.
- You may not use AI tools on projects.
- Midterm 2 is Friday 11/1 7pm-9pm.
Announcements: Wednesday, October 16
Homework 5 is due Thursday 10/17.
- You may not use AI tools other than the 61a-bot built into
ok
on homework.
- You may not use AI tools other than the 61a-bot built into
Ants project is due Wednesday 10/30.
- Checkpoint 1 (3 questions) is due Thursday 10/17.
- Checkpoint 2 (most of the project) is due Tuesday 10/22.
- Early submission bonus point Tuesday 10/29.
- You may not use AI tools on projects.
Announcements: Friday, October 11
Homework 5 is due Thursday 10/17.
- You may not use AI tools other than the 61a-bot built into
ok
on homework.
- You may not use AI tools other than the 61a-bot built into
Ants project is due Wednesday 10/30.
- Checkpoint 1 (3 questions) is due Thursday 10/17.
- Checkpoint 2 (most of the project) is due Tuesday 10/22.
- Early submission bonus point Tuesday 10/29.
- You may not use AI tools on projects.
Announcements: Wednesday, October 9
- Homework 4 is due Thursday 10/10.
Announcements: Monday, October 7
Cats project is due Tuesday 10/8.
- Early submission bonus point for finishing Monday 10/7.
- Candy in office hours (at least until Halloween)
- Homework 4 is due Thursday 10/10.
- DeNero office hours 2-3pm Tuesday 10/8 in Warren 101BC (instead of 1-3pm).
Announcements: Friday, October 4
Cats project is due Tuesday 10/8.
- Early submission bonus point for finishing Monday 10/7.
- Homework 4 is due Thursday 10/10.
Announcements: Wednesday, October 2
Cats project is due Tuesday 10/8.
- Checkpoint due Thursday 10/3 is most of the project.
- Early submission bonus point for finishing Monday 10/7.
- Rule from Lecture 1: Don't ask ChatGPT or other similar tools to write code for you.
- Recommended: Don't use AI tools to help you with the project at all; just come to office hours.
Announcements: Monday, September 30
Cats project is due Tuesday 10/8.
- Checkpoint due Thursday 10/3 is most of the project.
- Early submission bonus point for finishing Monday 10/7.
- Monday 9/30 office hours are moved to Soda 275 5:30pm-8pm.
Announcements: Friday, September 27
Cats project is due Tuesday 10/8.
- Checkpoint due Thursday 10/3.
- Early submission bonus point for finishing Monday 10/7.
- No homework is due next week; work on the project!
Announcements: Wednesday, September 25
- Homework 3 is due Thursday 9/26.
Cats project is due Tuesday 10/8.
- Checkpoint due Thursday 10/3.
- Early submission bonus point for finishing Monday 10/7.
- No homework is due next week; work on the project!
Announcements: Monday, September 23
- Midterm 1 regrade requests are due Tuesday 9/24.
- Homework 3 is due Thursday 9/26.
Announcements: Friday, September 20
- Midterm 1 regrade requests are due Tuesday 9/24.
- Homework 3 is due Thursday 9/26.
Announcements: Wednesday, September 18
Hog is due Thursday 9/19 @ 11:59pm.
- Early submission bonus point for finishing Wednesday 9/18.
Midterm 1 regrade requests are due Tuesday 9/24.
- For your reference: Fall 2023 midterm score scatter plot.
Announcements: Friday, September 13
- Hog is due Thursday 9/19 @ 11:59pm.
Midterm 1 is Monday 9/16 8pm-10pm.
- You may bring a double-sided 8.5x11 sheet of notes that you create yourself.
- We will provide the Midterm 1 Study Guide and scratch paper.
- Complete the alteration request form by Wednesday, 9/11 at 11:59pm for any seating/timing requests (including DSP students).
- Past exams are in the Resources menu above.
- No lecture on Monday 9/16.
- No lab on Monday 9/16 or Tuesday 9/17.
Announcements: Wednesday, September 11
- Homework 2 is due Thursday 9/12 @ 11:59pm.
Hog is due Thursday 9/19 @ 11:59pm.
- Checkpoint due Thursday 9/12.
- You can sign up to attend a TA-led lecture-style review of this week's discussion worksheet.
Midterm 1 is Monday 9/16 8pm-10pm.
- You may bring a double-sided 8.5x11 sheet of notes that you create yourself.
- We will provide the Midterm 1 Study Guide and scratch paper.
- Complete the alteration request form by Wednesday, 9/11 at 11:59pm for any seating/timing requests (including DSP students).
- Past exams are in the Resources menu above.
- No lecture on Monday 9/16.
- No lab on Monday 9/16 or Tuesday 9/17.
Announcements: Monday, September 9
- Homework 1 is due Monday 9/9 @ 11:59pm.
- Homework 2 is due Thursday 9/12 @ 11:59pm.
Hog is due Thursday 9/19 @ 11:59pm.
- Checkpoint due Thursday 9/12.
- Come to office hours in Warren 101B for help.
Midterm 1 is Monday 9/16 8pm-10pm.
- Seat assignments will be emailed to you before the exam (probably Sunday)
- Complete the alteration request form by Wednesday, 9/11 at 11:59pm for any seating/timing requests (including DSP students).
- Arrive by 8pm to find your seat; the exam will start at 8:10pm.
- The exam covers material in the videos through Monday 9/9 (Environments).
- Past exams are in the Resources menu above.
- You can sign up to attend a TA-led lecture-style review of this week's discussion worksheet.
Announcements: Friday, September 6
- Homework 1 is due Monday 9/9 @ 11:59pm.
- Homework 2 is due Thursday 9/12 @ 11:59pm.
Hog is due Thursday 9/19 @ 11:59pm.
- Checkpoint due Thursday 9/12.
- Come to office hours in Warren 101B for help.
Announcements: Wednesday, September 4
Lab 0 and Lab 1 are due Wednesday 9/4 @ 11:59pm.
- You're meant to complete lab assignments during lab.
- It's ok to share your lab code with others.
Homework 1 is due Monday 9/9 @ 11:59pm.
- Recommended: Finish by Thursday 9/5.
- 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.
- If you need more time, you can request an extension.
- Come to staff office hours in Warren 101B starting Wed 9/4 5pm-8pm.
- See Ed for: changing sections, lecture questions, external announcements, etc.
Announcements: Friday, August 30
- Monday labs are rescheduled to Friday 8/30 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.
There are many optional problems on Lab 1 that are useful practice. We recommend:
- Complete the required Lab 1 problems (about Lecture 2: Functions).
- Watch the videos for Lecture 3: Control early, perhaps on Monday.
- Complete the optional Lab 1 problems (about Lecture 3: Control).
Homework 1 deadline extended to Monday 9/9 @ 11:59pm. We recommend:
- Complete all the optional Lab 1 problems before working on Homework 1.
- Finish the homework by Thursday 9/5 so you can focus on Homework 2 & the Hog project starting 9/6.
Announcements: Monday, August 26
- Welcome to CS 61A!
Current Assignments
Calendar
Week | Date | Lecture | Textbook | Lab & Discussion Links | Homework & Project |
---|---|---|---|---|---|
1 | Wed 8/28 |
Welcome
|
|
Disc 00: Getting Started
Lab 00: Getting Started
Due
Wed 9/4
|
|
Fri 8/30 |
Functions
|
HW 01: Functions, Control
Due
Mon 9/9
|
|||
2 | Mon 9/2 |
No Lecture: Labor Day |
Lab 01: Functions
Due
Wed 9/4
|
||
Wed 9/4 |
Control
|
Disc 01: Control, Environment Diagrams | |||
Fri 9/6 |
Higher-Order Functions
|
HW 02: Higher-Order Functions
Due
Thu 9/12
Hog
Checkpt
Thu 9/12
Early Due
Wed 9/18
Due
Thu 9/19
|
|||
3 | Mon 9/9 |
Environments
|
Lab 02: Higher-Order Functions, Lambda Expressions
Due
Wed 9/11
|
||
Wed 9/11 |
Functional Abstraction
|
|
Disc 02: Environment Diagrams, Higher-Order Functions | ||
Fri 9/13 |
Function Examples
|
|
|||
4 | Mon 9/16 |
Midterm 1 (8pm-10pm) | |||
Wed 9/18 |
Recursion
|
Disc 03: Recursion | |||
Fri 9/20 |
Tree Recursion
|
HW 03: Recursion, Tree Recursion
Due
Thu 9/26
|
|||
5 | Mon 9/23 |
Sequences
|
Lab 03: Recursion, Python Lists
Due
Wed 9/25
|
||
Wed 9/25 |
Containers
|
Disc 04: Tree Recursion |
Cats
Checkpt
Thu 10/3
Early Due
Mon 10/7
Due
Tue 10/8
|
||
Fri 9/27 |
Data Abstraction
|
||||
6 | Mon 9/30 |
Trees
|
Lab 04: Tree Recursion, Data Abstraction
Due
Wed 10/2
|
||
Wed 10/2 |
Mutability
|
Disc 05: Trees | |||
Fri 10/4 |
Iterators
|
HW 04: Sequences, Data Abstraction, Trees
Due
Thu 10/10
|
|||
7 | Mon 10/7 |
Generators
|
Lab 05: Iterators, Mutability
Due
Wed 10/9
|
||
Wed 10/9 |
Objects
|
Disc 06: Generators | |||
Fri 10/11 |
Attributes
|
HW 05: Generators
Due
Thu 10/17
Ants
Checkpt
1
Thu 10/17
Checkpt
2
Tue 10/22
Early Due
Tue 10/29
Due
Wed 10/30
|
|||
8 | Mon 10/14 |
Inheritance
|
Lab 06: Object-Oriented Programming
Due
Wed 10/16
|
||
Wed 10/16 |
Representation
|
Disc 07: OOP | |||
Fri 10/18 |
Composition
|
|
HW 06: Object-Oriented Programming, Linked Lists
Due
Thu 10/24
|
||
9 | Mon 10/21 |
Efficiency
|
Lab 07: Linked Lists, Inheritance
Due
Wed 10/23
|
||
Wed 10/23 |
Decomposition
|
|
Disc 08: Linked Lists | ||
Fri 10/25 |
Data Examples
|
|
|||
10 | Mon 10/28 |
Language Models (Optional)
|
|
Lab 08: Mutable Trees
Due
Wed 10/30
|
|
Wed 10/30 |
Midterm Examples (Optional)
|
|
|||
Fri 11/1 |
Midterm 2 (7pm-9pm) | ||||
11 | Mon 11/4 |
Scheme
|
Lab 09: Scheme
Due
Wed 11/6
|
HW 07: Scheme
Due
Thu 11/7
|
|
Wed 11/6 |
Scheme Lists
|
Disc 09: Scheme, Scheme Lists | |||
Fri 11/8 |
Calculator
|
HW 08: Scheme Lists
Due
Thu 11/14
|
|||
12 | Mon 11/11 |
No Lecture: Veterans Day |
Lab 10: Interpreters
Due
Wed 11/13
|
||
Wed 11/13 |
Interpreters
|
Disc 10: Interpreters |
Scheme
Checkpt
1
Mon 11/18
Checkpt
2
Thu 11/21
Early Due
Mon 11/25
Due
Tue 11/26
|
||
Fri 11/15 |
Programs as Data
|
|
HW 09: Programs as Data, Macros
Due
Mon 12/2
|
||
13 | Mon 11/18 |
Macros
|
|
Lab 11: Programs as Data, Macros
Due
Wed 11/20
|
|
Wed 11/20 |
SQL
|
|
Disc 11: Macros
|
(Optional) Scheme Contest
Due
Wed 12/4
|
|
Fri 11/22 |
Tables
|
|
HW 10: SQL
Due
Thu 12/5
|
||
14 | Mon 11/25 |
Aggregation (Zoom Only)
|
|
||
Wed 11/27 |
No Lecture: Thanksgiving | ||||
Fri 11/29 |
No Lecture: Thanksgiving | ||||
15 | Mon 12/2 |
Databases (Optional)
|
|
Lab 12: SQL
Due
Wed 12/4
|
|
Wed 12/4 |
Designing Functions
|
|
Disc 12: SQL
|
||
Fri 12/6 |
Conclusion |
|
HW 11: Finale
Due
Sun 12/15
|
||
16 | Mon 12/9 |
No Lecture: RRR Week | |||
Wed 12/11 |
No Lecture: RRR Week | ||||
Fri 12/13 |
No Lecture: RRR Week | ||||
17 | Wed 12/18 |
Final (7pm-10pm) |