CS 61A Summer 2024
CS 61A: Structure and Interpretation of Computer Programs
Calendar
| Week | Date | Lecture | Textbook | Lab & Discussion Links | Homework & Project |
|---|---|---|---|---|---|
| 1 | Mon 6/17 | Welcome[intro] | Lab 0o: Getting Started[Solutions] | ||
| 1 | Tue 6/18 | Functions[vidio][Recording1][Recording2] | [Ch.1.1], [Ch.1.2], [Ch.1.3] | Disc 0o: Getting Started | |
| 1 | Wed 6/19 | No Lecture: Juneteenth | |||
| 1 | Thu 6/20 | Control | [Ch. 1.4], [Ch. 1.5] | Disc 01: Control | HW 01: Functions, Control[pdf][zip] Hog [zip][pdf] |
| 1 | Sun 6/23 | Lab 01: Functions, Control[pdf][zip] | |||
| 2 | Mon 6/24 | Higher-Order Functions | Ch. 1.6 | ||
| 2 | Tue 6/25 | Environments | Ch. 1.6 | Disc 02: Environment Diagrams, Higher-Order Functions Solutions Video Lab 02: Higher-Order Functions, Lambda Expressions | |
| 2 | Wed 6/26 | Recursion | |||
| 2 | Thu 6/27 | Tree Recursion | Ch. 1.7 | Disc 03: Recursion, Tree Recursion | HW 02: Higher-Order Functions, Recursion |
| 2 | Sun 6/30 | Lab 03: Recursion, Tree Recursion | |||
| 3 | Mon 7/1 | Containers and Sequencess | Ch. 2.3 | Cats | |
| 3 | Tue 7/2 | Data Abstraction and ADT Trees | Ch. 2.2 Ch.2.3 | Disc 04: Tree Recursion, Trees, Python ListsLab 04: Sequences, Trees | |
| 3 | Wed 7/3 | Mutability | Ch. 2.4 | ||
| 3 | Thu 7/4 | No Lecture: Independence Day | HW 03: Tree Recursion, Sequences, Python Lists, Trees | ||
| 3 | Sun 7/7 | Lab 05: Data Abstraction, Mutability | |||
| 4 | Mon 7/8 | Iterators and Generators | Ch. 4.2 | ||
| 4 | Tue 7/9 | Efficiency | Ch. 2.8 | Disc 05: Iterators, Generators, Efficiency Lab 06: Iterators, Generators | |
| 4 | Wed 7/10 | Midterm Review | |||
| 4 | Thu 7/11 | Midterm (6-8pm) | HW 04: Iterators, Generators, Efficiency | ||
| 5 | Mon 7/15 | Objects | Ch. 2.5 | ||
| 5 | Tue 7/16 | Inheritance and String Representation | Ch. 2.5 Ch. 2.7 | Disc 06: OOP Lab 07: Object-Oriented Programming, Inheritance | |
| 5 | Wed 7/17 | Mutable Trees | Ants | ||
| 5 | Thu 7/18 | Linked Lists | Disc 07: Linked Lists, Mutable Trees | HW 05: Object-Oriented Programming, Mutable Trees, Linked Lists | |
| 5 | Sun 7/21 | Lab 08: Mutable Trees, Linked Lists | |||
| 6 | Mon 7/22 | Scheme I | Ch. 3.1 Ch. 3.2 | ||
| 6 | Tue 7/23 | Tail Calls | Disc 08: Scheme, Scheme Lists, Tail Calls Lab 09: Scheme, Scheme Lists | ||
| 6 | Wed 7/24 | Scheme II | |||
| 6 | Thu 7/25 | Interpreters | Ch. 3.5 | Disc 09: Interpreters | HW 06: Scheme, Scheme Lists Scheme |
| 6 | Sun 7/28 | Lab 10: Interpreters | |||
| 7 | Mon 7/29 | Scheme Data Abstraction | |||
| 7 | Tue 7/30 | SQL I: Intro | Disc 10: SQL, Scheme Data Abstraction Lab 11: SQL, Scheme Data Abstraction | ||
| 7 | Wed 7/31 | SQL II: Aggregation | |||
| 7 | Thu 8/1 | Special Topics I | Disc 11: SQL | HW 07: Scheme Data Abstraction, SQL | |
| 7 | Sun 8/4 | Lab 12: Final Review (Optional) | |||
| 8 | Mon 8/5 | Special Topics II | HW 08: Finale | ||
| 8 | Tue 8/6 | Final Review | |||
| 8 | Wed 8/7 | Conclusion | |||
| 8 | Thu 8/8 | Final (7-10pm) |
| Week | Date | Lecture | Textbook | Lab & Discussion Links | Homework & Project |
|---|---|---|---|---|---|
| 1 | Mon 6/17 |
Welcome
|
|
Lab 00: Getting Started
Due
Mon 6/24
|
|
| Tue 6/18 |
Functions
|
Disc 00: Getting Started | |||
| Wed 6/19 |
No Lecture: Juneteenth | ||||
| Thu 6/20 |
Control
|
Disc 01: Control |
HW 01: Functions, Control
Due
Wed 6/26
Hog
Checkpt
Thu 6/27
Due
Tue 7/2
|
||
| Sun 6/23 |
Lab 01: Functions, Control
Due
Tue 6/25
|
||||
| 2 | Mon 6/24 |
Higher-Order Functions
|
|||
| Tue 6/25 |
Environments
|
Disc 02: Environment Diagrams, Higher-Order Functions
Lab 02: Higher-Order Functions, Lambda Expressions
Due
Thu 6/27
|
|||
| Wed 6/26 |
Recursion
|
|
|||
| Thu 6/27 |
Tree Recursion
|
Disc 03: Recursion, Tree Recursion |
HW 02: Higher-Order Functions, Recursion
Due
Wed 7/3
|
||
| Sun 6/30 |
Lab 03: Recursion, Tree Recursion
Due
Tue 7/2
|
||||
| 3 | Mon 7/1 |
Containers and Sequences
|
|||
| Tue 7/2 |
Data Abstraction and ADT Trees
|
Disc 04: Tree Recursion, Trees, Python Lists
Lab 04: Sequences, Trees
Due
Thu 7/4
|
|||
| Wed 7/3 |
Mutability
|
Cats
Checkpt
Tue 7/9
Due
Tue 7/16
|
|||
| Thu 7/4 |
No Lecture: Independence Day |
HW 03: Tree Recursion, Sequences, Python Lists, Trees
Due
Wed 7/10
|
|||
| Sun 7/7 |
Lab 05: Data Abstraction, Mutability
Due
Tue 7/9
|
||||
| 4 | Mon 7/8 |
Iterators and Generators
|
|||
| Tue 7/9 |
Efficiency
|
Disc 05: Iterators, Generators, Efficiency
Lab 06: Iterators, Generators
Due
Thu 7/11
|
|||
| Wed 7/10 |
Midterm Review |
|
|||
| Thu 7/11 |
Midterm (6-8pm) |
HW 04: Iterators, Generators, Efficiency
Due
Wed 7/17
|
|||
| 5 | Mon 7/15 |
Objects
|
|||
| Tue 7/16 |
Inheritance and String Representation
|
Disc 06: OOP
Lab 07: Object-Oriented Programming, Inheritance
Due
Thu 7/18
|
|||
| Wed 7/17 |
Mutable Trees
|
|
Ants
Checkpt
Mon 7/22
Due
Thu 7/25
|
||
| Thu 7/18 |
Linked Lists
|
|
Disc 07: Linked Lists, Mutable Trees
|
HW 05: Object-Oriented Programming, Mutable Trees, Linked Lists
Due
Wed 7/24
|
|
| Sun 7/21 |
Lab 08: Mutable Trees, Linked Lists
Due
Tue 7/23
|
||||
| 6 | Mon 7/22 |
Scheme I
|
|||
| Tue 7/23 |
Tail Calls |
|
Disc 08: Scheme, Scheme Lists, Tail Calls
Lab 09: Scheme, Scheme Lists
Due
Thu 7/25
|
||
| Wed 7/24 |
Scheme II |
|
|||
| Thu 7/25 |
Interpreters
|
Disc 09: Interpreters
|
HW 06: Scheme, Scheme Lists
Due
Wed 7/31
Scheme
Checkpt
Wed 7/31
Due
Tue 8/6
|
||
| Sun 7/28 |
Lab 10: Interpreters
Due
Tue 7/30
|
||||
| 7 | Mon 7/29 |
Scheme Data Abstraction |
|
||
| Tue 7/30 |
SQL I: Intro
|
|
Disc 10: SQL, Scheme Data Abstraction
Lab 11: SQL, Scheme Data Abstraction
Due
Thu 8/1
|
||
| Wed 7/31 |
SQL II: Aggregation
|
|
|||
| Thu 8/1 |
Special Topics I |
|
Disc 11: SQL
|
HW 07: Scheme Data Abstraction, SQL
Due
Wed 8/7
|
|
| Sun 8/4 |
Lab 12: Final Review (Optional)
Due
Tue 8/6
|
||||
| 8 | Mon 8/5 |
Special Topics II |
|
HW 08: Finale
Due
Wed 8/7
|
|
| Tue 8/6 |
Final Review
|
|
|||
| Wed 8/7 |
Conclusion |
|
|||
| Thu 8/8 |
Final (7-10pm) |