CS 61A: Structure and Interpretation of Computer Programs

Summer 2021, Instructors: Albert Xu, Alex Kassil, Catherine Cang (she/her/hers)
Jump to calendar

Monday, August 9
  • Submit to the Scheme Art Contest (only 1 submission as of lecture)!
  • Vote on Ed for the Instructor AMA time.
  • Scheme Project EC deadline is tonight, and Regular Deadline is tomorrow night.
  • Lab 13 (due Tuesday) is ungraded.
  • HW 8 will be the Final Survey and is due Thursday
  • If you missed a Vitamin, the Makeup Vitamin is posted on Ed and is due Wednesday night.
  • Be part of a CS Education study and get 1 EC point - See Ed for details.
  • Check your grades and submit regrade requests if you see any issues!
  • The Final Exam is Thursday from 5-8PM PT.

Monday, August 2
  • Scheme Checkpoint 1 tonight for 1 point.
  • Scheme Checkpoint 2 by Friday 8/6 for 1 point.
  • Scheme Project due Tuesday, 8/10.

    • EC Deadline 1 day earlier.
  • Lab 11 due tonight.
  • Two special events planned tonight:

  • Please fill out course evaluations! We read them.
Week 7 Class Material
Thursday, July 29
  • Today's lecture material (Dynamic Scoping, Tail Calls, and General Computing Machines) is in scope for the final

    • Dynamic scoping is included in the Scheme project
    • Tail calls are included in the Scheme project EC
  • Ants deadlines

    • Entire project due tomorrow Friday, July 30
    • Submit by tonight, July 29th, for 1 point extra credit
  • Lab 10 due tonight
  • Scheme project has been released
  • Tutorial spots are still open https://edstem.org/us/courses/5163/discussion/529330
Week 6 Class Material
Week 6 Resources
Wednesday, July 28
  • Today's lecture material (Quasiquotation, Macros) is not in scope for the final

    • It will show up on assignments, including as the EC question on the Scheme project
  • Homework 5 due tonight
  • Vitamin 9 deadline extended, Vitamin 10 released

    • Both due tomorrow at 8:00am
  • Ants deadlines

    • Entire project due Friday, July 30
    • Submit by Thursday, July 29th, for 1 point extra credit
  • Lab 10 due tomorrow midnight
  • Tutorial spots are still open https://edstem.org/us/courses/5163/discussion/529330
Week 6 Class Material
Week 6 Resources
Tuesday, July 27
  • Vitamin 9 deadline extended
  • Ants deadlines

    • Phase 1-3 Checkpoint: Today
    • Entire project due Friday July 30.
    • Submit by Thursday July 29th for 1 point extra credit
  • Lab 9 due tonight
  • Tutorial spots are still open https://edstem.org/us/courses/5163/discussion/529330
Week 6 Class Material
Week 6 Resources
Monday, July 26
  • Vitamin 9 released - due tomorrow 8AM
  • Ants deadlines

    • 3 Extra Credit points available -- 2 for the EC problem, 1 for submitting early.
    • Phase 1-3 Checkpoint: Tuesday July 27.
    • Entire project due Friday July 30.
    • Submit by Thursday July 29th for 1 point extra credit
    • Lab 9 due tomorrow midnight
  • Change to prerecorded lectures coming up: We will upload all the prerecorded lectures for the rest of the semester
Week 6 Class Material
Week 6 Resources
Thursday, July 22
  • Lab 8 due 7/23
  • Ants is released!
  • Partner Project.

    • 3 Extra Credit points available -- 2 for the EC problem, 1 for submitting early.
    • Phase 1 Checkpoint: Friday July 23
    • Phase 1-3 Checkpoint: Tuesday July 27.
    • Entire project due Friday July 30.
    • Submit by Thursday July 29th for 1 point extra credit
  • Small group tutoring sections have more open spots https://edstem.org/us/courses/5163/discussion/529330

    • Meet 2 times a week for 1 hour (wednesday and friday), reinforce topics covered in lecture/discussion
Week 5 Class Material
Tuesday, July 20
  • Cats Project is due tonight.

    • Come get help in Office Hours from 3-7:30 PM tonight.
    • If you can't finish by tonight, you can submit by tomorrow night for 75% credit.
  • Ants is released!

    • Partner Project.
    • 3 Extra Credit points available -- 2 for the EC problem, 1 for submitting early.
    • Phase 1 Checkpoint: July 23; Phase 1-3 Checkpoint: July 27.
    • Entire project due July 30.
  • Vitamin 7 was due this morning.
  • Lab 7 due tonight.
  • HW 4 due tomorrow.
