CS 61A: Structure and Interpretation of Computer Programs
Spring 2022, Instructor: Pamela Fox
Friday, April 29
The final exam is in-person on Tuesday, May 10 @ 11:30am-2:30pm.
- Read this Piazza post for exam logistics, scope, and how to prepare.
- To request a left-handed/aisle seat, remote exam, or alternate exam, fill out the alterations form by Friday 5/6 11:59pm PT.
- Review sessions will be held next week. See schedule. We will aim to support remote attendance and to record the sessions.
- Homework 9 is released and due Thursday 5/5 11:59pm. If 700 or more students complete every part of the homework, then all students who submitted the end-of-semester survey get an extra credit point!
- Homework 8 Recovery will be on Tuesday 5/3 6pm PT. There are no office hours next week, so please attend the meeting to get the points. Details in the Piazza post.
- Pamela will hold an AMA (Ask Me Anything) next Monday @ 2 PM over Zoom. It will not be recorded.
Week 15 Class Material
-
Lecture 37: Web Apps (Optional)
-
Lecture 38: Final Examples
-
Lecture 39: Conclusion
- Week 15 Readings:
- Disc 14: Final Review
- Exam Prep 14: Final Review
Thursday, April 28
- We will release Homework 9 on Friday before lecture.
- Homework 8 is due Thursday 4/28 @ 11:59pm.
- We will send a Piazza post on Friday about final exam logistics, which will include an exam alterations form (as usual).
Week 15 Class Material
-
Lecture 37: Web Apps (Optional)
-
Lecture 38: Final Examples
-
Lecture 39: Conclusion
- Week 15 Readings:
- Disc 14: Final Review
- Exam Prep 14: Final Review
Wednesday, April 27
- We will send a Piazza post on Wednesday or Thursday about final exam logistics, which will include an exam alterations form (as usual).
- Homework 8 is due Thursday 4/28 @ 11:59pm.
- The optional Scheme art contest is due Wednesday 4/27 @ 11:59pm.
Week 15 Class Material
-
Lecture 37: Web Apps (Optional)
-
Lecture 38: Final Examples
-
Lecture 39: Conclusion
- Week 15 Readings:
- Disc 14: Final Review
- Exam Prep 14: Final Review
Monday, April 25
- We will send a Piazza post on Wednesday or Thursday about final exam logistics, which will include an exam alterations form (as usual).
- Homework 8 is due Thursday 4/28 @ 11:59pm.
- Scheme project is due Tuesday 4/26 @ 11:59pm. You get 1 EC point for submitting by Monday instead. There is also a 2 pt EC question available; submit that by Monday to maximize your points.
- The optional Scheme art contest is due Wednesday 4/27 @ 11:59pm.
Week 15 Class Material
-
Lecture 37: Web Apps (Optional)
-
Lecture 38: Final Examples
-
Lecture 39: Conclusion
- Week 15 Readings:
- Disc 14: Final Review
- Exam Prep 14: Final Review
Friday, April 22
As announced on Piazza, we made some adjustments due to the disruption on campus on Thursday:
- The deadline for Homework 7 is extended until Friday 4/22 @ 11:59pm.
- All students will receive credit for this week's discussion. If you weren't able to make a section, we still recommend going through the worksheet and/or watching the recorded remote section, since this discussion provides guided practice with BNF.
- Homework 8 is released and due Thursday 4/28 @ 11:59pm.
- Scheme project is due Tuesday 4/26 @ 11:59pm. You get 1 EC point for submitting by Monday instead. There is also a 2 pt EC question available; submit that by Monday to maximize your points.
- The optional Scheme art contest is due Wednesday 4/27 @ 11:59pm.
Week 14 Class Material
-
Lecture 34: Regular Expressions
-
Lecture 35: Backus-Naur Form
-
Lecture 36: Applications of RegEx + BNF
- Week 14 Readings:
- Disc 13: Regular Expressions, BNF
- Exam Prep 13: Regular Expressions, BNF
Thursday, April 21
As announced on Piazza, we've made some adjustments due to the disruption on campus on Thursday:
- The deadline for Homework 7 is extended until Friday 4/22 @ 11:59pm.
- All students will receive credit for this week's discussion. We still strongly encourage live attendance or watching the recorded remote session, since this discussion gives you guided practice with BNF.
- Scheme project is due Tuesday 4/26 @ 11:59pm. You get 1 EC point for submitting by Monday instead. There is also a 2 pt EC question available; submit that by Monday to maximize your points.
- The optional Scheme art contest is due Wednesday 4/27 @ 11:59pm.
Week 14 Class Material
-
Lecture 34: Regular Expressions
-
Lecture 35: Backus-Naur Form
-
Lecture 36: Applications of RegEx + BNF
- Week 14 Readings:
- Disc 13: Regular Expressions, BNF
- Exam Prep 13: Regular Expressions, BNF
Wednesday, April 20
- Lab 13 is due Wednesday 4/20 @ 11:59pm.
- Homework 7 is due Thursday 4/21 @ 11:59pm.
- Scheme project is due Tuesday 4/26 @ 11:59pm. You get 1 EC point for submitting by Monday instead. There is also a 2 pt EC question available; submit that by Monday to maximize your points.
- The optional Scheme art contest is due Wednesday 4/27 @ 11:59pm.
Week 14 Class Material
-
Lecture 34: Regular Expressions
-
Lecture 35: Backus-Naur Form
-
Lecture 36: Applications of RegEx + BNF
- Week 14 Readings:
- Disc 13: Regular Expressions, BNF
- Exam Prep 13: Regular Expressions, BNF
Monday, April 18
- The optional Scheme art contest is released and due Wednesday 4/27 @ 11:59pm.
- The departmental course evaluation form is open. For the GSI form, please only evaluate the GSIs you've worked with, and don't mark anything for the GSIs you haven't.
- Homework 7 is due Thursday 4/21 @ 11:59pm.
- Scheme project parts 2 & 3 are due Tuesday 4/19 @ 11:59pm.
Week 14 Class Material
-
Lecture 34: Regular Expressions
-
Lecture 35: Backus-Naur Form
-
Lecture 36: Applications of RegEx + BNF
- Week 14 Readings:
- Disc 13: Regular Expressions, BNF
- Exam Prep 13: Regular Expressions, BNF
Friday, April 15
- Today's lecture topic (Macros) is not in scope for the final exam this semester.
- Homework 7 is released and due Thursday 4/21 @ 11:59pm.
- Scheme project parts 2 & 3 are due Tuesday 4/19 @ 11:59pm.
Week 13 Class Material
-
Lecture 31: Scheme Data Abstraction
-
Lecture 32: Scheme Programs as Data
-
Lecture 33: Scheme Macros (Optional)
- Week 13 Readings:
- Disc 12: Programs as Data
- Exam Prep 12: Interpreters, Tail Calls
Wednesday, April 13
- Today's lecture topic (Macros) is not in scope for the final exam this semester.
- Homework 7 is released and due Thursday 4/21 @ 11:59pm.
- Scheme project parts 2 & 3 are due Tuesday 4/19 @ 11:59pm.
Week 13 Class Material
-
Lecture 31: Scheme Data Abstraction
-
Lecture 32: Scheme Programs as Data
-
Lecture 33: Scheme Macros (Optional)
- Week 13 Readings:
- Disc 12: Programs as Data
- Exam Prep 12: Interpreters, Tail Calls
Wednesday, April 13
- Scheme project parts 2 & 3 are due Tuesday 4/19 @ 11:59pm.
Week 13 Class Material
-
Lecture 31: Scheme Data Abstraction
-
Lecture 32: Scheme Programs as Data
-
Lecture 33: Scheme Macros (Optional)
- Week 13 Readings:
- Disc 12: Programs as Data
- Exam Prep 12: Interpreters, Tail Calls
Monday, April 11
- Homework 6 Recovery will be on Tuesday 4/12 @ 6pm PT. Details on the Piazza post.
- Scheme project part 1 is due Tuesday 4/12 @ 11:59pm.
Week 13 Class Material
-
Lecture 31: Scheme Data Abstraction
-
Lecture 32: Scheme Programs as Data
-
Lecture 33: Scheme Macros (Optional)
- Week 13 Readings:
- Disc 12: Programs as Data
- Exam Prep 12: Interpreters, Tail Calls
Friday, April 8
Scheme project is released.
- Part 1 are due Tuesday 4/12 @ 11:59pm.
- Parts 2 & 3 are due Tuesday 4/19 @ 11:59pm.
- All parts are due Tuesday 4/26 @ 11:59pm. EC for submitting Monday 4/25.
- The project includes one 2-pt EC problem (discussed in today's lecture).
Week 12 Class Material
-
Lecture 28: Interpreters: Scheme
-
Lecture 29: Scopes + Tail Calls
-
Lecture 30: Modularity
- Week 12 Readings:
- Disc 11: Interpreters, Tail Calls
- Exam Prep 11: Scheme Lists, Tail Calls
Wednesday, April 6
Scheme project is released.
- Part 1 are due Tuesday 4/12 @ 11:59pm.
- Parts 2 & 3 are due Tuesday 4/19 @ 11:59pm.
- All parts are due Tuesday 4/26 @ 11:59pm. EC for submitting Monday 4/25.
- The project includes one 2-pt EC problem (discussed in today's lecture).
- For those students who want an additional challenge, Scheme challenge can be attempted instead, for the same amount of points. However, you should not expect much assistance from staff if you choose to complete this version of the project. You can always switch to the standard version if you get stuck.
- There is now a written walkthrough guide and walkthrough videos available for MT2. Make sure you understand everything you missed before our final exam.
- Lab 11 is released and due Wednesday 4/6 @ 11:59pm.
- Homework 6 is released and due Thursday 4/7 @ 11:59pm.
Week 12 Class Material
-
Lecture 28: Interpreters: Scheme
-
Lecture 29: Scopes + Tail Calls
-
Lecture 30: Modularity
- Week 12 Readings:
- Disc 11: Interpreters, Tail Calls
- Exam Prep 11: Scheme Lists, Tail Calls
Monday, April 4
- Lab 11 is released and due Wednesday 4/6 @ 11:59pm.
- Homework 6 is released and due Thursday 4/7 @ 11:59pm.
Week 12 Class Material
-
Lecture 28: Interpreters: Scheme
-
Lecture 29: Scopes + Tail Calls
-
Lecture 30: Modularity
- Week 12 Readings:
- Disc 11: Interpreters, Tail Calls
- Exam Prep 11: Scheme Lists, Tail Calls
Friday, April 1
- Homework 6 is released and due Thursday 4/7 @ 11:59pm.
- Magic: The Lambda-ing is an optional extra credit project, due Friday 4/1 @ 11:59pm.
- Midterm 2 grades regrade requests are due Friday 4/1 @ 11:59pm. Read Piazza post for more details
Week 11 Class Material
-
Lecture 25: Scheme
-
Lecture 26: Scheme Lists
-
Lecture 27: Interpreters: Calculator
- Week 11 Readings:
- Disc 10: Scheme, Scheme Lists
- Exam Prep 10: Scheme, Scheme Lists
Wednesday, March 30
- Midterm 2 grades were released before break. Regrade requests are due Friday 4/1 @ 11:59pm. Read Piazza post for more details
- Lab 10 is released and due Wednesday 3/30 @ 11:59pm.
- Magic: The Lambda-ing is an optional extra credit project, due Friday 4/1 @ 11:59pm.
Week 11 Class Material
-
Lecture 25: Scheme
-
Lecture 26: Scheme Lists
-
Lecture 27: Interpreters: Calculator
- Week 11 Readings:
- Disc 10: Scheme, Scheme Lists
- Exam Prep 10: Scheme, Scheme Lists
Monday, March 28
- Midterm 2 grades were released before break. Regrade requests are due Friday 4/1 @ 11:59pm. Read Piazza post for more details
- Lab 10 is released and due Wednesday 3/30 @ 11:59pm.
- Magic: The Lambda-ing is an optional extra credit project, due Friday 4/1 @ 11:59pm.
- Homework 5 Recovery will be on Tuesday 3/29 @ 6pm PT. Read Piazza post for more details
Week 11 Class Material
-
Lecture 25: Scheme
-
Lecture 26: Scheme Lists
-
Lecture 27: Interpreters: Calculator
- Week 11 Readings:
- Disc 10: Scheme, Scheme Lists
- Exam Prep 10: Scheme, Scheme Lists
Friday, March 18
- Midterm 2 grades will hopefully be released later tonight.
- Keep an eye out for Magic: The Lambda-ing, a mini-project that you can complete over break for extra credit if you'd like.
Week 9 Class Material
-
Lecture 22: MT2 Review Part 1
-
Lecture 23: MT2 Review Part 2
-
Lecture 24: Object-Relational Mappings (Optional)
- Week 9 Readings:
Wednesday, March 16
- Lab 8 is due Wednesday 3/16 @ 11:59 PT. The solutions are already released, so you can look at them after finishing the problems to help you understand our approach to the solutions.
- There will not be any discussions this week, and there will be no office hours on Thursday and Friday. If you have questions while studying past exams, please bring them to earlier office hours or post on Piazza.
Midterm 2 will be held in-person on Thursday 3/17 8pm-10pm.
- Read this Piazza post for exam logistics, scope, and how to prepare.
Week 9 Class Material
-
Lecture 22: MT2 Review Part 1
-
Lecture 23: MT2 Review Part 2
-
Lecture 24: Object-Relational Mappings (Optional)
- Week 9 Readings:
Monday, March 14
- There will be Lab this week. There will not be any discussions this week, and there will be no office hours on Thursday and Friday. If you have questions while studying past exams, please bring them to earlier office hours or post on Piazza.
Midterm 2 will be held in-person on Thursday 3/17 8pm-10pm.
- Read this Piazza post for exam logistics, scope, and how to prepare.
- Homework 5 is due Tuesday 3/15 @ 11:59 PT. The homework also contains a midsemester survey (that you can start sooner). Please fill this out to get the point for Q1 as well as to help us make short-term changes to improve your experience in 61A.
Week 9 Class Material
-
Lecture 22: MT2 Review Part 1
-
Lecture 23: MT2 Review Part 2
-
Lecture 24: Object-Relational Mappings (Optional)
- Week 9 Readings:
Friday, March 11
- Today's lecture is the last new topic that's in scope for the exam. The lectures next Monday and Wednesday will review previous topics that are in scope for the exam, and the lecture (after the midterm) on Friday will be an optional topic that shows a useful application of concepts you've learned so far.
Midterm 2 will be held in-person on Thursday 3/17 8pm-10pm.
- Read this Piazza post for exam logistics, scope, and how to prepare.
- To request a left-handed/aisle seat, remote exam, or alternate exam, fill out the alterations form by Sunday 3/13 11:59pm PT (Daylight Time).
- Homework 5 is due Tuesday 3/15 @ 11:59 PT. The homework also contains a midsemester survey (that you can start sooner). Please fill this out to get the point for Q1 as well as to help us make short-term changes to improve your experience in 61A.
Week 8 Class Material
-
Lecture 19: Iterators
-
Lecture 20: Generators
-
Lecture 21: Efficiency
- Week 8 Readings:
- Disc 07: Linked Lists, Iterators, Generators
- Exam Prep 07: Linked Lists, Iterators, Generators
Wednesday, March 9
Midterm 2 will be held in-person on Thursday 3/17 8pm-10pm.
- Read this Piazza post for exam logistics, scope, and how to prepare.
- To request a left-handed/aisle seat, remote exam, or alternate exam, fill out the alterations form by Sunday 3/13 11:59pm PT (Daylight Time).
- New! The exam will also include a debugging section, which hasn’t appeared on many exams in the past. We compiled some practice problems for you to help you prepare for this. Here are just the problems, and here are the problems with solutions.
- Lab 7 is released and due Wednesday 3/9 @ 11:59 PT.
- Homework 5 is due Tuesday 3/15 @ 11:59 PT. We recommend completing Lab 7 before starting the homework. The homework also contains a midsemester survey (that you can start sooner). Please fill this out to get the point for Q1 as well as to help us make short-term changes to improve your experience in 61A.
- Ants is due Thursday 3/10. Submit by 3/9 for 1 EC point.
Week 8 Class Material
-
Lecture 19: Iterators
-
Lecture 20: Generators
-
Lecture 21: Efficiency
- Week 8 Readings:
- Disc 07: Linked Lists, Iterators, Generators
- Exam Prep 07: Linked Lists, Iterators, Generators
Monday, March 7
Midterm 2 will be held in-person on Thursday 3/17 8pm-10pm.
- Read this Piazza post for exam logistics, scope, and how to prepare.
- To request a left-handed/aisle seat, remote exam, or alternate exam, fill out the alterations form by Sunday 3/13 11:59pm PT (Daylight Time).
- Lab 7 is released and due Wednesday 3/9 @ 11:59 PT.
- Homework 5 is due Tuesday 3/15 @ 11:59 PT. We recommend completing Lab 7 before starting the homework. The homework also contains a midsemester survey (that you can start sooner). Please fill this out to get the point for Q1 as well as to help us make short-term changes to improve your experience in 61A.
- Ants phase 2 is due Tuesday 3/8, and all phases are due Thursday 3/10. Submit by 3/9 for 1 EC point.
Week 8 Class Material
-
Lecture 19: Iterators
-
Lecture 20: Generators
-
Lecture 21: Efficiency
- Week 8 Readings:
- Disc 07: Linked Lists, Iterators, Generators
- Exam Prep 07: Linked Lists, Iterators, Generators
Friday, March 4
- Homework 5 is released and due Tuesday 3/15 @ 11:59 PT. We recommend completing Lab 7 before starting the homework. The homework also contains a midsemester survey (that you can start sooner). Please fill this out to get the point for Q1 as well as to help us make short-term changes to improve your experience in 61A.
- Ants phase 2 is due Tuesday 3/8, and all phases are due Thursday 3/10. Submit by 3/9 for 1 EC point.
Week 7 Class Material
-
Lecture 16: Composition, Representation
-
Lecture 17: Trees
-
Lecture 18: Linked Lists
- Week 7 Readings:
- Disc 06: String Representation, Trees
- Exam Prep 06: Object-Oriented Programming, Trees
Wednesday, March 2
- Be on the lookout for an email/Piazza-blast containing Midterm 2 logistics this weekend. This will include a form to request a special seating arrangement or an online exam.
Homework 4 is due Thursday 3/3 @ 11:59 PT.
- ⚠️ If you downloaded it before noon PT on Saturday, please follow the instructions in Piazza @1423 to make sure all your tests passed.
- Lab 6 is due Wednesday 3/2 @ 11:59 PT.
- Ants phase 1 is due Thursday 3/3, phase 2 is due Tuesday 3/8, and all phases are due Thursday 3/10. Submit by 3/9 for 1 EC point.
Week 7 Class Material
-
Lecture 16: Composition, Representation
-
Lecture 17: Trees
-
Lecture 18: Linked Lists
- Week 7 Readings:
- Disc 06: String Representation, Trees
- Exam Prep 06: Object-Oriented Programming, Trees
Monday, February 28
Homework 4 is due Thursday 3/3 @ 11:59 PT.
- ⚠️ If you downloaded it before noon PT on Saturday, please follow the instructions in Piazza @1423 to make sure all your tests passed.
- Lab 6 is due Wednesday 3/2 @ 11:59 PT.
- Ants is released! 🐜 🐜 🐜 Phase 1 is due Thursday 3/3, phase 2 is due Tuesday 3/8, and all phases are due Thursday 3/10. Submit by 3/9 for 1 EC point.
- Please keep up to date with the lecture content. We offer the live lecture both in Wheeler and over Zoom, recordings of the live lecture (uploaded ~6pm), and John DeNero's previously recorded videos. The lab/discussion often builds off the most recent lecture's topic, so you should have already seen that lecture before showing up to your section.
Week 7 Class Material
-
Lecture 16: Composition, Representation
-
Lecture 17: Trees
-
Lecture 18: Linked Lists
- Week 7 Readings:
- Disc 06: String Representation, Trees
- Exam Prep 06: Object-Oriented Programming, Trees
Friday, February 25
- Please fill out this group matching form if you'd like to find group mates for labs, discussions, and projects. More info on Piazza.
- Homework 4 is released and due Thursday 3/3 @ 11:59 PT.
- Reminder: If you need an extension for an assignment due to extenuating circumstances, please fill out the extension form linked from our contact page. Extensions are not given for extra credit.
- We made a few adjustments to the calendar for the rest of the semester to time assignments better. We removed the Homework 6 that was before the midterm, and instead added an additional later homework on Scheme.
Week 6 Class Material
-
Lecture 14: Objects
-
Lecture 15: Inheritance
- Week 6 Readings:
- Disc 05: Sequences, Mutability, Object-Oriented Programming
- Exam Prep 05: Mutability, Object-Oriented Programming
Wednesday, February 23
Week 6 Class Material
-
Lecture 14: Objects
-
Lecture 15: Inheritance
- Week 6 Readings:
- Disc 05: Sequences, Mutability, Object-Oriented Programming
- Exam Prep 05: Mutability, Object-Oriented Programming
Friday, February 18
- Cats is due Thursday 2/24 @ 11:59 PT.
- Homework 3 Recovery will be on Tuesday 2/22 @ 6pm PT. Details on the Piazza post.
- Midterm 1 walkthrough guide is available on the resources page.
Week 5 Class Material
-
Lecture 11: Containers
-
Lecture 12: Dictionaries + More Lists
-
Lecture 13: Mutability
- Week 5 Readings:
- Disc 04: Tree Recursion, Python Lists
- Exam Prep 04: Tree Recursion, Python Lists
Wednesday, February 16
- Cats checkpoint 1 is due Thursday 2/17 @ 11:59 PT and the whole project is due Thursday 2/24 @ 11:59 PT.
- Lab 4 is due Wednesday 2/16 @ 11:59pm.
- Homework 3 is due Thursday 2/17 @ 11:59 PT.
- Exam regrade requests are due 2/16 @ 11:59 PT.
Week 5 Class Material
-
Lecture 11: Containers
-
Lecture 12: Dictionaries + More Lists
-
Lecture 13: Mutability
- Week 5 Readings:
- Disc 04: Tree Recursion, Python Lists
- Exam Prep 04: Tree Recursion, Python Lists
Monday, February 14
- Cats is released. Checkpoint 1 is due Thursday 2/17 @ 11:59 PT and the whole project is due Thursday 2/24 @ 11:59 PT.
- Lab 4 is released and due Wednesday 2/16 @ 11:59pm.
Homework 3 is released and due Thursday 2/17 @ 11:59 PT.
- If you downloaded it before today, please follow the instructions on top to copy over a new
hw03.ok
file.
- If you downloaded it before today, please follow the instructions on top to copy over a new
- Exam regrade requests are due 2/16 @ 11:59 PT.
Week 5 Class Material
-
Lecture 11: Containers
-
Lecture 12: Dictionaries + More Lists
-
Lecture 13: Mutability
- Week 5 Readings:
- Disc 04: Tree Recursion, Python Lists
- Exam Prep 04: Tree Recursion, Python Lists
Friday, February 11
- When you sign up for an OH appointment, please show up! If you realize you no longer need the help, cancel your appointment to make room for other students that need help. 🙏🏼
- Homework 2 Recovery session is today (Friday 2/11) @ 6pm PT. Details on the Piazza post.
- Homework 3 is released and due Thursday 2/17 @ 11:59 PT.
- Exam regrade requests are due 2/16 @ 11:59 PT.
Week 4 Class Material
-
Lecture 9: Recursion
-
Lecture 10: Tree Recursion
- Week 4 Readings:
- Disc 03: Recursion
- Exam Prep 03: Recursion
Wednesday, February 9
- There is a lecture today and discussion sections this week (starting today).
- We've released the midterm grades. Please read the email from Gradescope (or the Piazza post). Regrade requests are due 2/16 @ 11:59 PT.
- For room scheduling reasons, Midterm 2 on March 17th will now take place 8pm-10pm (instead of 7pm-9pm). Please adjust your calendars accordingly.
- Hog project is released and all phases are due Thursday 2/10 @ 11:59 PT. Submit by Wednesday 2/9 for 1 point EC.
Week 4 Class Material
-
Lecture 9: Recursion
-
Lecture 10: Tree Recursion
- Week 4 Readings:
- Disc 03: Recursion
- Exam Prep 03: Recursion
Monday, February 7
- There is no lecture today or lab this week. Lecture and discussion resume Wednesday.
- Midterm 1 is today, Monday 2/7, from 8pm-10pm. Please read the announcements post thoroughly. You should have received an email containing your exam time and proctoring information by now.
Week 4 Class Material
-
Lecture 9: Recursion
-
Lecture 10: Tree Recursion
- Week 4 Readings:
- Disc 03: Recursion
- Exam Prep 03: Recursion
Friday, February 4
- Many more in-person office hour slots will be available next week! 🎉 Check out the OH calendar next week.
- There are lots more spots available in CSM sections. Read the student information and expectations and sign up here!
- Hog project is released and all phases are due Thursday 2/10.
Reminder: Midterm 1 is on Monday, 2/7, from 8pm-10pm. Please read this post in its entirety to familiarize yourself with exam logistics. If you're taking the exam remotely, please also read this post.
- Seating and exam assignments have been released via email -- if you didn't get yours, please reach out to cs61a@berkeley.edu ASAP.
Week 3 Class Material
-
Lecture 6: Design
-
Lecture 7: Function Examples
-
Lecture 8: Exceptions
- Week 3 Readings:
- Disc 02: Environment Diagrams, Higher-Order Functions
- Exam Prep 02: Higher-Order Functions, Environment Diagrams
Wednesday, February 2
- We have temporarily lost some of our office hours rooms. For now, we'll offer "OH parties" from Tuesdays-Fridays, 9am-11am, and 1:1 OH Zoom appointments in the afternoons/evenings. Learn more on the office hours page.
- Lab 2 is released and due Wednesday 2/2 @ 11:59pm.
- Homework 2 is released and due Thursday 2/3 @ 11:59pm.
- Hog project is released and due Thursday 2/10. However, checkpoint 1 is due Thursday 2/3, so pace yourself accordingly so you can complete both HW2 and Hog Checkpoint 1 in time.
Reminder: Midterm 1 is on Monday, 2/7, from 8pm-10pm. Please read this post in its entirety to familiarize yourself with exam logistics.
- If you need to request a special seat (including desks for left-handed writers), or to take the remote or alternate exam, fill out this form by Thursday, 2/3, 11:59pm.
Week 3 Class Material
-
Lecture 6: Design
-
Lecture 7: Function Examples
-
Lecture 8: Exceptions
- Week 3 Readings:
- Disc 02: Environment Diagrams, Higher-Order Functions
- Exam Prep 02: Higher-Order Functions, Environment Diagrams
Monday, January 31
We are back on campus this week!
- Lectures will be in Wheeler 150, with recordings made available a few hours after. We will also attempt to Zoom (from link in calendar below) but it's possible that will not work.
- For lab discussion/sections: only the "remote" section will remain on Zoom, all other sections are in-person. Find your room on sections.cs61a.org.
- UPDATED: For office hours, we'll offer "OH parties" from Tuesdays-Fridays, 9am-11am, and 1:1 OH Zoom appointments in the afternoons/evenings. Learn more on the office hours page.
- Lab 2 is released and due Wednesday 2/2 @ 11:59pm.
- Homework 2 is released and due Thursday 2/3 @ 11:59pm.
- Hog project is released and due Thursday 2/10. However, checkpoint 1 is also due Thursday 2/3, so pace yourself accordingly so you can complete both HW2 and Hog Checkpoint 1 in time.
- Please only email your TA for things that directly pertain to them. Instead, use Piazza for general help or email cs61a@berkeley.edu for logistical questions. Thank you!
Reminder: Midterm 1 is on Monday, 2/7, from 8pm-10pm. Please read this post in its entirety to familiarize yourself with exam logistics.
- If you need to request a special seat (including desks for left-handed writers), or to take the remote or alternate exam, fill out this form by Thursday, 2/3, 11:59pm.
Week 3 Class Material
-
Lecture 6: Design
-
Lecture 7: Function Examples
-
Lecture 8: Exceptions
- Week 3 Readings:
- Disc 02: Environment Diagrams, Higher-Order Functions
- Exam Prep 02: Higher-Order Functions, Environment Diagrams
Friday, January 28
To request an assignment extension, please use go.cs61a.org/extensions (linked from the contact page). If you email your TA asking for an extension, they will direct you to this form.
- Please be conscious about emailing your TAs late at night asking for help on assignments, as it puts pressure on them to respond quickly—we ask that you use Piazza for technical and content questions, and recommend starting on assignments early as it makes it far easier to access resources such as Piazza and OH when issues arise.
- From now on, extensions that are requested after the assignment deadline has already passed will not be granted (unless your circumstances prevented you from being able to access the form before the deadline).
- Keep in mind that we automatically drop your two lowest lab scores and one lowest homework score.
Midterm 1 is on Monday, 2/7, from 8pm-10pm. Please read this post in its entirety to familiarize yourself with exam logistics.
- If you need to request a special seat (including desks for left-handed writers), or to take the remote or alternate exam, fill out this form by Thursday, 2/3, 11:59pm.
- A number of slots have opened up for most section times on sections.cs61a.org. If you were looking to switch to a more convenient section time, feel free to do so!
- CSM is offering one-time trial tutoring sections this coming week. Read this post for more information and the sign up link.
- Reminder: We return to on-campus instruction on Monday, 1/31.
Week 2 Class Material
-
Lecture 3: Control
-
Lecture 4: Higher-Order Functions
-
Lecture 5: Environments
- Week 2 Readings:
- Disc 01: Control, Environment Diagrams
- Exam Prep 01: Variables & Functions, Control
Wednesday, January 26
- All components of the class are on Zoom this week, including the lecture. Follow the Zoom link from the calendar below.
As announced by campus, we return to on-campus instruction on Monday of next week.
- Only the "remote" designated section will remain on Zoom, all other sections return to in-person.
- We will begin offering in-person office hours during the weekdays, and Zoom OH will be only in the evenings.
- Lectures will be in Wheeler 150, with recordings made available a few hours after.
- Lab 1 is due Wednesday 1/26 @ 11:59pm. If you're having trouble finishing it after section, post on Piazza or schedule an OH appointment.
- Homework 1 is due Thursday 1/27 @ 11:59pm.
- Whenever you're posting on Piazza with assignment code, please make a private post using this template.
61a is hosting two staff panels this and next week!
- The first one is 5-6pm tomorrow and will be aimed at addressing the experiences of students from backgrounds underrepresented in EE/CS and STEM
- The second one will be 1-2PM this upcoming Monday and will be aimed at anyone who wants tips or advice on how to approach the class
- See Piazza post for more details.
Week 2 Class Material
-
Lecture 3: Control
-
Lecture 4: Higher-Order Functions
-
Lecture 5: Environments
- Week 2 Readings:
- Disc 01: Control, Environment Diagrams
- Exam Prep 01: Variables & Functions, Control
Monday, January 24
Lecture 3 is 2:10pm-3pm Monday, 1/24 on Zoom. Lecture recording will be posting Monday night and linked below.
- To watch John DeNero's videos from previous semesters, click the lecture title in the calendar below. Those videos do not include announcements, and they may differ slightly in content.
- Lab 0 is optional, but we recommend doing it anyway, especially if you haven't programmed with Python on your computer before.
- Lab 1 is due Wednesday 1/26 @ 11:59pm. You will work on this in your lab section this week, and hopefully finish it in the section.
- Homework 1 is due Thursday 1/27 @ 11:59pm. We'll cover the topics in the Monday lecture.
- Lots of office hours are available this week, for help with the homework or questions that you didn't get to during lab.
- Please fill out this group matching form if you'd like to find partners for labs, discussions, and projects.
Week 2 Class Material
-
Lecture 3: Control
-
Lecture 4: Higher-Order Functions
-
Lecture 5: Environments
- Week 2 Readings:
- Disc 01: Control, Environment Diagrams
- Exam Prep 01: Variables & Functions, Control
Friday, January 21
- Lecture 2 is 2:10pm-3pm Friday, 1/21 on Zoom. Please attend, but it will be recorded and posted online in case you miss it. Lecture recordings will be linked from the calendar below.
- Discussion 0 does not count towards discussion participation points. See syllabus for more details.
- Homework 1 is released tonight and is due next Thursday 1/27. However, some of the questions rely on Monday's lecture topics.
Week 1 Class Material
-
Lecture 1: Welcome!
-
Lecture 2: Functions
- Week 1 Readings:
- Disc 00: Getting Started
Monday, January 10
- 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
Current Assignments
Calendar
Week | Date | Lecture | Textbook | Lab & Discussion Links | Homework & Project |
---|---|---|---|---|---|
1 | Wed 1/19 |
|
Disc 00: Getting Started
Lab 00: Getting Started (Optional)
Due
Thu 1/27
|
||
Fri 1/21 |
HW 01: Variables & Functions, Control
Due
Thu 1/27
|
||||
2 | Mon 1/24 |
Lab 01: Variables & Functions, Control
Due
Wed 1/26
|
|||
Wed 1/26 |
Disc 01: Control, Environment Diagrams | ||||
Fri 1/28 |
Exam Prep 01: Variables & Functions, Control |
HW 02: Control, Higher-Order Functions
Due
Thu 2/3
|
|||
3 | Mon 1/31 |
|
Lab 02: Higher-Order Functions, Lambda Expressions
Due
Wed 2/2
|
Hog
Checkpt
Thu 2/3
Due
Thu 2/10
|
|
Wed 2/2 |
|
Disc 02: Environment Diagrams, Higher-Order Functions | |||
Fri 2/4 |
Exam Prep 02: Higher-Order Functions, Environment Diagrams | ||||
4 | Mon 2/7 |
Midterm 1 (8pm-10pm) | |||
Wed 2/9 |
Disc 03: Recursion | ||||
Fri 2/11 |
Exam Prep 03: Recursion |
HW 03: Recursion, Tree Recursion
Due
Thu 2/17
|
|||
5 | Mon 2/14 |
Lab 04: Recursion, Tree Recursion
Due
Wed 2/16
|
Cats
Checkpt
Thu 2/17
Due
Thu 2/24
|
||
Wed 2/16 |
Disc 04: Tree Recursion, Python Lists | ||||
Fri 2/18 |
Exam Prep 04: Tree Recursion, Python Lists | ||||
6 | Mon 2/21 |
No Lecture: Presidents' Day |
Lab 05: Python Lists, Mutability
Due
Wed 2/23
|
||
Wed 2/23 |
Disc 05: Sequences, Mutability, Object-Oriented Programming | ||||
Fri 2/25 |
Exam Prep 05: Mutability, Object-Oriented Programming |
HW 04: Python Lists, Object-Oriented Programming
Due
Thu 3/3
|
|||
7 | Mon 2/28 |
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 |
Disc 06: String Representation, Trees | ||||
Fri 3/4 |
Exam Prep 06: Object-Oriented Programming, Trees |
HW 05: Trees, Linked Lists
Due
Tue 3/15
|
|||
8 | Mon 3/7 |
Lab 07: Mutable Trees, Linked Lists
Due
Wed 3/9
|
|||
Wed 3/9 |
Disc 07: Linked Lists, Iterators, Generators | ||||
Fri 3/11 |
Exam Prep 07: Linked Lists, Iterators, Generators | ||||
9 | Mon 3/14 |
|
Lab 08: Midterm Review
Due
Wed 3/16
|
||
Wed 3/16 |
|
||||
Thu 3/17 |
Midterm 2 (8pm-10pm) | ||||
Fri 3/18 |
|
(Extra Credit) Magic: the Lambda-ing
Due
Fri 4/1
|
|||
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 |
Lab 10: Scheme
Due
Wed 3/30
|
|||
Wed 3/30 |
Disc 10: Scheme, Scheme Lists | ||||
Fri 4/1 |
Exam Prep 10: Scheme, Scheme Lists |
HW 06: Scheme Lists
Due
Thu 4/7
|
|||
12 | Mon 4/4 |
Lab 11: Interpreters
Due
Wed 4/6
|
|||
Wed 4/6 |
|
Disc 11: Interpreters, Tail Calls |
Scheme
Checkpt
1
Tue 4/12
Checkpt
2
Tue 4/19
Due
Tue 4/26
Scheme Challenge
Checkpt
Tue 4/19
Due
Tue 4/26
|
||
Fri 4/8 |
|
Exam Prep 11: Scheme Lists, Tail Calls | |||
13 | Mon 4/11 |
|
Lab 12: Scheme Data Abstraction
Due
Wed 4/13
|
||
Wed 4/13 |
|
Disc 12: Programs as Data | |||
Fri 4/15 |
|
Exam Prep 12: Interpreters, Tail Calls |
HW 07: Scheme Data Abstraction, Programs as Data
Due
Fri 4/22
(Optional) Scheme Contest
Due
Wed 4/27
|
||
14 | Mon 4/18 |
|
Lab 13: Regular Expressions
Due
Wed 4/20
|
||
Wed 4/20 |
|
Disc 13: Regular Expressions, BNF | |||
Fri 4/22 |
|
Exam Prep 13: Regular Expressions, BNF |
HW 08: Regular Expressions, BNF
Due
Thu 4/28
|
||
15 | Mon 4/25 |
|
Lab 14: Final Review
Due
Wed 4/27
|
||
Wed 4/27 |
|
Disc 14: Final Review | |||
Fri 4/29 |
|
Exam Prep 14: Final Review |
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) |