CS 61A: Structure and Interpretation of Computer Programs

Fall 2022, Instructors: John DeNero, Justin Yokota

Monday, November 28

Jump to date
  • Lab 13 & 14 are optional; all students will receive lab submission credit for Lab 13.

    • Attendance this week is optional; all students will receive attendance credit.
    • In-person lab/discussion sections are listed on Ed.
  • Homework 9 is due Tuesday 11/29.

    • Your two lowest homework scores will be dropped.
  • Homework 10 is due Thursday 12/1.

  • Completely optional Scheme Recursive Art Contest submissions are due Monday 11/28.

Monday, November 21

Jump to date
  • Online office hours Monday 11/21 2pm-5pm on oh.cs61a.org.
  • Homework 9 due Tuesday 11/29 (extended).
  • Scheme is due Tuesday 11/22.

    • 1 bonus point for submitting by Monday 11/21.
    • 2 bonus points are automatically granted if you submit the project by Tuesday 11/22.
    • 1 bonus point for the extra credit question.
  • Lecture 36 on Monday 11/21 will be video only posted to Youtube; there will be no live lecture or Zoom lecture.
  • Completely optional Scheme Recursive Art Contest submissions are due Monday 11/28.

Week 14 Class Material

Week 14 Resources

Friday, November 18

Jump to date
  • Online office hours before Thanksgiving:

  • Homework 9 deadline extended to Tuesday 11/29.
  • Scheme is due Tuesday 11/22.

    • 1 bonus point for submitting by Monday 11/21.
    • 2 bonus points are automatically granted if you submit the project by Tuesday 11/22.
    • 1 bonus point for the extra credit question.
  • Lecture 36 on Monday 11/21 will be video only posted to Youtube; there will be no live lecture or Zoom lecture.
  • Completely optional Scheme Recursive Art Contest submissions are due Monday 11/28.

Wednesday, November 16

Jump to date
  • Online office hours before Thanksgiving:

  • Homework 9 deadline extended to Tuesday 11/29.
  • All students will automatically receive attendance credit for discussion 12.
  • Lab 12 due Wednesday 11/16.

  • Homework 8 due Thursday 11/17 (extended).

  • Scheme is due Tuesday 11/22.

    • 1 bonus point for submitting by Monday 11/21.
    • 2 bonus points are automatically granted if you submit the project by Tuesday 11/22.
    • 1 bonus point for the extra credit question.
  • Lecture 36 on Monday 11/21 will be video only posted to Youtube; there will be no live lecture or Zoom lecture.
  • Completely optional Scheme Recursive Art Contest submissions are due Monday 11/28.

Monday, November 14

Jump to date
  • Homework 8 due Thursday 11/17 (extended).
  • Homework 9 due Thursday 11/17.
  • Scheme is due Tuesday 11/22.

    • 1 bonus point for submitting by Monday 11/21.
    • 2 bonus points are automatically granted if you submit the project by Tuesday 11/22.
    • 1 bonus point for the extra credit question.
  • All students will automatically receive attendance credit for lab 12 if they complete lab 12 from home by 11:59pm Wednesday 11/16.
  • During the strike, you can expect that extension requests of up to three days will be approved even if you do not receive a confirmation email.

Wednesday, November 9

Jump to date
  • Lecture 32 Youtube videos do not contain all examples: watch live lecture or the recording.
  • Homework 8 due next Thursday 11/17 (extended).
  • Lab 11 is a completely optional, take-home lab assignment (worth no credit).
  • Scheme project checkpoint 2 due Sunday 11/13.

    • Project parties: 5-7:30 Wednesday, 5-7:30 Thursday in Warren.
    • Thursday 12-5 office hours are online only: oh.cs61a.org
    • Try to finish Checkpoint 2 by Thursday 11/10 (no weekend office hours)!
  • Scheme is due Tuesday 11/22.

    • 1 bonus point for submitting by Monday 11/21.
    • 2 bonus points are automatically granted if you submit the project by Tuesday 11/22.
    • 1 bonus point for the extra credit question.

Monday, November 7

Jump to date
  • Homework 8 due next Thursday 11/17 (extended).
  • Scheme project checkpoint 1 due Tuesday 11/8!

    • Lab section this week will focus on the project.
    • Lab 11 is now a completely optional, take-home lab assignment (worth no credit).
  • Scheme project checkpoint 2 due Sunday 11/13.

    • Project parties: 6-7:30 Tuesday, 5-7:30 Wednesday, 5-7:30 Thursday in Warren.
    • Thursday 12-5 office hours are online only: oh.cs61a.org
    • Try to finish Checkpoint 2 by Thursday 11/10 (no weekend office hours)!
  • Scheme is due Tuesday 11/22.

    • 1 bonus point for submitting by Monday 11/21.
    • 2 bonus points are automatically granted if you submit the project by Tuesday 11/22.
    • 1 bonus point for the extra credit question.

