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)

This site uses Just the Docs, a documentation theme for Jekyll.