CS 61A: Structure and Interpretation of Computer Programs
Summer 2021,
Instructors:
Albert Xu, Alex Kassil, Catherine Cang (she/her/hers)
Jump to calendar
- 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.
- Submit an alternate request at links.cs61a.org/final-alt if you can't make this time.
-
Lecture 28: Special Topics I: Machine Learning Overview
-
Lecture 29: Special Topics II: Applying Machine Learning
-
Lecture 30: Conclusion
- Week 8 Readings:
- 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:
- Guest Lecture from Igor Podkhodov from 6-7PM @ links.cs61a.org/lecture.
- Our TA Anthony will be doing a "Example Run" of a past final exam, showing some strategies. 7-9PM @ links.cs61a.org/staff-exam-run-1
- Please fill out course evaluations! We read them.
-
Lecture 24: Regular Expressions (not on final)
-
Lecture 25: SQL
-
Lecture 26: More SQL
-
Lecture 27: (Live Only) Final Review
- Week 7 Readings:
-
Disc 11: Tail Recursion, Scheme, Regular Expressions
-
Disc 12: SQL, Final Review
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
-
Lecture 20: Scheme
-
Lecture 21: Intepreters
-
Lecture 22: Macros (not on final)
-
Lecture 23: Tail Recursion + More Scheme
- Week 6 Readings:
-
Disc 09: Scheme, Scheme Lists
-
Disc 10: Interpreters, Macros
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
-
Lecture 20: Scheme
-
Lecture 21: Intepreters
-
Lecture 22: Macros (not on final)
-
Lecture 23: Tail Recursion + More Scheme
- Week 6 Readings:
-
Disc 09: Scheme, Scheme Lists
-
Disc 10: Interpreters, Macros
- 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
-
Lecture 20: Scheme
-
Lecture 21: Intepreters
-
Lecture 22: Macros (not on final)
-
Lecture 23: Tail Recursion + More Scheme
- Week 6 Readings:
-
Disc 09: Scheme, Scheme Lists
-
Disc 10: Interpreters, Macros
- 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
-
Lecture 20: Scheme
-
Lecture 21: Intepreters
-
Lecture 22: Macros (not on final)
-
Lecture 23: Tail Recursion + More Scheme
- Week 6 Readings:
-
Disc 09: Scheme, Scheme Lists
-
Disc 10: Interpreters, Macros
- 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
-
Lecture 16: Objects + Classes
-
Lecture 17: Inheritance + Representation
-
Lecture 18: Representation, Linked Lists, and Mutable Trees
-
Lecture 19: Exceptions and Special Object Methods
- Week 5 Readings:
-
Disc 07: Iterators and Generators, Object-Oriented Programming
-
Disc 08: Linked Lists, Mutable Trees, String Representation
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.
-
Lecture 16: Objects + Classes
-
Lecture 17: Inheritance + Representation
-
Lecture 18: Representation, Linked Lists, and Mutable Trees
-
Lecture 19: Exceptions and Special Object Methods
- Week 5 Readings:
-
Disc 07: Iterators and Generators, Object-Oriented Programming
-
Disc 08: Linked Lists, Mutable Trees, String Representation
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
-
Lecture 16: Objects + Classes
-
Lecture 17: Inheritance + Representation
-
Lecture 18: Representation, Linked Lists, and Mutable Trees
-
Lecture 19: Exceptions and Special Object Methods
- Week 5 Readings:
-
Disc 07: Iterators and Generators, Object-Oriented Programming
-
Disc 08: Linked Lists, Mutable Trees, String Representation
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!
-
Lecture 12: Complexity
-
Lecture 13: Iterators + Generators
-
Lecture 14: (Live Only) Midterm Review
-
Lecture 15: (Live Only) Midterm Q&A
- Week 4 Readings:
-
Disc 06: Orders of Growth, Midterm Review
- 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.
-
Lecture 12: Complexity
-
Lecture 13: Iterators + Generators
-
Lecture 14: (Live Only) Midterm Review
-
Lecture 15: (Live Only) Midterm Q&A
- Week 4 Readings:
-
Disc 06: Orders of Growth, Midterm Review
- 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.
-
Lecture 9: Sequences + Data Abstraction
-
Lecture 10: Trees
-
Lecture 11: Mutable Sequences
- Week 3 Readings:
-
Disc 04: Python Lists
-
Disc 05: Trees, Mutability
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!
-
Lecture 5: (Prerecorded Only) Environments
-
Lecture 6: Recursion
-
Lecture 7: Tree Recursion
-
Lecture 8: (Live Only) Diagnostic Review & Debugging
- Week 2 Readings:
-
Disc 02: Higher-Order Functions, Self Reference, Lambda Expressions
-
Disc 03: Recursion, Tree Recursion
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.
-
Lecture 5: (Prerecorded Only) Environments
-
Lecture 6: Recursion
-
Lecture 7: Tree Recursion
-
Lecture 8: (Live Only) Diagnostic Review & Debugging
- Week 2 Readings:
-
Disc 02: Higher-Order Functions, Self Reference, Lambda Expressions
-
Disc 03: Recursion, Tree Recursion
- 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.
-
Lecture 1: Introduction
-
Lecture 2: Functions
-
Lecture 3: Control
-
Lecture 4: Higher-Order Functions
- Week 1 Readings:
-
Disc 00: Getting Started
-
Disc 01: Control, Environment Diagrams
- 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
-
Lecture 1: Introduction
-
Lecture 2: Functions
-
Lecture 3: Control
-
Lecture 4: Higher-Order Functions
- Week 1 Readings:
-
Disc 00: Getting Started
-
Disc 01: Control, Environment Diagrams
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
-
Lecture 1: Introduction
-
Lecture 2: Functions
-
Lecture 3: Control
-
Lecture 4: Higher-Order Functions
- Week 1 Readings:
-
Disc 00: Getting Started
-
Disc 01: Control, Environment Diagrams
- Welcome to CS 61A!
- Our full website will be up shortly! :)
-
Lecture 1: Introduction
-
Lecture 2: Functions
-
Lecture 3: Control
-
Lecture 4: Higher-Order Functions
- Week 1 Readings:
-
Disc 00: Getting Started
-
Disc 01: Control, Environment Diagrams
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
|