Week 5 Class Material
Monday, July 19
  • Midterm scores are released

    • If your exam was improperly graded, please send in regrade requests through Gradescope by Friday 7/23 @ 11:59pm
    • If you would like any advice or want to talk about the midterm, feel free to reach out to any member of course staff!
    • Exam Statistics

      • Mean: 32.83
      • Median: 33.75
      • Standard Deviation: 14.02
  • Ants is released!

    • Partner Project
    • 3 Extra Credit points available -- 2 for the EC problem, 1 for submitting early
    • Phase 1 Checkpoint: July 23; Phase 1-3 Checkpoint: July 27
    • Entire project due July 30
  • Lab 7 due tomorrow
  • Vitamin 7 due tomorrow
  • HW 4 due Wednesday
Week 5 Class Material
Tuesday, July 13
  • Congratulations to the Hog Contest Winners !!!!

    • 1st Place: turtle (Gavin Yu)
    • 2nd Place: Hashmap & Bot Hog (Elden Ren & Vedant Kumud)
    • 3rd Place: undogmatic_bandit (Elliot Meldrum)
  • Cats Project

    • Submit Phase 1 of Cats by Today @ 11:59 PM. This is worth 1 point.
    • Submit the whole project by Monday, 7/19 @ 11:59PM to earn an early submission bonus point.
    • Deadline for the whole project is Tuesday, 7/20 @ 11:59 PM.
  • Parties are open to all questions!

    • Many parties, especially morning parties times, have been very empty. This is great to get solo help!
  • Midterm Exam (Thursday 7/15 @ 5-7PM)

    • Format: a web-based exam of short answer, multiple choice, and free code-writing questions.
    • Video proctoring will happen through Zoom.
    • Content from all lectures up to and including Thursday 7/15 is in scope, except for Iterators and Generators.
    • You may use as many pages of notes of your own creation as you'd like.
    • If you want to store your notes electronically, you must use a Google Doc and grant edit access to cs61a@berkeley.edu.
    • If you filled out the alternate request form, expect an email back today regarding what time you've been assigned or if we could not find an alternate time.
    • Midterm review sessions happening here!
Monday, July 12
  • Vitamin 6 released and due Tuesday, 7/13 at 8AM PT.
  • Cats Project

    • Submit Phase 1 of Cats by Tuesday, 7/13 @ 11:59 PM. This is worth 1 point.
    • Submit the whole project by Monday, 7/19 @ 11:59PM to earn an early submission bonus point.
    • Deadline for the whole project is Tuesday, 7/20 @ 11:59 PM.
  • Starting today, parties are open to all questions!

    • Many parties, especially morning parties times, have been very empty. This is great to get solo help!
  • Midterm Exam (Thursday 7/15 @ 5-7PM)

    • Format: a web-based exam of short answer, multiple choice, and free code-writing questions.
    • Video proctoring will happen through Zoom.
    • Content from all lectures up to and including Thursday 7/15 is in scope, except for Iterators and Generators.
    • You may use as many pages of notes of your own creation as you'd like.
    • If you want to store your notes electronically, you must use a Google Doc and grant edit access to cs61a@berkeley.edu.
    • Fill out the alternate request form by tonight @ 11:59PM if you need an alternate exam.
    • Midterm review sessions happening here!
  • Lab 5 due Tuesday, 7/13.
  • Homework 3 due Wednesday, 7/14.
Tuesday, July 6
  • Vitamin 4 released and due Thursday, 7/8 at 8AM PT.
  • Hog Project due Wednesday, 7/7 @ 11:59 PM PT.

    • Turn it in one day early by Tuesday, 7/6 @ 11:59 PM to earn an early submission bonus point.
  • Homework 2 due tomorrow, 7/7 at 11:59 PM PT
  • Hog Contest (optional) due Thursday, 7/8 @ 11:59 PM PT.
Week 3 Class Material
Wednesday, June 30
  • The Diagnostic Quiz is 5PM-6PM PT this Friday, 7/2.

    • Format: a web-based exam of short answer, multiple choice, and free code-writing questions.
    • Video proctoring will happen through Zoom.
    • Content from all lectures up to and including Thursday 7/1 is in scope, except for Tree Recursion.
    • A practice diagnostic exam is available here.
    • You may use as many pages of notes of your own creation as you'd like.
    • If you want to store your notes electronically, you must use a Google Doc and grant edit access to cs61a@berkeley.edu.
  • Lab Parties are happening today and Thursday! See this Ed post for information.
  • Lab 2 and Homework 1 are due tonight.
  • Hog Project

    • Submit Phase 1 of Hog by Thursday, 7/1 @ 11:59 PM. This is worth 1 point.
    • Submit the whole project by Tuesday, 7/6 @ 11:59PM to earn an early submission bonus point.
    • Deadline for the whole project is Wednesday, 7/7 @ 11:59 PM.
  • Vitamin 3 is due tomorrow (Thursday, 7/1) at 8AM!
