CS 61A: Structure and Interpretation of Computer Programs
Fall 2023, Instructor: Satish Rao
Friday, September 15
- Homework 3 due Thursday 9/21.
Week 4 Class Material
-
Lecture 9: Recursion
-
Lecture 10: Tree Recursion
- Week 4 Readings:
Tuesday, September 12
Hog is due 11:59pm Wed 9/13.
- Early submission bonus point for completing the project by Tues 9/12.
Alternative courses:
Week 4 Class Material
-
Lecture 9: Recursion
-
Lecture 10: Tree Recursion
- Week 4 Readings:
Tuesday, September 5
- Homework 2 is due 11:59pm Thursday 9/7.
Hog is due 11:59pm Wed 9/13.
- Early submission bonus point for completing the project by Tues 9/12.
- Complete Phase 1 by Tuesday 9/5 to earn the checkpoint (one point).
Midterm 1 will be held 8pm-10pm Monday 9/11 in various locations.
- The midterm 1 study guide will be provided.
- You may bring 1 2-sided sheet of notes.
- Arrive by 8pm to find your seat and receive your exam; the exam itself will begin at 8:10.
- The exam will cover material through Lecture 5 (9/1).
- No lab next week: 9/11-9/13
- No lecture on Monday 9/11
Week 3 Class Material
-
Lecture 6: Sound (Optional)
-
Lecture 7: Functional Abstraction
-
Lecture 8: Function Examples
- Week 3 Readings:
Friday, September 1
- Homework 2 is due 11:59pm Thursday 9/7.
Hog is due 11:59pm Wed 9/13.
- Early submission bonus point for completing the project by Tues 9/12.
- Complete Phase 1 by Tuesday 9/5 to earn the checkpoint (one point).
Midterm 1 will be held 8pm-10pm Monday 9/11 in various locations.
- Arrive by 8pm to find your seat and receive your exam; the exam itself will begin at 8:10.
- The exam will cover material through Lecture 5 (9/1).
Week 2 Class Material
-
Lecture 3: Control
-
Lecture 4: Higher-Order Functions
-
Lecture 5: Environments
- Week 2 Readings:
Wednesday, August 30
- Homework 1 is due 11:59pm Thursday 8/31. Go to lab, then try the homework.
Hog is due 11:59pm Wed 9/13.
- Early submission bonus point for completing the project by Tues 9/12.
- Complete Phase 1 by Tuesday 9/5 to earn the checkpoint (one point).
- Come to drop-in office hours if you want help with lab, homework, projects, or anything else.
Week 2 Class Material
-
Lecture 3: Control
-
Lecture 4: Higher-Order Functions
-
Lecture 5: Environments
- Week 2 Readings:
Friday, August 25
- Try Lab 00 before coming to Lab next week.
- Homework 1 is due 11:59pm Thursday 8/31. Go to lab, then try the homework.
- Use the Rao and DeNero links at the top nav bar to find the right course calendar.
Week 1 Class Material
-
Lecture 1: Welcome
-
Lecture 2: Functions
- Week 1 Readings:
Monday, August 21
- Welcome to CS 61A!
- The homepage for the larger offering of CS 61A (LEC 001, with Professor Rao) can be found at cs61a.org
- The homepage for the smaller offering of CS 61A (LEC 002, with Professor DeNero) can be found at cs61a.org/denero.html
- Discussion section begins this week (starting Wednesday Aug 23)
- Section assignments will be released by Tuesday, Aug 22
Week 1 Class Material
-
Lecture 1: Welcome
-
Lecture 2: Functions
- Week 1 Readings:
Current Assignments
Calendar
Week | Date | Lecture | Textbook | Lab & Discussion Links | Homework & Project |
---|---|---|---|---|---|
1 | Wed 8/23 |
|
Disc 00: Getting Started
Lab 00: Getting Started
Due
Wed 8/30
|
||
Fri 8/25 |
HW 01: Functions, Control
Due
Thu 8/31
|
||||
2 | Mon 8/28 |
Lab 01: Functions, Control
Due
Wed 8/30
|
|||
Wed 8/30 |
Disc 01: Control, Environment Diagrams |
Hog
Checkpt
Tue 9/5
Due
Wed 9/13
|
|||
Fri 9/1 |
HW 02: Higher-Order Functions
Due
Thu 9/7
|
||||
3 | Mon 9/4 |
|
Lab 02: Higher-Order Functions, Lambda Expressions
Due
Wed 9/6
|
||
Wed 9/6 |
|
Disc 02: Environment Diagrams, Higher-Order Functions | |||
Fri 9/8 |
|
Lab 03: Midterm Review (Optional)
Due
Wed 9/13
|
|||
4 | Mon 9/11 |
Midterm 1 (8pm-10pm) | |||
Wed 9/13 |
Disc 03: Recursion | ||||
Fri 9/15 |
HW 03: Recursion, Tree Recursion
Due
Thu 9/21
|
||||
5 | Mon 9/18 |
Lab 04: Recursion, Python Lists
Due
Wed 9/20
|
|||
Wed 9/20 |
Disc 04: Tree Recursion |
Cats
Checkpt
Thu 9/28
Due
Tue 10/3
|
|||
Fri 9/22 |
|||||
6 | Mon 9/25 |
Trees |
Lab 05: Trees, Data Abstraction
Due
Wed 9/27
|
||
Wed 9/27 |
Mutability |
Disc 05: Mutability, Data Abstraction, Trees
|
|||
Fri 9/29 |
Iterators |
HW 04: Sequences, Trees
Due
Thu 10/5
|
|||
7 | Mon 10/2 |
Generators |
Lab 06: Iterators, Mutability
Due
Wed 10/4
|
||
Wed 10/4 |
Objects 1 |
Disc 06: Iterators, Generators
|
|||
Fri 10/6 |
Objects 2 |
HW 05: Generators
Due
Thu 10/12
Ants
Checkpt
1
Wed 10/11
Checkpt
2
Tue 10/17
Due
Tue 10/24
|
|||
8 | Mon 10/9 |
Inheritance |
Lab 07: Object-Oriented Programming
Due
Wed 10/11
|
||
Wed 10/11 |
Representation |
Disc 07: OOP, String Representation
|
|||
Fri 10/13 |
Composition |
|
HW 06: Object-Oriented Programming, Linked Lists
Due
Thu 10/19
|
||
9 | Mon 10/16 |
Efficiency |
Lab 08: Linked Lists
Due
Wed 10/18
|
||
Wed 10/18 |
Decomposition |
|
Disc 08: Linked Lists, Efficiency
|
||
Fri 10/20 |
Data Examples |
|
|||
10 | Mon 10/23 |
ChatGPT (Pamela Fox) (Optional) |
|
Lab 09: Mutable Trees
Due
Wed 10/25
|
|
Wed 10/25 |
TBD (Optional) |
|
Disc 09: Midterm Review
|
||
Fri 10/27 |
Midterm 2 (7pm-9pm) | ||||
11 | Mon 10/30 |
Scheme |
Lab 10: Scheme
Due
Wed 11/1
|
HW 07: Scheme
Due
Thu 11/2
|
|
Wed 11/1 |
Scheme Lists |
Disc 10: Scheme, Scheme Lists
|
|||
Fri 11/3 |
Calculator |
HW 08: Scheme Lists
Due
Thu 11/9
|
|||
12 | Mon 11/6 |
Interpreters |
Lab 11: Interpreters
Due
Wed 11/8
|
Scheme
Checkpt
1
Mon 11/13
Checkpt
2
Thu 11/16
Due
Tue 11/21
|
|
Wed 11/8 |
Tail Calls (Optional) |
|
Disc 11: Interpreters, More Scheme
|
||
Fri 11/10 |
No Lecture: Veterans Day | ||||
13 | Mon 11/13 |
Programs as Data |
|
Lab 12: Programs as Data
Due
Wed 11/15
|
|
Wed 11/15 |
Macros |
|
Disc 12: Macros
|
||
Fri 11/17 |
SQL |
|
HW 09: Programs as Data, Macros
Due
Tue 11/28
|
||
14 | Mon 11/20 |
Tables |
|
||
Wed 11/22 |
No Lecture: Thanksgiving Break | ||||
Fri 11/24 |
No Lecture: Thanksgiving Break | ||||
15 | Mon 11/27 |
Aggregation |
|
Lab 13: SQL
Due
Tue 12/5
|
HW 10: SQL
Due
Thu 11/30
|
Wed 11/29 |
Databases |
|
Disc 13: SQL
|
||
Fri 12/1 |
Conclusion |
|
HW 11: Finale
Due
Fri 12/8
|
||
16 | Mon 12/4 |
No Lecture: RRR Week | |||
Wed 12/6 |
No Lecture: RRR Week | ||||
Fri 12/8 |
No Lecture: RRR Week | ||||
17 | Wed 12/13 |
Final (7pm-10pm) |