CS 61A: Structure and Interpretation of Computer Programs
Summer 2019
Instructors:
Tiffany Perumpail, Chris Allsman, Alex Stennet
MTuWTh 11-12:30 in 155 Dwinelle
- Want to AI for the course in the fall? See piazza
- Thank you for a wonderful summer!
- Exam scores released, see piazza for information on submitting regrades! Due 8/19 at 11:59 PM PDT
Scheme Art Winners:
Lightweight
- First place: Frozen Danelion
- Second place: Fun With Fractals
- Third place: Rainbow Flower Ring
Heavyweight
- First place: Boruto's Dad, Father of Naruto's Son
- Second place: I like patterns.
- Third place: Destroying Stanfurd with facts and logic
- Final grades (HW8, Extra Credit) will be posted soon
- HW7 released, due Tuesday, 8/13 at 11:59 PM PDT
HW8 released, due Friday, 8/16 at 11:59 PM PDT. It consists of filling out three surveys:
- The CS61A Final Survey
- The UC Berkeley Course Evaluations
- Voting for the Scheme Art Contest
Final Thursday, 8/15 6-9 PM PDT (for in-person exams).
- Practice final released - complete and submit by Wednesday at 11:59 PM PDT for 1 extra credit point
- Ants composition scores released, submit revisions by Friday, 8/16 at 11:59 PM PDT. See piazza for more details.
- HW7 released, due Tuesday, 8/13 at 11:59 PM PDT
- Optional Scheme Contest released, due Tuesday, 8/13 at 11:59 PM PDT
Final Thursday, 8/15 6-9 PM PDT (for in-person exams).
- Practice final released - complete and submit by Wednesday at 11:59 PM PDT for 1 extra credit point
- Ants composition scores released, submit revisions by Friday, 8/16 at 11:59 PM PDT. See piazza for more details.
- HW7 released, due Tuesday, 8/13 at 11:59 PM PDT
- Optional Scheme Contest released, due Tuesday, 8/13 at 11:59 PM PDT
Final Thursday, 8/15 6-9 PM PDT (for in-person exams).
- Sample study plan posted on piazza
Project 4, Scheme is released
- Submit entire project by Friday, 8/9 at 11:59 PM PDT
- You will get an extra credit point for submitting the entire project by Thursday, August 8 at 11:59 PM PDT
- Typing Test composition scores released, submit revisions by Sunday, 8/11 at 11:59 PM PDT. See piazza for more details.
- Optional Scheme Contest released, due Tuesday, 8/13 at 11:59 PM PDT
- HW6 has been released and is due Tuesday, 8/6 at 11:59 PM PDT
Project 4, Scheme is released
- Submit Phase I/II by Monday, 8/5 at 11:59 PM PDT for checkpoint 1
- Submit entire project by Friday, 8/8 at 11:59 PM PDT
- You will get an extra credit point for submitting the entire project by Thursday, August 7 at 11:59 PM PDT
- HW6 has been released and is due Tuesday, 8/6 at 11:59 PM PDT
Project 4, Scheme is released
- Submit Phase I/II by Monday, 8/5 at 11:59 PM PDT for checkpoint 1
- Submit entire project by Friday, 8/8 at 11:59 PM PDT
- You will get an extra credit point for submitting the entire project by Thursday, August 7 at 11:59 PM PDT
Midterm Scores are released!
- Regrade requests are due by Thursday, August 1.
Still many spots for small group tutoring!
- Enrollment details are available on Piazza
Project 3, Ants released.
- Submit entire project by Wednesday, July 31.
- You will get an extra credit point for submitting the entire project by Tuesday, July 30.
HW6 & Project 4 will be released tonight or tomorrow
- HW6 tentatively due Tuesday, 8/6
- Project 4 tentatively due Friday, 8/9
Midterm Scores are released!
- Regrade requests are due by Thursday, August 1.
Small Group Tutoring
- More Small Group Tutoring spots have been opened!
- Enrollment details are available on Piazza
HW5 released, due Tuesday, July 30 at 11:59 PM PDT
- Midsemester Survey, worth 2 points
Project 3, Ants released.
- Submit entire project by Wednesday, July 31.
- You will get an extra credit point for submitting the entire project by Tuesday, July 30.
HW6 & Project 4 will be released tonight or tomorrow
- HW6 tentatively due Tuesday, 8/6
- Project 4 tentatively due Friday, 8/9
Midterm Scores are released!
- Regrade requests are due by Thursday, August 1.
Advising Appointments
- If you'd like to discuss your progress privately with a staff member, course staff is holding Advising Appointments this week.
- Sign-ups are open on Piazza
Small Group Tutoring
- More Small Group Tutoring spots have been opened!
- Enrollment deatils are available on Piazza
- HW4 released, due Monday, July 29th at 11:59 PM PDT
HW5 released, due Tuesday, July 30 at 11:59 PM PDT
- Midsemester Survey, worth 2 points
Project 3, Ants released.
- Submit entire project by Wednesday, July 31.
- You will get an extra credit point for submitting the entire project by Tuesday, July 30.
Midterm Scores are released!
- Regrade requests are due by Thursday, August 1.
Advising Appointments
- If you'd like to discuss your progress privately with a staff member, course staff is holding Advising Appointments this week.
- Sign-ups are open on Piazza
Small Group Tutoring
- More Small Group Tutoring spots have been opened!
- Enrollment deatils are available on Piazza
- HW4 released, due Monday, July 29th at 11:59 PM PDT
HW5 released, due Tuesday, July 30 at 11:59 PM PDT
- Midsemester Survey, worth 2 points
Project 3, Ants released.
- Submit entire project by Wednesday, July 31.
- You will get an extra credit point for submitting the entire project by Tuesday, July 30.
Hog Composition Scores have been released!
- You should see a new tag for "composition" for your Hog submission on okpy.org, and some comments on your code.
- The deadline to submit your revisions is Sunday, July 28th at 11:59pm.
Midterm Scores are released!
- Regrade requests are due by Thursday, August 1.
Advising Appointments
- If you'd like to discuss your progress privately with a staff member, course staff is holding Advising Appointments next week.
- Sign-ups are open on Piazza
Small Group Tutoring
- More Small Group Tutoring spots have been opened!
- Enrollment deatils are available on Piazza
Midterm Scores are released!
- Regrade requests are due by Thursday, August 1.
Advising Appointments
- If you'd like to discuss your progress privately with a staff member, course staff is holding Advising Appointments next week.
- Sign-ups are open on Piazza
Small Group Tutoring
- More Small Group Tutoring spots have been opened!
- Enrollment deatils are available on Piazza
Project 3, Ants.
- Submit Phases 1 & 2 by Friday, July 26.
- Submit Phases 3 & 4 by Wednesday, July 31.
- You will get an extra credit point for submitting the entire project by Tuesday, July 30.
Hog Composition Scores have been released!
- You should see a new tag for "composition" for your Hog submission on okpy.org, and some comments on your code.
- The deadline to submit your revisions is Sunday, July 28th at 11:59pm.
- HW4 released, due Monday, July 29th at 11:59 PM PDT
Advising Appointments
- If you'd like to discuss your progress privately with a staff member, course staff is holding Advising Appointments this week and next week.
- Sign-ups will open on Piazza at 3pm today.
Project 3, Ants.
- Submit Phases 1 & 2 by Friday, July 26.
- Submit Phases 3 & 4 by Wednesday, July 31.
- You will get an extra credit point for submitting the entire project by Tuesday, July 30.
Hog Composition Scores have been released!
- You should see a new tag for "composition" for your Hog submission on okpy.org, and some comments on your code.
- The deadline to submit your revisions is Sunday, July 28th at 11:59pm.
- HW4 released, due Monday, July 29th at 11:59 PM PDT
Project 2, Typing Test.
- Entire project is due Tuesday, July 23rd at 11:59 PM PDT. You may complete all phases with one partner.
Hog Composition Scores have been released!
- You should see a new tag for "composition" for your Hog submission on okpy.org, and some comments on your code.
- The deadline to submit your revisions is Sunday, July 28th at 11:59pm.
- HW4 released, due Monday, July 29th at 11:59 PM PDT
- Project 3, Ants, will be released tonight
Project 2, Typing Test.
- Entire project is due Tuesday, July 23rd at 11:59 PM PDT. You may complete all phases with one partner.
- Can get 1 point of extra credit by submitting by Monday, July 22nd at 11:59 PM PDT and filling out a feedback survey
Hog Composition Scores have been released!
- You should see a new tag for "composition" for your Hog submission on okpy.org, and some comments on your code.
- The deadline to submit your revisions is Sunday, July 28th at 11:59pm.
Project 2, Typing Test.
- Entire project is due Tuesday, July 23rd at 11:59 PM PDT. You may complete all phases with one partner.
- Can get 1 point of extra credit by submitting by Monday, July 22nd at 11:59 PM PDT and filling out a feedback survey
- Recommendation: do not work on phase 3 until after the midterm
Midterm on Thursday, July 18th at 6-9 PM PDT
W61A Students need to fill out @711 by 7/17 9:59 PM PDT or you will not be allowed to take the midterm
- This is not the same form as we previously posted
- Small Group Tutoring Section Sign-ups are open! See Piazza @220 for enrollment details.
Project 2, Typing Test.
- Entire project is due Tuesday, July 23rd at 11:59 PM PDT. You may complete all phases with one partner.
- Can get 1 point of extra credit by submitting by Monday, July 22nd at 11:59 PM PDT and filling out a feedback survey
- Recommendation: do not work on phase 3 until after the midterm
- HW3 due Tuesday, July 16th at 11:59 PM PDT
Midterm on Thursday, July 18th at 6-9 PM PDT
- Small Group Tutoring Section Sign-ups are open! See Piazza @220 for enrollment details.
Project 2, Typing Test.
- Entire project is due Tuesday, July 23rd at 11:59 PM PDT. You may complete all phases with one partner.
- Can get 1 point of extra credit by submitting by Monday, July 22nd at 11:59 PM PDT and filling out a feedback survey
- Recommendation: do not work on phase 3 until after the midterm
- HW3 due Tuesday, July 16th at 11:59 PM PDT
Midterm on Thursday, July 18th at 6-9 PM PDT
- Small Group Tutoring Section Sign-ups are open! See Piazza @220 for enrollment details.
Project 2, Typing Test is released.
- Phase 1/2 due Friday, July 12th at 11:59 PM PDT.
- Entire project is due Tuesday, July 23rd at 11:59 PM PDT. You may complete all phases with one partner.
- Can get 1 point of extra credit by submitting by Monday, July 22nd at 11:59 PM PDT and filling out a feedback survey
- HW3 will be released tonight and will be due Tuesday, July 16th at 11:59 PM PDT.
Midterm and Final will be held 6-9 PM PDT (except for W61A students the final remotely)
- Conflicts? Fill out links.cs61a.org/mt-conflict or links.cs61a.org/final-conflict by 7/9 at 11:59 PM PDT
- Small Group Tutoring Section Sign-ups are open! See Piazza @220 for enrollment details.
Project 2, Typing Test is released.
- Phase 1/2 due Friday, July 12th at 11:59 PM PDT.
- Entire project is due Tuesday, July 23rd at 11:59 PM PDT. You may complete all phases with one partner.
- Can get 1 point of extra credit by submitting by Monday, July 22nd at 11:59 PM PDT and filling out a feedback survey
- HW2 is due Tuesday, July 9th at 11:59 PM PDT.
Midterm and Final will be held 6-9 PM PDT (except for W61A students the final remotely)
- Conflicts? Fill out links.cs61a.org/mt-conflict or links.cs61a.org/final-conflict by 7/9 at 11:59 PM PDT
- Tentative HW/project deadlines have been added to the course calendar. These are subject to change at any point before their release.
- Small Group Tutoring Section Sign-ups are open! See Piazza @220 for enrollment details.
Project 1, Hog is released.
- Entire project is due Monday, July 8th at 11:59 PM PDT. You may complete phases 2/3 with one partner.
- HW2 is due Tuesday, July 9th at 11:59 PM PDT.
- Project 2 will be released 7/8 or 7/9. The first two phases (totaling ~4 questions) are due Friday, 7/12
Midterm and Final will be held 6-9 PM PDT (except for W61A students the final remotely)
- Conflicts? Fill out links.cs61a.org/mt-conflict or links.cs61a.org/final-conflict by 7/9 at 11:59 PM PDT
- Tentative HW/project deadlines have been added to the course calendar. These are subject to change at any point before their release.
- Small Group Tutoring Section Sign-ups are open! See Piazza @220 for enrollment details.
Project 1, Hog is released.
- Phase 1 is due Wednesday, July 3rd at 11:59 PM PDT. You must complete this phase individually.
- Phases 2/3 are due Monday, July 8th at 11:59 PM PDT. You may complete these phases with one partner. You do not need to wait until the Phase 1 deadline to start working on Phases 2 or 3.
OH for 61A AND online OH for W61A have begun. See here for a list of times.
- All 61A OH have been moved out of 109 Morgan and into Cory Hall. See here for a list of updated locations.
- Alex is holding 1-1s 1-2pm today, sign up here
- Tentative HW/project deadlines have been released. These are subject to change at any point before their release.
- Small Group Tutoring Section Sign-ups are open! See Piazza @220 for enrollment details.
- There will only be one discussion this week. No discussion sections on Thursday or Friday, because of July 4th.
There will still be two lab assignments this week, (Lab 02 and Lab 03).
- (For in-person students) Thursday lab sections will not be held, because of July 4th. If you are enrolled in a Thursday lab, you are welcome to attend a Wednesday lab. Please e-mail the TA whose lab you plan on attending for this week.
Project 1, Hog is released. The deadline has been finalized.
- Phase 1 is due Wednesday, July 3rd at 11:59 PM PDT. You must complete this phase individually.
- Phases 2/3 are due Monday, July 8th at 11:59 PM PDT. You may complete these phases with one partner. You do not need to wait until the Phase 1 deadline to start working on Phases 2 or 3.
OH for 61A AND online OH for W61A have begun. See here for a list of times.
- All 61A OH have been moved out of 109 Morgan and into Cory Hall. See here for a list of updated locations.
- Tentative HW/project deadlines have been released. These are subject to change at any point before their release.
- Small Group Tutoring Section Sign-ups are open! See Piazza @220 for enrollment details.
- There will only be one discussion this week. No discussion sections on Thursday or Friday, because of July 4th.
There will still be two lab assignments this week, (Lab 02 and Lab 03).
- (For in-person students) Thursday lab sections will not be held, because of July 4th. If you are enrolled in a Thursday lab, you are welcome to attend a Wednesday lab. Please e-mail the TA whose lab you plan on attending for this week.
- Homework 1 is released and is due Tuesday, July 2nd at 11:59 PM PDT
Project 1, Hog is released. The deadline has been finalized.
- Phase 1 is due Wednesday, July 3rd at 11:59 PM PDT. You must complete this phase individually.
- Phases 2/3 are due Monday, July 8th at 11:59 PM PDT. You may complete these phases with one partner. You do not need to wait until the Phase 1 deadline to start working on Phases 2 or 3.
OH for 61A AND online OH for W61A have begun. See here for a list of times.
- All 61A OH have been moved out of 109 Morgan and into Cory Hall. See here for a list of updated locations.
- Chris will be holding office hours today 3-4pm in 781 Soda
- Small Group Tutoring Section Sign-ups are open! See Piazza @220 for enrollment details.
- There will only be one discussion this week. No discussion sections on Thursday or Friday, because of July 4th.
There will still be two lab assignments this week, (Lab 02 and Lab 03).
- (For in-person students) Thursday lab sections will not be held, because of July 4th. If you are enrolled in a Thursday lab, you are welcome to attend a Wednesday lab. Please e-mail the TA whose lab you plan on attending for this week.
- Homework 1 is released and is due Tuesday, July 2nd at 11:59 PM PDT
Project 1, Hog is released. The deadline has been finalized.
- Phase 1 is due Wednesday, July 3rd at 11:59 PM PDT. You must complete this phase individually.
- Phases 2/3 are due Monday, July 8th at 11:59 PM PDT. You may complete these phases with one partner. You do not need to wait until the Phase 1 deadline to start working on Phases 2 or 3.
OH for 61A AND online OH for W61A have begun. See here for a list of times.
- All 61A OH have been moved out of 109 Morgan and into Cory Hall. See here for a list of updated locations.
- Homework 0 is released and is due Friday, June 28th at 11:59 PM PDT
- Lab 0 and Lab 1 are due tonight (6/28) at 11:59 PM PDT
- Homework 1 is released and is due Tuesday, July 2nd at 11:59 PM PDT
Project 1, Hog is released. Vote here for the final deadline, but currently:
- Phase 1 is due Wednesday, July 3rd at 11:59 PM PDT. You must complete this phase individually.
- Phases 2/3 are due Friday, July 5th at 11:59 PM PDT. You may complete these phases with one partner. You do not need to wait until the Phase 1 deadline to start working on Phases 2 or 3.
- OH for 61A AND online OH for W61A have begun. See here for a list of times.
- Homework 0 is released and is due Friday, June 28th at 11:59 PM PDT
- Homework 1 is released and is due Tuesday, July 2nd at 11:59 PM PDT
- Project 1 will be released tonight or tomorrow morning
- OH for 61A AND online OH for W61A have begun. See here for a list of times.
- See piazza for a list of things to know for the first week!
- Homework 0 is released and is due Friday, June 28th at 11:59 PM PDT
- Homework 1 is released and is due Tuesday, July 2nd at 11:59 PM PDT
- Lab starts today!
- OH for 61A AND online OH for W61A have4 begun. See here for a list of times.
- See piazza for a list of things to know for the first week!
- Homework 0 is released and is due Friday, June 28th at 11:59 PM PDT
- Discussion Sections for both 61A and W61A begin on Tuesday.
There will be no lab sections on Monday or Tuesday. Lab starts Wednesday.
- You should start lab00 before your first lab section.
- OH for 61A begin Tuesday, online OH for W61A begin Wednesday. See here for a tentative list of times.
- See piazza for a list of things to know for the first week!
- Lecture begins on Monday!
Discussion Sections for both 61A and W61A begin on Tuesday.
- W61A students should fill out the Section Preferences Form by 9:00 PM PDT tonight in order to be matched with a discussion section
There will be no lab sections on Monday or Tuesday. Lab starts Wednesday.
- You should start lab00 before your first lab section.
- OH for 61A begin Tuesday, online OH for W61A begin Wednesday. See here for a tentative list of times.
- See piazza for a list of things to know for the first week!
- Welcome to CS 61A Summer 2019!
- Looking for the Spring 2019 website?
- This website is under construction. All information is subject to change.
Week | Date | Lecture | Textbook | Lab and Discussion Links | Homework & Project |
---|---|---|---|---|---|
1 | Mon 6/24 |
Intro
|
|
Lab 00: Getting Started
Fri 6/28
|
|
Tue 6/25 |
Functions
|
Disc 00: Getting Started
|
HW 00
Mon 6/28
|
||
Wed 6/26 |
Control
|
Lab 01: Variables & Functions, Control
Fri 6/28
|
HW 01
Fri 7/2
|
||
Thu 6/27 |
Environment Diagrams
|
|
Disc 01: Environment Diagrams, Control |
Hog
Thu 7/8
|
|
2 | Mon 7/1 |
Higher-Order Functions
|
Lab 02: Higher-Order Functions
Fri 7/5
|
||
Tue 7/2 |
Recursion
|
Disc 02: Higher-Order Functions |
Hog Contest
Fri 7/9
|
||
Wed 7/3 |
Recursion Examples
|
Lab 03: Recursion
Fri 7/5
|
HW 02
Fri 7/9
|
||
Thu 7/4 |
No Lecture: Independence Day | ||||
Fri 7/5 |
Guerrilla 01: Higher-Order Functions, Recursion, Tree Recursion
|
||||
3 | Mon 7/8 |
Sequences & Data Abstraction
|
Lab 04: Python Lists, Data Abstraction
Fri 7/12
|
Typing Test
Fri 7/23
|
|
Tue 7/9 |
Functional Decomposition & Debugging
|
|
Disc 03: Recursion, Tree Recursion | ||
Wed 7/10 |
Trees
|
Lab 05: Python Lists, Trees
Fri 7/12
|
HW 03
Fri 7/16
|
||
Thu 7/11 |
Mutable Sequences
|
Disc 04: Trees, Mutability | |||
Fri 7/12 |
Guerrilla 02: Python Lists, Data Abstraction, Trees
|
||||
4 | Mon 7/15 |
Mutable Functions & Growth
|
Lab 06: Nonlocal, Mutability
Fri 7/19
Lab 07: Midterm Review
Fri 7/19
|
||
Tue 7/16 |
Iterators & Generators
|
Disc 05: Midterm Review, Iterators & Generators | |||
Wed 7/17 |
Midterm Review
|
|
|||
Thu 7/18 |
No Lecture Midterm (6-9 PM PDT) |
||||
Fri 7/19 |
Guerrilla 03: Nonlocal, Iterators & Generators
|
||||
5 | Mon 7/22 |
Objects
|
Lab 08: Object-Oriented Programming
Fri 7/26
|
HW 04
Thu 7/29
|
|
Tue 7/23 |
Inheritance
|
Disc 06: Object-Oriented Programming, Nonlocal |
Ants
Sat 7/31
|
||
Wed 7/24 |
Linked Lists & Trees
|
Lab 09: Linked Lists, Mutable Trees
Fri 7/26
|
|||
Thu 7/25 |
Interfaces
|
Disc 07: Linked Lists, Trees | |||
Fri 7/26 |
Guerrilla 04: Object-Oriented Programming, Mutable Trees
|
||||
Sat 7/27 |
HW 05
Fri 7/30
|
||||
6 | Mon 7/29 |
Scheme
|
Lab 10: Scheme
Fri 8/2
|
||
Tue 7/30 |
More Scheme
|
Disc 08: Scheme |
Scheme
Mon 8/9
|
||
Wed 7/31 |
Interpreters
|
Lab 11: Interpreters
Fri 8/2
|
HW 06
Fri 8/6
|
||
Thu 8/1 |
Macros
|
Disc 09: Tail Recursion, Macros | |||
Fri 8/2 |
Guerrilla 05: Scheme, Scheme Lists, Tail Recursion
|
||||
7 | Mon 8/5 |
Streams
|
|
Lab 12: Macros
Fri 8/9
|
|
Tue 8/6 |
Declarative Programming I
|
Disc 10: Streams |
Scheme Contest
Fri 8/13
|
||
Wed 8/7 |
Declarative Programming II
|
Lab 13: SQL
Fri 8/9
|
HW 07
Fri 8/13
|
||
Thu 8/8 |
Special Topics I (Security)
|
|
Disc 11: SQL | ||
8 | Mon 8/12 |
Final Review
|
|
Lab 14: Final Review
Fri 8/16
|
|
Tue 8/13 |
Special Topics II (CS Theory)
|
|
Disc 12: Final Review |
HW 08
Mon 8/16
|
|
Wed 8/14 |
Final Lecture
|
|
|||
Thu 8/15 |
Final (6-9 PM PDT) |