Week 2 Class Material
Tuesday, June 29
  • The Diagnostic Quiz is 5PM-6PM PT this Friday, 7/2.

    • Format: a web-based exam of short answer, multiple choice, and free code-writing questions.
    • Alternate times & conflicts: Fill out this alternate time request form by today, Tuesday 6/29 @ 11:59 PT.
    • Video proctoring will happen through Zoom.
    • Content from all lectures up to and including Thursday 7/1 is in scope, except for Tree Recursion.
    • There will be a practice exam released later this week so you can try out the exam platform.
    • You may use as many pages of notes of your own creation as you'd like.
    • If you want to store your notes electronically, you must use a Google Doc and grant edit access to cs61a@berkeley.edu.
  • Hog Project Party on Tuesday from 4-6PM at this link.
  • Lab Parties are happening today - Thursday! See this Ed post for information.
  • Lab 2 and Homework 1 are due on Wednesday, 6/30.
  • Hog Project

    • Submit Phase 1 of Hog by Thursday, 7/1 @ 11:59 PM. This is worth 1 point.
    • Submit the whole project by Tuesday, 7/6 @ 11:59PM to earn an early submission bonus point.
    • Deadline for the whole project is Wednesday, 7/7 @ 11:59 PM.
Week 2 Class Material
Friday, June 25
  • Vitamins 0 and 1, as well as Lab 1, have been extended until Friday(6/25) night at 11:59 PM.
  • Monday, June 28th is an academic Holiday, so no Lab Party or Lecture.
  • Lab 2 Party happen on Tuesday from 10AM-Noon, and Lab 3 Parties on Wednesday from 4-6PM and Thursday from 10AM-Noon.
  • Hog Project Party on Tuesday from 4-6PM.
  • When asking for help with your code, make a Private Post on Ed and select the "Debugging" category. Then follow the template.
  • Need a project partner for Hog? See this Ed post
  • See this Ed post for an update on L&S P/NP policy for Summer 2021.
  • If you need any help, email us at cs61a@berkeley.edu.
Wednesday, June 23
  • Vitamin 0 and Vitamin 1 are both due Thursday at 8AM PT. You're highly encouraged to fill them out right after lecture.
  • The first Lab Party will be held right after lecture today (Wednesday 6/23) from 4PM - 5PM, and another right afterwards from 5PM - 6PM! Come work on Lab!
  • Bookmark links.cs61a.org/extensions. This will be the form to fill out if you have an emergency and need an extension longer than 24 hours. If you need a 24 hour or shorter extension, contact your TA.
  • Sign up for a tutorial section here: links.cs61a.org/tutorial-signup.
  • Please make sure you're attending your discussion every week! Find your section here.
  • Last chance to switch to CS 10 today. See this post for details on how.
  • See the bottom of this post for a short summary of how to get help in Office Hours.
  • Monday, June 28th will be an Academic Holiday. No lecture that day.
  • Come to Instructor Office Hours! We'd like to see you! 🥺🥺
  • If you need any help, email us at cs61a@berkeley.edu.
  • Live Ed thread links.cs61a.org/ed-lec3
Tuesday, June 22
  • Lab 0 released, due Friday

    • Many office hours to help you get setup https://cs61a.org/office-hours/
  • Lab 1 released, due Thursday

    • Lab Party Wednesday/Thursday
    • Can be done after watching Wednesday’s lecture
  • Discussions start today (maybe you already had yours?)
  • Vitamin 0 released latest due date Thursday 8am

    • We want you to finish them by monday night and wednesday night after lecture but before discussion the next day
    • Since first discussion is next day 8am PT, we will accept up to that time
  • Homework 1 released, due Wednesday 6/30

    • We released it early, to give students who are deciding between CS61A and CS10 a chance to see the problems
    • Q1-Q4 can be done after watching Wednesday’s Lecture + Lab 01
    • Q5-Q6 can be done after watching Thursday’s Lecture + Lab 02
  • Small group tutoring starts wednesday. Sign up now
  • Live Ed thread links.cs61a.org/ed-lec2
Week Date Lecture Textbook Lab, Discussion, & Exam Prep Links Homework & Project
1 Mon
6/21
Introduction
Lab 00: Getting Started
Due Fri 6/25
Tue
6/22
Functions
Disc 00: Getting Started

