CS 61A: Structure and Interpretation of Computer Programs
Fall 2024: Mon, Wed, Fri 1pm in 150 Wheeler
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
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
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
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, Trees
Due
Thu 10/10
|
|||
7 | Mon 10/7 |
Generators
|
Lab 05: Iterators, Mutability
Due
Wed 10/9
|
||
Wed 10/9 |
Objects
|
Disc 06: Iterators, Generators
|
|||
Fri 10/11 |
Attributes
|
HW 05: Generators
Due
Thu 10/17
Ants
Checkpt
1
Thu 10/17
Checkpt
2
Tue 10/22
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, Efficiency
|
||
Fri 10/25 |
Data Examples
|
|
|||
10 | Mon 10/28 |
TBD (Optional) |
|
Lab 08: Mutable Trees
Due
Wed 10/30
|
|
Wed 10/30 |
TBD (Optional) |
|
|||
Fri 11/1 |
Midterm 2 (7pm-9pm) | ||||
11 | Mon 11/4 |
Scheme
|
HW 07: Scheme
Due
Thu 11/7
|
||
Wed 11/6 |
Scheme Lists
|
||||
Fri 11/8 |
Calculator
|
HW 08: Scheme Lists
Due
Thu 11/14
|
|||
12 | Mon 11/11 |
No Lecture: Veterans Day |
Lab 09: Scheme
Due
Wed 11/13
|
||
Wed 11/13 |
Interpreters
|
Disc 09: Scheme, Scheme Lists
|
Scheme
Checkpt
1
Mon 11/18
Checkpt
2
Thu 11/21
Due
Tue 11/26
|
||
Fri 11/15 |
Programs as Data
|
|
HW 09: Programs as Data, Macros
Due
Thu 11/21
|
||
13 | Mon 11/18 |
Macros
|
|
Lab 10: Interpreters
Due
Wed 11/20
|
|
Wed 11/20 |
SQL |
|
Disc 10: Interpreters
|
||
Fri 11/22 |
Tables |
|
HW 10: SQL
Due
Wed 12/4
|
||
14 | Mon 11/25 |
Aggregation |
|
Lab 11: Programs as Data, Macros
Due
Wed 11/27
|
|
Wed 11/27 |
No Lecture: Thanksgiving |
Disc 11: SQL
|
|||
Fri 11/29 |
No Lecture: Thanksgiving | ||||
15 | Mon 12/2 |
Databases (Optional) |
|
Lab 12: SQL
Due
Wed 12/4
|
|
Wed 12/4 |
Final Examples
|
|
Disc 12: Final Review
|
||
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) |