Friday, November 4

Jump to date
  • Scheme project due Tuesday 11/22.

    • Early submission bonus point for submitting by Monday 11/21.
    • Checkpoint 1 due next Tuesday 11/8 (changed).
    • Checkpoint 2 due next Sunday 11/13 (changed).
    • In addition, 2 bonus points are automatically granted if you submit the project by Tuesday 11/22.
    • Try to finish Checkpoint 2 by Thursday 11/10 (no weekend office hours)!
    • Lab section next week will be project work time. Come get started! Everyone gets lab credit.
  • Homework 8 due Thursday 11/17 (extended).

Monday, October 24

Jump to date
  • Midterm 2 is 8pm-10pm Thursday 10/27.

  • This week:

    • Guest lecture on Web Apps by Pamela Fox on Monday 10/24.
    • No lecture on Wednesday 10/26.
    • Lab attendance is optional, but attending will make up lab attendance credit.
    • Lab is dedicated to midterm 2 prep.
    • No discussion sections Wed 10/26 through Fri 10/28.

Friday, October 21

Jump to date
  • Ants is due Friday 10/21.
  • Midterm 2 is 8pm-10pm Thursday 10/27.

  • Next week:

    • Guest lecture on Web Apps by Pamela Fox on Monday 10/24.
    • No lecture on Wednesday 10/26.
    • Lab attendance is optional, but attending will make up lab attendance credit for one previously missed lab section.
    • Lab next week is dedicated to midterm 2 prep, so attending will be a great way to get any last minute questions answered.
    • No discussion sections Wed 10/26 through Fri 10/28.
    • The office hours schedule will be updated tonight.

Wednesday, October 19

Jump to date
  • Homework 6 is due Thursday 10/20.
  • Ants is due Friday 10/21.

    • Early submission bonus Thursday 10/20.
  • Project party 5pm-7:30pm Wed 10/19.
  • Midterm 2 is 8pm-10pm Thursday 10/27.

    • Read the Midterm 2 logistics Ed post to learn about exam content and review sessions.
    • You will be provided with a printed copy of both the Midterm 1 Study Guide and Midterm 2 Study Guide
    • Complete the Alternate Request Form (go.cs61a.org/exam-alts) by Sunday 10/23 for any seating or timing request (e.g., left-handed desks, extended time, remote exams, mask-required rooms.).
  • Guest lecture on Web Apps by Pamela Fox on Monday 10/24.

Monday, October 17

Jump to date
  • Homework 6 is due Thursday 10/20.
  • Ants is due Friday 10/21.

    • Phase 2 checkpoint Tuesday 10/18.
    • Early submission bonus Thursday 10/20.
  • Project parties 5pm-7:30pm Mon 10/17 & Wed 10/19.
  • Midterm 2 is 8pm-10pm Thursday 10/27.

    • Complete the Alternate Request Form (go.cs61a.org/exam-alts) by Sunday 10/23 for any seating or timing request, including remote exams and mask-required exam rooms.

Friday, September 9

Jump to date
  • Hog is due Friday 9/9 @ 11:59pm.
  • Midterm 1 is Monday 9/12 7pm-9pm at various locations around campus.

  • No lecture on Monday 9/12.
  • No lab section 9/12-9/14.
  • Optional Lab 3 contains some midterm review questions.
  • Pick your section on sections.cs61a.org by 11:59pm Wed 9/14.

Wednesday, September 7

Jump to date
  • Hog is due Friday 9/9 @ 11:59pm.

    • Early submission bonus point for finishing by Thursday 9/8 @ 11:59pm.
  • Homework 2 is due Thursday 9/8 @ 11:59pm.
  • Midterm 1 is Monday 9/12 7pm-9pm at various locations around campus.

  • Pick your section on sections.cs61a.org by 11:59pm Wed 9/14.

Monday, September 5

