CS 61A: Structure and Interpretation of Computer Programs

Fall 2023, Instructor: Satish Rao

Monday, November 27

Jump to date
  • Homework 9 is due Tuesday 11/28.
  • Homework 10 is due Thursday 11/30.
  • Optional guest lecture from Yaron (Ron) Minsky 1pm on Wednesday 11/29 in 150 Wheeler.

    • Topic: "Types and why you should care"
    • No Zoom option; come to live lecture
    • No lecture in 245 Li Ka Shing
    • Free Jane Street t-shirts for some students, I hear.

Monday, November 20

Jump to date
  • Project 4 is due Tuesday 11/21.

    • Early submission bonus on Monday 11/20.
    • All extension requests for up to 7 days (through Tuesday 11/28) are automatically approved, but you will not receive a confirmation email or see the extension on Gradescope.
  • Lecture on Monday 11/20 will be video only, no in-person or Zoom lecture.
  • No lab during Thanksgiving week.

Week 14 Class Material

  • Lecture 36: Tables
  • Week 14 Readings:

Week 14 Resources

Wednesday, November 15

Jump to date
  • Project 4 is due Tuesday 11/21.

    • Checkpoint 2 due Thursday 11/16
    • Early submission bonus on Monday 11/20.
  • Lecture on Monday 11/20 will be video only, no in-person or Zoom lecture.
  • No lab during Thanksgiving week.

Friday, October 20

Jump to date
  • Project 3 due Tuesday 10/24

    • Early submission bonus point Monday 10/23
  • Optional lectures on Mon 10/23 & Wed 10/25 will be in Wheeler 150 only (no Zoom; no Li Ka Shing)
  • Midterm 2 7pm-9pm Friday 10/27

    • Midterm 1 study guide & midterm 2 study guide & scratch paper provided
    • You may bring two hand-written sheets of notes
    • No lecture on Friday 10/27

Wednesday, October 18

Jump to date
  • Project 3 due Tuesday 10/24

    • Early submission bonus point Monday 10/23
  • Homework 6 due Thursday 10/19
  • Optional lectures on Mon 10/23 & Wed 10/25 will be in Wheeler 150 only (no Zoom; no Li Ka Shing)
  • Midterm 2 7pm-9pm Friday 10/27

Monday, October 16

Jump to date
  • Project 3 due Tuesday 10/24

    • Checkpoint 2 due Tuesday 10/17
    • Early submission bonus point Monday 10/23
  • Homework 6 due Thursday 10/19
  • Midterm 2 7pm-9pm Friday 10/27

Wednesday, October 11

Jump to date
  • Project 3 due Tuesday 10/24

    • Checkpoint 1 extended to Thursday 10/12
    • Checkpoint 2 due Tuesday 10/17
    • Early submission bonus point Monday 10/23
  • Lab 7 extended to Thursday 10/12
  • Homework 5 due Thursday 10/12
  • Homework 6 due Thursday 10/19
  • Midterm 2 7pm-9pm Friday 10/27

Tuesday, October 10

Jump to date
  • Project 3 due Tuesday 10/24

    • Checkpoint 1 due Wednesday 10/11
    • Checkpoint 2 due Tuesday 10/17
    • Early submission bonus point Monday 10/23
  • Homework 5 due Thursday 10/12
  • Homework 6 due Thursday 10/19
  • Midterm 2 7pm-9pm Friday 10/27

Tuesday, September 12

Jump to date
  • Hog is due 11:59pm Wed 9/13.

    • Early submission bonus point for completing the project by Tues 9/12.
  • Alternative courses:

    • Data C88C may expand if there is a waitlist on Wednesday.
    • CS 10 appears to have a few open seats.

Tuesday, September 5

Jump to date
  • 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

Friday, September 1

Jump to date
  • 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).

Wednesday, August 30

Jump to date
  • 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.

Friday, August 25

Jump to date
  • 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

Monday, August 21

Jump to date
  • 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

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
Lab 05: Trees, Data Abstraction
Due Wed 9/27
Wed
9/27
Disc 05: Trees, Data Abstraction
Fri
9/29
HW 04: Sequences, Trees
Due Thu 10/5
7 Mon
10/2
Lab 06: Iterators, Mutability
Due Wed 10/4
Wed
10/4
Disc 06: Iterators, Generators
Fri
10/6
HW 05: Generators
Due Thu 10/12

Ants
Checkpt 1 Thu 10/12
Checkpt 2 Tue 10/17
Due Tue 10/24
8 Mon
10/9
Lab 07: Object-Oriented Programming
Due Thu 10/12
Wed
10/11
Disc 07: OOP, String Representation
Fri
10/13
HW 06: Object-Oriented Programming, Linked Lists
Due Thu 10/19
9 Mon
10/16
Lab 08: Linked Lists
Due Wed 10/18
Wed
10/18
Disc 08: Linked Lists, Efficiency
Fri
10/20
10 Mon
10/23
Lab 09: Mutable Trees
Due Wed 10/25
Wed
10/25
Disc 09: Midterm Review
Fri
10/27
Midterm 2 (7pm-9pm)
11 Mon
10/30
Lab 10: Scheme
Due Wed 11/1
HW 07: Scheme
Due Thu 11/2
Wed
11/1
Disc 10: Scheme, Scheme Lists
Fri
11/3
HW 08: Scheme Lists
Due Thu 11/9
12 Mon
11/6
Lab 11: Interpreters
Due Wed 11/8
Scheme
Checkpt 1 Mon 11/13
Checkpt 2 Thu 11/16
Due Tue 11/21

(Optional) Scheme Contest
Due Tue 11/21
Wed
11/8
Disc 11: Interpreters, More Scheme
Fri
11/10
No Lecture: Veterans Day
13 Mon
11/13
Lab 12: Programs as Data
Due Wed 11/15
Wed
11/15
Disc 12: Macros
Fri
11/17
SQL
HW 09: Programs as Data, Macros
Due Tue 11/28
14 Mon
11/20
Wed
11/22
No Lecture: Thanksgiving Break
Fri
11/24
No Lecture: Thanksgiving Break
15 Mon
11/27
Lab 13: SQL
Due Tue 12/5
HW 10: SQL
Due Thu 11/30
Wed
11/29
Disc 13: SQL, Final Review
Fri
12/1
HW 11: Finale
Due Fri 12/8

Scheme Gallery
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)