CS 61A: The Structure and Interpretation of Computer Programs
Fall 2016Instructor: John DeNero
MWF 2-3 in Pauley Ballroom
Announcements
- The final exam and solutions are now available.
Congratulations to the winners of the Scheme recursive art contest.
Featherweight division:
- 1st Place: O U T R U N
- 2nd Place: Geometric Groove
- 3rd Place: I want to bee John DeNero
Heavyweight division:
- 1st Place: A Morning Filled with 2 to the 32 Suns
- 2nd Place: Lost
- 3rd Place: Pane/Pain and A 2D Projection of a 3D Rotated Spring
The Final Exam is 3pm-6pm on Thursday 12/15.
- Covers all topics through Lecture 36.
- About half the exam typically tests Midterm 2 content.
- A seat assignment will be emailed to you by Wednesday 12/14.
- The final study guide is posted.
- Official course evaluation due Sunday 12/11. Please spell your TA's name correctly!
Congratulations to the winners of the Scheme recursive art contest.
Featherweight division:
- 1st Place: O U T R U N
- 2nd Place: Geometric Groove
- 3rd Place: I want to bee John DeNero
Heavyweight division:
- 1st Place: A Morning Filled with 2 to the 32 Suns
- 2nd Place: Lost
- 3rd Place: Pane/Pain and A 2D Projection of a 3D Rotated Spring
The Final Exam is 3pm-6pm on Thursday 12/15.
- Covers all topics through Lecture 36.
- About half the exam typically tests Midterm 2 content.
- A seat assignment will be emailed to you by Wednesday 12/14.
- Final review guerrilla section Sunday 12/4 2pm-5pm in 247 Cory, mostly focusing on content after Midterm 2.
- Many small topic review sessions will be held next week.
- Office hours next week will be held 3pm-5pm Monday-Thursday in 109 Morgan.
Please complete three final online surveys!
- If all three have 85%+ participation, everyone who completed the final online survey gets a bonus point.
- Official course evaluation due Sunday 12/11. Please spell your TA's name correctly!
- Final online survey due Thursday 12/8 @ 11:59pm.
- Vote for your favorite Scheme art by Thursday 12/8 @ 11:59pm.
- Discussion 11 is much better in person than at home, so come to discussion this week.
Final Review Guerrilla Section Sunday 12/04 2-5pm in 247 Cory.
- Will cover mostly post MT2 material.
Topical Review Sessions all during dead week!
- TA will go over material and past problems. See weekly for exact schedule.
Final Exam 3pm-6pm on Thursday 12/15.
- Includes topics through Lecture 36.
- Discussion 11 is much better in person than at home, so come to discussion this week.
Final Exam 3pm-6pm on Thursday 12/15.
- Includes topics through Lecture 36.
- Small review sessions next week will be held during lab and discussion times.
- A schedule of review topics will be released soon.
The completely optional Scheme recursive art contest due Monday 11/28 @ 11:59pm.
- Make sure you submit the form describing your entry!
No more required homework assignments or projects.
- Still some opportunities for extra credit, to be announced.
We are giving extra extra credit on Project 4.
- Each early checkpoint was worth one point... of extra credit!
- Maximum possible score is 36/31.
- Lab 14 is much better in person than at home, so come to lab this week.
- Discussion 11 is much better in person than at home, so come to discussion this week.
Homework 13 due Wednesday 11/23 @ 11:59pm.
- Homework party Monday 11/21 6:30-8:30 in 247 Cory.
- Turkey due Thursday 11/24.
No lab section on Tuesday 11/22 or Wednesday 11/23.
- Lab 13 is optional practice.
- No lecture Wednesday 11/23.
- The completely optional Scheme recursive art contest due Monday 11/28 @ 11:59pm.
Homework 13 due Wednesday 11/23 @ 11:59pm.
- Homework party Monday 11/21 6:30-8:30 in 247 Cory.
No lab section on Tuesday 11/22 or Wednesday 11/23.
- Lab 13 is optional practice.
- No lecture Wednesday 11/23.
- The completely optional Scheme recursive art contest due Monday 11/28 @ 11:59pm.
- Beat Stanford!
Scheme project due Thursday 11/17 @ 11:59pm.
- Bonus point for submitting a complete project by Wednesday 11/16 @ 11:59pm.
- Online office hours 4pm-7pm Wednesday 11/16.
- Project party Wednesday 11/16 6:30-8:30pm in 247 Cory.
Homework 13 due Wednesday 11/23 @ 11:59pm.
- Homework party Monday 11/21 6:30-8:30 in 247 Cory.
- The completely optional Scheme recursive art contest due Monday 11/28 @ 11:59pm.
Homework 12 due Tuesday 11/15 @ 11:59pm.
- Homework party Monday 11/14 6:30-8:30pm in 247 Cory.
Scheme project due Thursday 11/17 @ 11:59pm.
- Part 2 due Tuesday 11/15 @ 11:59pm.
- Bonus point for submitting a complete project by Wednesday 11/16 @ 11:59pm.
- Online office hours 5-7pm Tuesday 11/15.
- Project party Wednesday 11/16 6:30-8:30pm in 247 Cory.
- The completely optional Scheme recursive art contest entries are due Monday 11/28 @ 11:59pm.
Homework 12 due Tuesday 11/15 @ 11:59pm.
- Homework party Monday 11/14 6:30-8:30pm in 247 Cory.
Scheme project due Thursday 11/17 @ 11:59pm.
- Part 2 due Tuesday 11/15 @ 11:59pm.
- Bonus point for submitting a complete project by Wednesday 11/16 @ 11:59pm.
- Online office hours 6pm-8pm Monday 11/14.
- Project party Wednesday 11/16 6:30-8:30pm in 247 Cory.
- The completely optional Scheme recursive art contest entries are due Monday 11/28 @ 11:59pm.
Homework 11 due Thursday 11/10 @ 11:59pm.
- Homework party Wednesday 11/09 6:30-8:30pm in 247 Cory.
- Homework 12 due Tuesday 11/15 @ 11:59pm.
Scheme project due Thursday 11/17 @ 11:59pm.
- Part 1 due Thursday 11/10 @ 11:59pm.
- Part 2 due Tuesday 11/15 @ 11:59pm.
- Bonus point for submitting a complete project by Wednesday 11/16 @ 11:59pm.
- Project party Thursday 11/10 6:30-8:30pm in 247 Cory.
- The completely optional Scheme recursive art contest entries are due Monday 11/28 @ 11:59pm.
No lecture, discussion section, or office hours on Friday 11/11.
- Discussion attendance still counts this week and can be earned by attending discussion (recommended), or completing the online participation form by Wednesday 11/09 @ 11:59pm.
- You can attend any discussion on Thursday, but please fill out the Piazza survey first.
- Special online discussion section Thursday 11/10 6:30pm-8pm.
- Ballots due Tuesday 11/08.
Homework 11 due Thursday 11/10 @ 11:59pm.
- Homework party Wednesday 11/09 6:30-8:30pm in 247 Cory.
Scheme project due Thursday 11/17 @ 11:59pm.
- Part 1 due Thursday 11/10 @ 11:59pm.
- Part 2 due Tuesday 11/15 @ 11:59pm.
- Bonus point for submitting a complete project by Wednesday 11/16 @ 11:59pm.
- Project party Thursday 11/10 6:30-8:30pm in 247 Cory.
- The completely optional Scheme recursive art contest entries are due Monday 11/28 @ 11:59pm.
No lecture, discussion section, or office hours on Friday 11/11.
- Discussion attendance still counts this week and can be earned by attending discussion (recommended), or completing the online participation form by Wednesday 11/09 @ 11:59pm.
- You can attend any discussion on Thursday.
- Special online discussion section Thursday 11/10 6:30pm-8pm.
- Ballots due Tuesday 11/08.
- Homework 11 due Thursday 11/10 @ 11:59pm.
Scheme project due Thursday 11/17 @ 11:59pm.
- Checkpoint 1 due Thursday 11/10 @ 11:59pm.
- Checkpoint 2 due Tuesday 11/15 @ 11:59pm.
- Bonus point for submitting a complete project by Wednesday 11/16 @ 11:59pm.
- The completely optional Scheme recursive art contest entries are due Monday 11/28 @ 11:59pm.
Maps composition revisions due Sunday 11/06 @ 11:59pm.
- Resubmit using
python3 ok --revise
.
- Resubmit using
- Midterm 2 regrade requests due Friday 11/04 on Gradescope.
Scheme project due Thursday 11/17 @ 11:59pm.
- Checkpoint 1 due Thursday 11/10 @ 11:59pm.
- Checkpoint 2 due Tuesday 11/15 @ 11:59pm.
- Bonus point for submitting a complete project by Wednesday 11/16 @ 11:59pm.
- The completely optional Scheme recursive art contest entries are due Monday 11/28 @ 11:59pm.
Maps composition revisions due Sunday 11/06 @ 11:59pm.
- Resubmit using
python3 ok --revise
.
- Resubmit using
Midterm 2 and solutions are posted.
- Submit regrades by Friday 11/04 on Gradescope. See email for more details.
- Video walkthrough posted.
- Homework 9 extended! Due Monday 10/31 @ 11:59pm.
Homework 10 due Thursday 11/03 @ 11:59pm.
- Homework party Wednesday 11/02 6:30-8:30pm in 247 Cory.
Scheme project due Thursday 11/17 @ 11:59pm.
- Checkpoint 1 due Thursday 11/10 @ 11:59pm.
- Checkpoint 2 due Tuesday 11/15 @ 11:59pm.
- Bonus point for submitting a complete project by Wednesday 11/16 @ 11:59pm.
Maps composition revisions due Sunday 11/06 @ 11:59pm.
- Resubmit using
python3 ok --revise
.
- Resubmit using
Midterm 2 and solutions are posted.
- Submit regrades by Friday 11/04 on Gradescope. See email for more details.
- New midterm recovery policy: Students who scored below 45/90 on midterm 1 & midterm 2 to combined can earn back exam points by attending discussion.
- Video walkthrough and annotated problems
- Homework 9 extended! Due Monday 10/31 @ 11:59pm.
Homework 10 due Thursday 11/03 @ 11:59pm.
- Homework party Wednesday 11/02 6:30-8:30pm in 247 Cory.
Maps composition revisions due Sunday 11/06 @ 11:59pm.
- Resubmit using
python3 ok --revise
.
- Resubmit using
Midterm 2 and solutions are posted.
- Check your email for a link to your scored exam.
- Submit regrades by Friday 11/04 on Gradescope. See email for more details.
- New midterm recovery policy: Students who scored below 45/90 on midterm 1 & midterm 2 to combined can earn back exam points by attending discussion.
- Video walkthrough and annotated problems
Homework 9 extended! Due Monday 10/31 @ 11:59pm.
- Homework party Wednesday 6:30-8:30pm in 247 Cory.
- Midterm 2 scores and solutions will be released Wednesday night.
Discussion participation credit can be earned by:
- Attending discussion (recommended), or
- Completing the online participation form by Wednesday 10/26 @ 11:59pm.
Maps composition revisions due Sunday 11/06.
- Resubmit using
python3 ok --revise
.
- Resubmit using
Homework 9 due Thursday 10/27 @ 11:59pm.
- Homework party Wednesday 6:30-8:30pm in 247 Cory
- Midterm 2 scores and solutions will be released when they're ready...
Discussion participation credit can be earned by:
- Attending discussion (recommended), or
- Completing the online participation form by Wednesday 10/26 @ 11:59pm.
Midterm 2 on Thursday 10/20 8pm-10pm.
- The Midterm 1 study guide and Midterm 2 study guide will be provided.
- Focus on recursion, lists, mutation, recursive data, and objects.
- Exam includes lecture content through Friday 10/14.
Office hours this week have topics. The TA in charge will review the topic and go over practice problems.
- Feel free to still go to any office hours if you have other questions.
Walkthrough videos for all discussions, labs, and homeworks found below.
- Midterm walkthroughs including Midterm 1 found under Resources.
- No discussion section this week
- No office hours Friday 10/21
- Lecture on Friday 10/21 will be a (really good) video
- Ants project due Friday 10/14 @ 11:59pm.
- Homework 8 is small, quick, worth only 1 point, and due Tuesday 10/18.
Midterm 2 on Thursday 10/20 8pm-10pm.
- Focus on recursion, lists, mutation, recursive data, and objects.
- Exam includes lecture content through Friday 10/14.
- Review session Sunday 10/16 12-3 in 155 Dwinelle.
- Conflict form due Sunday 10/16.
- Guerrilla section on Saturday 10/15 12pm-3pm 247 Cory on Linked Lists, OOP, and Binary Trees.
Ants project due Friday 10/14 @ 11:59pm.
- Bonus point for completing the project by Thursday 10/13 @ 11:59pm.
- Homework 8 (small and quick) due Tuesday 10/18.
Midterm 2 on Thursday 10/20 8pm-10pm.
- Includes lecture content through Friday 10/14.
- Review session Sunday 10/16 12-3 in 155 Dwinelle.
- Conflict form due Sunday 10/16.
- Staff Review Session Sunday 12-3pm in 155 Dwinelle Hall
Ants project due Friday 10/14 @ 11:59pm.
- Bonus point for completing the project by Thursday 10/13 @ 11:59pm.
- Project parties Tuesday 10/11 and Wednesday 10/12 6:30-8:30 in 247 Cory.
- Homework 8 (small and quick) due Tuesday 10/18.
Earn discussion attendance credit without attending discussion.
- Complete the participation form by Wednesday 10/12 @ 11:59pm.
Midterm 2 on Thursday 10/20 8pm-10pm.
- Includes lecture content through Friday 10/14.
- Review session Sunday 10/16 12-3 in 155 Dwinelle.
- Conflict form due Sunday 10/16.
Homework 07 due Tuesday 10/11 @ 11:59pm.
- Homework party Monday 10/10 6:30-8:30 in 247 Cory
Hog composition revisions due Tuesday 10/11.
- Resubmit using
python3 ok --revise
.
- Resubmit using
Ants project due Friday 10/14 @ 11:59pm.
- Bonus point for completing the project by Thursday 10/13 @ 11:59pm.
- Project parties Tuesday 10/11 and Wednesday 10/12 6:30-8:30 in 247 Cory.
Earn discussion attendance credit without attending discussion.
- Complete the participation form by Thursday 10/13 @ 9:30am. More details on Piazza.
Midterm 2 on Thursday 10/20 8pm-10pm.
- Conflict form due Sunday 10/16.
Homework 07 due Tuesday 10/11 @ 11:59pm.
- Homework party Monday 10/10 6:30-8:30 in 247 Cory
Hog composition revisions due Tuesday 10/11.
- Resubmit using
python3 ok --revise
.
- Resubmit using
Ants project due Friday 10/14 @ 11:59pm.
- Bonus point for completing the project by Thursday 10/13 @ 11:59pm.
- Project parties Tuesday 10/11 and Wednesday 10/12 6:30-8:30 in 247 Cory
Midterm 2 on Thursday 10/20 8pm-10pm.
- Conflict form due Sunday 10/16.
Homework 07 due Tuesday 10/11 @ 11:59pm.
- Homework party Monday 10/10 6:30-8:30 in 247 Cory
Hog composition revisions due Tuesday 10/11.
- Resubmit using
python3 ok --revise
.
- Resubmit using
Ants project due Friday 10/14 @ 11:59pm.
- Bonus point for completing the project by Thursday 10/13 @ 11:59pm.
- Project parties Tuesday 10/11 and Wednesday 10/12 6:30-8:30 in 247 Cory
- Results of the Hog strategy contest announced Friday 10/7 in live lecture.
- Guerrilla section on Saturday 10/8 12pm-3pm will cover growth and objects.
Midterm 2 on Thursday 10/20 8pm-10pm.
- Conflict form due Sunday 10/16.
Homework 06 due Thursday 10/6 @ 11:59pm.
- Homework party Wednesday 10/5 6:30pm-8:30pm in 247 Cory Hall.
- Homework 07 due Tuesday 10/11 @ 11:59pm.
Hog composition revisions due Tuesday 10/11.
- Resubmit using
python3 ok --revise
.
- Resubmit using
Ants project due Friday 10/14 @ 11:59pm.
- Bonus point for completing the project by Thursday 10/13 @ 11:59pm.
- Results of the Hog strategy contest announced Friday 10/7 in live lecture.
- Guerrilla section on Saturday 10/8 12pm-3pm will cover growth and objects.
- Midterm 2 conflict form due Sunday 10/16.
Homework 06 due Thursday 10/6 @ 11:59pm.
- Homework party Wednesday 10/5 6:30pm-8:30pm in 247 Cory Hall.
Ants project due Friday 10/14 @ 11:59pm.
- Bonus point for completing the project by Thursday 10/13 @ 11:59pm.
- Results of the Hog strategy contest announced Friday 10/7 in live lecture.
Hog composition revisions due Tuesday 10/11.
- Resubmit using
python3 ok --revise
.
- Resubmit using
- Guerrilla section on Saturday 10/8 12pm-3pm will cover growth and objects.
- Midterm 2 conflict form due Sunday 10/16.
Homework 06 due Thursday 10/6 @ 11:59pm.
- Homework party Wednesday 10/5 6:30pm-8:30pm in 247 Cory Hall.
- Walkthrough videos for Homework 05 and lots of lab and discussion are posted.
- One-one-One tutoring signup sheets are going to be released every Friday at 3:30PM on Piazza
Maps project due Thursday 9/29 @ 11:59pm.
- Bonus point for submission by Wednesday 9/28 @ 11:59pm.
- Project party Wednesday 9/28 6:30-8:30pm in 247 Cory Hall.
- Extra lecture Wednesday 9/27 @ 5pm in 2060 VLSB on text encoding using trees.
Homework 5 due Tuesday 9/27 @ 11:59pm.
- Homework party Monday 9/26 6:30pm-8:30pm in 247 Cory Hall.
Maps project due Thursday 9/29 @ 11:59pm.
- Bonus point for submission by Wednesday 9/28 @ 11:59pm.
- Project party Wednesday 9/28 6:30-8:30pm in 247 Cory Hall.
- Sign up for CS Mentors sections open 6pm Monday 9/26.
- Guerrilla Section on Data Abstraction, Trees, Lists on Saturday 9/24 12-3pm in 247 Cory Hall.
Homework 5 due Tuesday 9/27 @ 11:59pm.
- Homework party Monday 9/26 6:30pm-8:30pm in 247 Cory Hall.
Maps project due Thursday 9/29 @ 11:59pm.
- Bonus point for submission by Wednesday 9/28 @ 11:59pm.
- Project party Wednesday 9/28 6:30-8:30pm in 247 Cory Hall.
Midterm 1 walkthrough video posted.
- All lab, discussion, and homework walkthroughs are linked from the table below, including Lab 04 and HW 04.
Homework 4 due Thursday 9/22 @ 11:59pm.
- Homework party Wednesday 9/21 6:30pm-8:30pm in 247 Cory Hall.
- Watch this extra video on
range
andint
Maps project due Thursday 9/29 @ 11:59pm.
- Bonus point for submission by Wednesday 9/28 @ 11:59pm.
- Project party Wednesday 9/28 6:30-8:30pm in 247 Cory Hall.
- Entries in the completely optional Hog Contest due Monday 9/19 @ 11:59pm.
Homework 4 due Thursday 9/22 @ 11:59pm.
- Homework party Wednesday 9/21 6:30pm-8:30pm in 247 Cory Hall.
Maps project due Thursday 9/29 @ 11:59pm.
- Bonus point for submission by Wednesday 9/28 @ 11:59pm.
- Project party Wednesday 9/28 6:30-8:30pm in 247 Cory Hall.
The midterm 1 exam and solutions are posted.
- Regrade requests due Sunday 9/25 @ 11:59pm.
- Entries in the completely optional Hog Contest due Monday 9/19 @ 11:59pm.
Homework 4 due Thursday 9/22 @ 11:59pm.
- Homework party Wednesday 9/21 6:30pm-8:30pm in 241 Cory Hall.
- New CSM sections opening! Sign up starting Friday 9/16 @ 4pm.
Homework 3 due Tuesday 9/13 @ 11:59pm.
- Homework party Monday 9/12 6:30pm-8:30pm in 241 Cory Hall.
Midterm 1 Thursday 9/15 8pm-10:10pm in various locations.
- Office hours this week have topics.
- Entries in the completely optional Hog Contest due Monday 9/19.
- Extra lecture on decisions Wednesday 9/14 5-6:30pm in 2060 VLSB.
- No regular lecture this Wednesday 9/14 & no discussion Thursday 9/15 or Friday 9/16.
- Guerrilla Section on Higher Order Functions and Recursion Saturday 9/10 12-3pm in 247 Cory Hall.
- Homework 3 due Tuesday 9/13 @ 11:59pm.
Midterm 1 Thursday 9/15 8pm-10:10pm in various locations.
- You will have an assigned seat, which you will receive via email on Wednesday 9/14.
- You may bring 1 two-sided page of hand-written notes that you create yourself.
- You will be provided with the Midterm 1 Study Guide.
- Course conflict? Fill out the Midterm 1 conflict form by Sunday 9/11.
- Covers content through Friday 9/9.
- See the resources page for past exams, study guides, extra problems, etc.
- Sign up for computer science mentors adjunct sections!
- Entries in the completely optional Hog Contest due Monday 9/19.
The Hog Project due this Thursday 9/8 @ 11:59pm. Earn a bonus point for early submission by Wednesday 9/7 @ 11:59pm.
- Project party Wednesday 9/7 6:30-8:30pm in 247 Cory Hall.
- Extra staff in office hours all day Thursday 9/8
- Guerrilla Section on Higher Order Functions and Recursion Saturday 9/10 12-3pm in 247 Cory Hall.
- Homework 3 due Tuesday 9/13 @ 11:59pm.
Midterm 1 Thursday 9/15 8pm-10pm in various locations
- You will have an assigned seat, which you will receive via email on Wednesday 9/14.
- You may bring 1 two-sided page of hand-written notes that you create yourself.
- Midterm 1 Review Session Sunday 9/11 12-3pm in 155 Dwinelle.
- Course conflict? Fill out the Midterm 1 conflict form by Sunday 9/11.
- Covers content through Friday 9/9.
- More info & practice exams posted later this week.
- Sign up for computer science mentors adjunct sections starting Wednesday 9/7 @ 5pm
- The first (completely optional) Additional Topic lecture Wednesday 9/7 5pm-6:30pm in 306 Soda. Videos of this lecture are posted.
- Homework 02 due next Tuesday 9/6 @ 11:59pm. Vitamins only!
- The Hog Project due next Thursday 9/8 @ 11:59pm. Earn a bonus point for early submission by Wednesday 9/7 @ 11:59pm.
- Project parties next Tuesday and Wednesday 6:30-8:30pm at 247 Cory Hall.
- Walkthrough videos of Lab 01, Homework 01 and Discussion 01 are posted. In the future, videos will be posted in the calendar below.
- Draw environment diagrams automatically with tutor.cs61a.org
- John has updated office hours: 11am Monday & 4pm Wednesday
- Ask questions during lecture on Piazza.
- Homework 01 due this Thursday 9/1 @ 11:59pm.
- Homework 02 due next Tuesday 9/6 @ 11:59pm. Vitamins only!
- The Hog Project due next Thursday 9/8 @ 11:59pm. Earn a bonus point for early submission by Wednesday 9/7 @ 11:59pm.
- Homework party this Wednesday 8/31 6:30-8:30pm in Cory 241 (and more to come next week).
- Hog project partner mixers 3:15pm-4:45pm Wednesday and 12:30-2:00pm Thursday in Wozniak Lounge (Soda 430).
- A walkthrough video of Lab 01 has been posted. Watch it to get some help with Lab 01 and Quiz 01 questions.
- All lectures for the remainder of the semester will be held in Pauley Ballroom.
- Waitlisted and concurrent enrollment students: watch videos instead of attending lecture until you are enrolled.
Suggested schedule for this week:
- Monday: Complete Lab 00 and read Homework 01 homework questions.
- Tuesday/Wednesday: Attend lab section and complete Lab 01 during section.
- Wednesday: Complete and submit homework questions and read quiz questions.
- Thursday: Complete Homework 01 quiz questions on your own.
- Thursday/Friday: Attend discussion section and start reading the Hog project.
- Attend lab and discussion for section participation points.
- Drop-in office hours begin this week.
- Homework party on Wednesday 6:30-8:30pm in Cory 237 and 241.
- Hog project partner mixers 3:15pm-4:45pm Wednesday and 12:30-2:00pm Thursday in Wozniak Lounge (Soda 430).
- Don't fall behind on lecture! Watch the videos the day they come out.
- Lecture 2 on Friday 8/26 will be held in Zellerbach Auditorium.
- Waitlisted students who hope to enroll should turn in all assignments on time.
- Starting next week, lab and discussion attendance count for section participation points.
- Need help with Lab 00? Come to Office hours on Monday!
Homework 1 due Thursday 9/1 @ 11:59pm
- This homework has two parts: problems and a quiz
- The problems can be completed with a partner, and you can discuss with anyone
- The quiz must be completed on your own!
- You can still receive full credit without solving everything by making significant progress on each question
- Sign up for Piazza, the course forum.
- Welcome to CS 61A!
- Lectures 1 & 2 on Wednesday 8/24 and Friday 8/26 will be held in Zellerbach Auditorium.
- There is no lab on Tuesday 8/23 or Wednesday 8/24.
- Discussion begins Thursday 8/25. See the weekly schedule for times and locations.
- Sign up for Piazza, the course forum.
Calendar
Week | Date | Lecture | Reading | Handout | Homework | Project |
---|---|---|---|---|---|---|
1 | Wed 8/24 | Functions
(Video) (full) (1pp) (8pp) (01.py) |
1.1 1.2 |
Lab 00: Introduction and Workflow (due Mon 8/29) |
||
Fri 8/26 | Names
(Video) (full) (1pp) (8pp) (02.py) |
1.3 1.4 |
Discussion 00: Lost on the Moon (Solutions) | Homework 01 (due Thu 9/1)(Solutions) |
||
2 | Mon 8/29 | Control
(Video) (full) (1pp) (8pp) (03.py) |
1.5 | Hog (due Thu 9/8) |
||
Wed 8/31 | Higher-Order Functions
(Video) (full) (1pp) (8pp) (04.py) |
1.6 | Lab 01: Expressions and Control Structures (due Fri 9/2) (Video) |
Homework 02 (due Tue 9/6) (Solutions) |
||
Fri 9/2 | Environments
(Video) (full) (1pp) (8pp) (05.py) |
1.6 | Discussion 01: Control and Environments (Video) (Solutions) | |||
3 | Mon 9/5 | No Lecture: Holiday | ||||
Wed 9/7 | Recursion
(Video) (full) (1pp) (8pp) (06.py) |
1.7 | Lab 02: Lambdas and Higher-Order Functions (due Fri 9/9) (Video) |
Homework 03 (due Tue 9/13) (Solutions) |
||
Fri 9/9 | Tree Recursion
(Video) (full) (1pp) (8pp) (07.py) |
1.7 | Discussion 02: Environment Diagrams and Recursion (Video) (Solutions) | Hog Contest (due Mon 9/19) |
||
4 | Mon 9/12 | Function Examples
(Video) (full) (1pp) (8pp) (08.py) |
||||
Thu 9/15 | Midterm 1 | Lab 03: Recursion and Midterm Review (due Mon 9/19) (Video) |
||||
Fri 9/16 | Data Abstraction
(Video) (full) (1pp) (8pp) (09.py) |
2.1 2.2 |
Homework 04 (due Thu 9/22) (Solutions) |
|||
5 | Mon 9/19 | Containers
(Video) (full) (1pp) (8pp) (10.py) |
2.3 | Maps (due Thu 9/29) |
||
Wed 9/21 | Trees
(Video) (full) (1pp) (8pp) (11.py) |
2.3 | Lab 04: Lists and Data Abstraction (due Fri 9/23) (Video) |
Homework 05 (due Tue 9/27) (Solutions) |
||
Fri 9/23 | Mutable Values
(Video) (full) (1pp) (8pp) (12.py) |
2.4 | Discussion 03: Trees and Sequences (Video) (Solutions) | |||
6 | Mon 9/26 | Growth
(Video) (full) (1pp) (8pp) (13.py) (13.ipynb) |
2.8 | |||
Wed 9/28 | Mutable Functions
(Video) (full) (1pp) (8pp) (14.py) |
2.4 | Lab 05: Mutable Sequences and Trees (due Fri 9/30) (Video) |
|||
Fri 9/30 | Objects
(Video) (full) (1pp) (8pp) (15.py) |
2.5 | Discussion 04: Growth and Nonlocals (Video) (Solutions) | Homework 06 (due Thu 10/6) (Solutions) |
||
7 | Mon 10/3 | Inheritance
(Video) (full) (1pp) (8pp) (16.py) |
2.5 | Ants (due Fri 10/14) |
||
Wed 10/5 | Representation
(Video) (full) (1pp) (8pp) (17.py) |
2.7 | Lab 06: Object-Oriented Programming (due Fri 10/7) (Video) |
Homework 07 (due Tue 10/11) (Solutions) |
||
Fri 10/7 | Sequences
(Video) (full) (1pp) (8pp) (18.py) |
2.9 | Discussion 05: Object Oriented Programming (Video) (Solutions) | |||
8 | Mon 10/10 | Hierarchy
(Video) (full) (1pp) (8pp) (19.py) |
2.9 | |||
Wed 10/12 | Ordered Sets
(Video) (full) (1pp) (8pp) (20.py) |
2.9 | Lab 07: Recursive Objects (due Fri 10/14) (Video) |
Homework 08 (due Tue 10/18) (Solutions) |
||
Fri 10/14 | Tree Sets
(Video) (full) (1pp) (8pp) (21.py) |
2.9 | Discussion 06: Linked Lists and Midterm Review (Video) (Solutions) | |||
9 | Mon 10/17 | Data Examples
(Video) (full) (1pp) (8pp) (22.py) |
||||
Thu 10/20 | Midterm 2 | Lab 08: Midterm Review (due Mon 10/24) (Video) |
||||
Fri 10/21 | Users
(Video) |
|||||
10 | Mon 10/24 | Scheme
(Video) (full) (1pp) (8pp) (24.scm) |
3.1 3.2 |
Homework 09 (due Mon 10/31) (Solutions) |
||
Wed 10/26 | Exceptions
(Video) (full) (1pp) (8pp) (25.py) |
3.3 | Lab 09: Scheme (due Fri 10/28) (Video) |
|||
Fri 10/28 | Calculator
(Video) (full) (1pp) (8pp) (26.scm) |
3.4 | Discussion 07: Scheme (Video) (Solutions) | Homework 10 (due Thu 11/3) (Solutions) |
||
11 | Mon 10/31 | Interpreters
(Video) (full) (1pp) (8pp) |
3.5 | Scheme (due Thu 11/17) |
||
Wed 11/2 | Tail Calls
(Video) (full) (1pp) (8pp) (28.scm) |
3.5 | Lab 10: Interpreters (due Fri 11/4) (Video) |
|||
Fri 11/4 | Iterators
(Video) (full) (1pp) (8pp) (29.py) |
4.2 | Discussion 08: Interpreters and Tail Calls (Video) (Solutions) | Homework 11 (due Thu 11/10) (Solutions) |
||
12 | Mon 11/7 | Streams
(Video) (full) (1pp) (8pp) (30.scm) |
4.2 | |||
Wed 11/9 | Declarative Programming
(Video) (full) (1pp) (8pp) (31.sql) |
4.3 | Lab 11: Iterators and Generators (due Fri 11/11) (Video) |
Homework 12 (due Tue 11/15) (Solutions) |
||
Fri 11/11 | No Lecture: Holiday | Discussion 09: Delayed Expressions (Video) (Solutions) | ||||
13 | Mon 11/14 | Tables
(Video) (full) (1pp) (8pp) (32.sql) |
4.3 | |||
Wed 11/16 | Recursive Select
(Video) (full) (1pp) (8pp) (33.sql) |
4.3 | Lab 12: SQL (due Fri 11/18) (Video) |
Homework 13 (due Wed 11/23) (Solutions) |
||
Fri 11/18 | Aggregation
(Video) (full) (1pp) (8pp) (34.sql) |
4.3 | Discussion 10: SQL (Video) (Solutions) | Scheme Contest (due Mon 11/28) |
||
14 | Mon 11/21 | Distributed Computing
(Video) (full) (1pp) (8pp) |
4.6 | |||
Wed 11/23 | No Lecture: Holiday | Lab 13: SeQueL (optional lab) | ||||
Fri 11/25 | No Lecture: Holiday | |||||
15 | Mon 11/28 | Distributed Data
(Video) (full) (1pp) (8pp) (36.py) |
4.6 | |||
Wed 11/30 | Natural Language
(Video) (full) (1pp) (8pp) (37.zip) |
Lab 14: Spark (due Fri 12/2) (Video) |
||||
Fri 12/2 | Conclusion
(Video) |
Discussion 11: Final Review (Video) (Solutions) | ||||
16 | Thu 12/15 | Final |