Vitamin 0
Due Thu 6/24
HW 01: Variables & Functions, Control
Due Wed 6/30
Wed
6/23
Control
Lab 01: Variables & Functions, Control
Due Fri 6/25
Thu
6/24
Higher-Order Functions
Disc 01: Control, Environment Diagrams

Vitamin 1
Due Thu 6/24
Hog
Due Wed 7/7
2 Mon
6/28
(Prerecorded Only) Environments
Lab 02: Higher-Order Functions, Lambda Expressions
Due Wed 6/30
Tue
6/29
Recursion
Disc 02: Higher-Order Functions, Self Reference, Lambda Expressions

Vitamin 2
Due Tue 6/29
(Optional) Hog Contest
Due Thu 7/8
Wed
6/30
Tree Recursion
Lab 03: Recursion, Tree Recursion
Due Thu 7/1

Vitamin 3
Due Thu 7/1
Thu
7/1
(Live Only) Diagnostic Review & Debugging
Disc 03: Recursion, Tree Recursion
HW 02: Higher-Order Functions, Recursion
Due Wed 7/7
Fri
7/2
Diagnostic
3 Mon
7/5
No Lecture: July 4
Tue
7/6
Sequences + Data Abstraction
Disc 04: Python Lists

Vitamin 4
Due Thu 7/8
Wed
7/7
Trees
Lab 04: Python Lists, Data Abstraction, Trees
Due Thu 7/8
Cats
Due Tue 7/20
Thu
7/8
Mutable Sequences
Disc 05: Trees, Mutability

Vitamin 5
Due Thu 7/8
HW 03: Trees, Data Abstraction
Due Wed 7/14
4 Mon
7/12
Complexity
Lab 05: Mutability, Orders of Growth
Due Tue 7/13

Vitamin 6
Due Tue 7/13
Tue
7/13
Iterators + Generators
Disc 06: Orders of Growth, Midterm Review

Lab 06: Midterm Review
Due Thu 7/15
Wed
7/14
(Live Only) Midterm Review
Thu
7/15
(Live Only) Midterm Q&A

Midterm
HW 04: Iterators and Generators
Due Wed 7/21
5 Mon
7/19
Objects + Classes
Lab 07: Iterators and Generators, Object-Oriented Programming
Due Tue 7/20

Vitamin 7
Due Tue 7/20
Ants
Due Fri 7/30
Tue
7/20
Inheritance + Representation
Disc 07: Iterators and Generators, Object-Oriented Programming
Wed
7/21
Representation, Linked Lists, and Mutable Trees
Lab 08: Linked Lists, Mutable Trees
Due Thu 7/22

Vitamin 8
Due Thu 7/22
Thu
7/22
Exceptions and Special Object Methods
Disc 08: Linked Lists, Mutable Trees, String Representation
HW 05: Object-Oriented Programming, Linked Lists, Iterators and Generators
Due Wed 7/28
Fri
7/23
Ants Checkpoint 1
Due Fri 7/23
6 Mon
7/26
Scheme
Lab 09: Scheme
Due Tue 7/27

Vitamin 9
Due Thu 7/29
Tue
7/27
Intepreters
Disc 09: Scheme, Scheme Lists
Ants Checkpoint 2
Due Tue 7/27
Wed
7/28
Macros (not on final)
Lab 10: Interpreters
Due Thu 7/29

Vitamin 10
Due Tue 8/3
Thu
7/29
Tail Recursion + More Scheme
Disc 10: Interpreters, Macros
HW 06: Scheme
Due Wed 8/4

Scheme
Due Tue 8/10

Scheme Challenge Version
Due Tue 8/10
7 Mon
8/2
Regular Expressions (not on final)
Lab 11: Macros, Tail Recursion, Regular Expressions
Due Tue 8/3

Vitamin 11
Due Tue 8/3
Tue
8/3
SQL
Disc 11: Tail Recursion, Scheme, Regular Expressions
Scheme Checkpoint 1
Due Tue 8/3
Wed
8/4
More SQL
Lab 12: SQL
Due Thu 8/5

Vitamin 12
Due Thu 8/5
(Optional) Scheme Contest
Due Wed 8/11
Thu
8/5
(Live Only) Final Review
Disc 12: SQL, Final Review
HW 07: SQL
Due Wed 8/11
Fri
8/6
Scheme Checkpoint 2
Due Fri 8/6
8 Mon
8/9
Special Topics I: Machine Learning Overview
Lab 13: Final Review
Due Tue 8/10
HW 08: Finale
Due Fri 8/13
Tue
8/10
Special Topics II: Applying Machine Learning
Wed
8/11
Conclusion
Thu
8/12
Final (5:00pm-8:00pm PT) Scheme Gallery
Due Sat 8/14