Jump to date
  • Hog is due Friday 9/9 @ 11:59pm.

    • Early submission bonus point for finishing by Thursday 9/8 @ 11:59pm.
    • Checkpoint due Tuesday 9/6 @ 11:59pm.
    • Project party 5pm-8pm Tuesday 9/6 in Warren 101B.
  • Homework 2 is due Thursday 9/8 @ 11:59pm.

    • Released with 4 questions but updated (a few hours later) to contain only 2 questions (the simpler ones).
    • Includes optional past exam problems related to the homework.
  • Midterm 1 is Monday 9/12 7pm-9pm at various locations around campus.

    • Your assigned seat and room will be sent to you shortly before the exam.
    • Arrive at 7pm if you can; the 110-minute, 30-point exam will begin at 7:10pm.
    • The optional A+ question can only affect your grade if you already have a high A and might get an A+, so feel free to skip it.
  • Students in regular Monday lab will automatically receive attendance credit on 9/5, but no lab will be held.

    • Everyone still needs to complete the lab assignment.
    • Students in regular Monday labs and mega lab (usually on Monday) are invited to a one-time online Zoom Mega Lab this Tuesday 9/6 12:30-2pm: go.cs61a.org/mega-lab.
  • Lecture 6 released Monday 9/5 is only one video and optional; it's just an extended example.
  • Pick your section on sections.cs61a.org by 11:59pm Wed 9/14.
  • Everyone who attended Live Lecture 5 on Friday 9/2 should watch videos on lambda expressions and function currying before lab this week.

Friday, September 2

Jump to date
  • Two more sections will be added this weekend, and three more were added Wednesday 8/31.

  • Hog is due Friday 9/9 @ 11:59pm.

    • Early submission bonus point for finishing by Thursday 9/8 @ 11:59pm.
    • Checkpoint due Tuesday 9/6 @ 11:59pm.
    • Project party 5pm-8pm Tuesday 9/6 in Warren 101B.
  • Homework 2 is due Thursday 9/8 @ 11:59pm.

    • Released with 4 questions but updated to contain only 2 questions (the simpler ones).
    • Includes optional past exam problems related to the homework.
  • Midterm 1 is Monday 9/12 7pm-9pm at various locations around campus.

    • Your assigned seat and room will be sent to you shortly before the exam.
    • Arrive at 7pm if you can; the 110-minute, 30-point exam will begin at 7:10pm.
    • Optional A+ question can only affect your grade if you already have a high A and might get an A+, so feel free to skip it.
  • Lecture 6 (Monday 9/5) is video-only and optional; it's just an extended example.
  • New advising office hours with senior TAs by appointment.
  • Lecture Zoom link, sections tool, and office hours queue are in the new "Links" menu above.

Wednesday, August 31

Jump to date
  • 3 new sections will be added to sections.cs61a.org after lecture and start this week:

    • Some lab rooms do not have computers (marked on sections tool), so you would need to bring your own device.
    • 9:30-11 Tues (GPB 103) + 9:30-11 Fri (Soda 306)
    • 5-6:30 Tues (Soda 275) + 9:30-11 Thurs (Soda 405)
    • 5-6:30 Mon (Dwinelle 229) + 11-12:30 Fri (Soda 310)
  • Last chance to change sections on sections.cs61a.org is 11:59pm Wed 9/14.
  • Request to change to CS 10 at 2pm on Wed 8/31 (on Ed).
  • Lab 1 is due 11:59pm Wednesday 8/31.
  • Homework 1 is due 11:59pm Thursday 9/1.
  • Lots of office hours are available to help you.
  • Zoom access (go.cs61a.org/lecturezoom) to live lecture will be offered all semester.

Monday, August 29

Jump to date
  • Zoom access (go.cs61a.org/lecturezoom) to live lecture will be offered all semester.
  • New mega section policies, including an optional Mega Lab starting Monday 8/29 3:30-5 in Soda 430.

    • More regular sections should be available soon.
    • Last chance to change sections on sections.cs61a.org is 11:59pm Wednesday 9/14.
  • Request to change to CS 10 on Wednesday (8/31) at 2PM (on Ed).
  • Homework 1 is due 11:59pm Thursday 9/1. Go to lab, then try the homework.
  • Waitlisted & concurrent enrollment students: please complete Lab 1 and Homework 1
  • Drop-in office hours start this week in Warren Hall to help with homework and lab.

Friday, August 26

Jump to date
  • Discussion section begins this week! Sign up on sections.cs61a.org.
  • Lab 0 is a take-home lab to get you set up. Try it this week!

    • Get help & meet the staff in 581 Social Sciences (SOCS) 1-5 Thursday 8/25 & 9-1 Friday 8/26
    • There's also online help! See the office hours calendar.
  • Lecture 2 on Friday Aug 26 will be held on Zoom here: go.cs61a.org/lecturezoom
  • Homework 1 released Friday night will be due next Thursday 9/1. Go to lab, then do your homework.

Saturday, August 20

