CS 61A: Structure and Interpretation of Computer Programs

Spring 2022, Instructor: Pamela Fox

Monday, January 10
Jump to date
  • Welcome to CS 61A!
  • Join Piazza for announcements and answers to your questions.
  • The first lecture will be 2:10pm-3pm Wednesday, 1/19 on Zoom. Please attend, but it will be recorded and posted online in case you miss it.

    • Subsequent lectures through 1/28 will be held online, and will resume in-person starting 1/31.
  • You will be able to sign up for lab/discussion section pairs using the sections tool starting at 5pm on Monday, 1/17.

    • Sections and their associated TAs will be visible on the sections tool starting on Monday, 1/10.
    • There will be no lab session the first week. There will, however, be a discussion session.
    • All sections will be held online for the first two weeks (through 1/28). Use the Zoom links on the sections tool to join the right Zoom call at the start of your section. In-person sections will go back to in-person starting the week of 1/31.
  • The Fall 2021 website has moved to fa21.cs61a.org.
Week 1 Class Material
  • Lecture 1: Welcome!
  • Lecture 2: Functions
  • Week 1 Readings:
  • Disc 00: Getting Started
Week Date Lecture Textbook Lab & Discussion Links Homework & Project
1 Wed
1/19
Welcome!
Disc 00: Getting Started

Lab 00: Getting Started (Optional)
Due Thu 1/27
Fri
1/21
Functions HW 01: Variables & Functions
Due Thu 1/27
2 Mon
1/24
Control Lab 01: Variables & Functions, Control
Due Wed 1/26
Wed
1/26
Higher-Order Functions Disc 01: Control, Environment Diagrams
Fri
1/28
Environments HW 02: Control, Higher-Order Functions
Due Thu 2/3
3 Mon
1/31
Design
Lab 02: Higher-Order Functions, Lambda Expressions
Due Wed 2/2
Hog
Checkpt Thu 2/3
Due Thu 2/10
Wed
2/2
Function Examples
Disc 02: Higher-Order Functions, Self Reference
Fri
2/4
Exceptions
4 Mon
2/7
Midterm 1 (8pm-10pm)
Wed
2/9
Recursion Disc 03: Recursion
Fri
2/11
Tree Recursion HW 03: Recursion, Tree Recursion
Due Thu 2/17
5 Mon
2/14
Containers Lab 04: Recursion, Tree Recursion
Due Wed 2/16
Cats
Checkpt Thu 2/17
Due Thu 2/24
Wed
2/16
Sequences Disc 04: Tree Recursion, Python Lists
Fri
2/18
Mutability
6 Mon
2/21
No Lecture: Presidents' Day Lab 05: Python Lists, Mutability
Due Wed 2/23
Wed
2/23
Objects Disc 05: Sequences, Object-Oriented Programming
Fri
2/25
Inheritance HW 04: Python Lists, Object-Oriented Programming
Due Thu 3/3
7 Mon
2/28
Composition, Representation Lab 06: Object-Oriented Programming, String Representation
Due Wed 3/2
Ants
Checkpt 1 Thu 3/3
Checkpt 2 Tue 3/8
Due Thu 3/10
Wed
3/2
Trees Disc 06: Object-Oriented Programming, Trees
Fri
3/4
Linked Lists HW 05: Trees, Linked Lists
Due Thu 3/10
8 Mon
3/7
Iterators Lab 07: Mutable Trees, Linked Lists
Due Wed 3/9
Wed
3/9
Generators Disc 07: Linked Lists, Iterators and Generators
Fri
3/11
Efficiency HW 06: Iterators, Generators
Due Wed 3/16
9 Mon
3/14
Data Examples
Lab 08: Midterm Review (Optional)
Due Wed 3/16
Wed
3/16
OOP Examples
Thu
3/17
Midterm 2 (7pm-9pm)
Fri
3/18
Object Relational Mapping (Optional)
10 Mon
3/21
No Lecture: Spring Break
Wed
3/23
No Lecture: Spring Break
Fri
3/25
No Lecture: Spring Break, Cesar Chavez Day
11 Mon
3/28
Scheme Lab 10: Scheme
Due Wed 3/30
Wed
3/30
Scheme Lists Disc 10: Scheme, Scheme Lists
Fri
4/1
Calculator HW 07: Scheme, Scheme Lists
Due Thu 4/7
12 Mon
4/4
Interpreters Lab 11: Interpreters
Due Wed 4/6
Wed
4/6
Tail Calls
Disc 11: Interpreters, Tail Calls
Scheme
Checkpt 1 Tue 4/12
Checkpt 2 Tue 4/19
Due Thu 4/21

Scheme Challenge
Checkpt Tue 4/19
Due Thu 4/21
Fri
4/8
Modular Design
13 Mon
4/11
Scheme Data Abstraction Lab 12: Data Abstraction
Due Wed 4/13
Wed
4/13
Scheme Programs as Data Disc 12: Programs as Data
Fri
4/15
Scheme Macros (Optional)
(Optional) Scheme Contest
Due Wed 4/27
14 Mon
4/18
Regular Expressions
Lab 13: Regular Expressions
Due Wed 4/20
Wed
4/20
Backus-Naur Form
Disc 13: Regular Expressions, BNF
Fri
4/22
Applications of RegEx/BNF
HW 08: Regular Expressions, BNF
Due Thu 4/28
15 Mon
4/25
Web Apps (Optional)
Lab 14: Final Review
Due Wed 4/27
Wed
4/27
Final Examples
Disc 14: Final Review
Fri
4/29
Conclusion
HW 09: Finale
Due Thu 5/5

Scheme Gallery
Due Thu 5/5
16 Mon
5/2
No Lecture: RRR Week
Wed
5/4
No Lecture: RRR Week
Fri
5/6
No Lecture: RRR Week
17 Tue
5/10
Final (11:30am-2:30pm)