Jump to date
  • Welcome to CS 61A!
  • Discussion section begins this week (starting Wednesday Aug 24)!
  • Section sign-ups on sections.cs61a.org will open at noon on Tuesday Aug 23.
  • Lecture on Wednesday Aug 24 and Friday Aug 26 will be held over Zoom here: go.cs61a.org/lecturezoom.

Current Assignments

Calendar

Week Date Lecture Textbook Lab & Discussion Links Homework & Project
1 Wed
8/24
Disc 00: Getting Started
Lab 00: Getting Started
Due Wed 8/31
Fri
8/26
HW 01: Functions, Control
Due Thu 9/1
2 Mon
8/29
Lab 01: Functions, Control
Due Wed 8/31
Wed
8/31
Disc 01: Control, Environment Diagrams Hog
Checkpt Tue 9/6
Due Fri 9/9
Fri
9/2
HW 02: Higher-Order Functions
Due Thu 9/8
3 Mon
9/5
Lab 02: Higher-Order Functions, Lambda Expressions
Due Wed 9/7
Wed
9/7
Disc 02: Environment Diagrams, Higher-Order Functions
Fri
9/9
Lab 03: Midterm Review (Optional)
Due Wed 9/14
4 Mon
9/12
Midterm 1 (7pm-9pm)
Wed
9/14
Disc 03: Recursion
Fri
9/16
HW 03: Recursion, Tree Recursion
Due Thu 9/22
5 Mon
9/19
Lab 04: Recursion, Tree Recursion, Python Lists
Due Wed 9/21
Wed
9/21
Disc 04: Tree Recursion, Python Lists Cats
Checkpt Tue 9/27
Due Fri 9/30
Fri
9/23
6 Mon
9/26
Lab 05: Trees, Data Abstraction, Python Lists
Due Wed 9/28
Wed
9/28
Disc 05: Sequences, Data Abstraction, Trees
Fri
9/30
HW 04: Sequences, Trees
Due Thu 10/6
7 Mon
10/3
Lab 06: Iterators, Mutability
Due Wed 10/5
Wed
10/5
Disc 06: Mutability, Iterators, Generators
Fri
10/7
HW 05: Generators
Due Thu 10/13
8 Mon
10/10
Lab 07: Object-Oriented Programming
Due Wed 10/12
Ants
Checkpt 1 Fri 10/14
Checkpt 2 Tue 10/18
Due Fri 10/21
Wed
10/12
Disc 07: OOP, String Representation
Fri
10/14
HW 06: Object-Oriented Programming, Linked Lists
Due Thu 10/20
9 Mon
10/17
Lab 08: Linked Lists, Mutable Trees
Due Wed 10/19
Wed
10/19
Disc 08: Linked Lists, Mutable Trees, Efficiency
Fri
10/21
10 Mon
10/24
Lab 09: Midterm Review (Optional)
Due Wed 10/26
Wed
10/26
No Lecture: Midterm 2
Thu
10/27
Midterm 2 (8pm-10pm)
Fri
10/28
HW 07: Scheme
Due Thu 11/3
11 Mon
10/31
Lab 10: Scheme, Scheme Lists
Due Wed 11/2
Wed
11/2
Disc 10: Scheme, Scheme Lists
Fri
11/4
HW 08: Scheme Lists
Due Thu 11/17

Scheme
Checkpt 1 Tue 11/8
Checkpt 2 Sun 11/13
Due Tue 11/22

Scheme Challenge
Checkpt Sun 11/13
Due Tue 11/22
12 Mon
11/7
Lab 11: Interpreters (Optional)
Due Wed 11/9
Wed
11/9
Disc 11: Programs as Data
Fri
11/11
No Lecture: Veterans Day HW 09: Macros
Due Tue 11/29
13 Mon
11/14
Lab 12: Macros
Due Wed 11/16
Wed
11/16
SQL
Disc 12: Macros, Tail Calls (Optional) Scheme Contest
Due Mon 11/28
Fri
11/18
HW 10: SQL
Due Thu 12/1
14 Mon
11/21
Wed
11/23
No Lecture: Thanksgiving Break
Fri
11/25
No Lecture: Thanksgiving Break
15 Mon
11/28
Lab 13: SQL (Optional)
Due Mon 12/5
Wed
11/30
Disc 13: Final Review
Fri
12/2
HW 11: Finale
Due Thu 12/8

Scheme Gallery
Due Wed 12/7
16 Mon
12/5
No Lecture: RRR Week Lab 14: Final Review (Optional)
Due Wed 12/7
Wed
12/7
No Lecture: RRR Week
Fri
12/9
No Lecture: RRR Week
17 Wed
12/14
Final (7pm-10pm)