CS 61A: Structure and Interpretation of Computer Programs
Spring 2020
Instructor:
John DeNero
MWF 2:10-3:00 in Wheeler 150
- Final grade emails are being sent this afternoon.
- No more office hours or discussion sections.
- Homework 10 due Monday 5/4 @ 11:59pm.
- Completely optional Scheme Recursive Art Contest entries due Monday 5/4.
We hope to send you final grades via email by Wednesday 5/6.
- You can see your scores so far on howamidoing.cs61a.org.
- Once grades are released, they will not be revised except to correct clerical errors.
- No more office hours or discussion sections.
- Homework 9 due Friday 4/24 @ 11:59pm.
Exams are soon:
- Exams will be posted to final.cs61a.org.
- As a backup, there will be PDF versions of the exams with answer submission through a Google Form. This backup format is not recommended because it doesn't save your work as you go.
- A demo exam is posted. It's not full length, not representative of difficulty, and counts for nothing. It just shows you the exam format. The password is
xt0DGEckbyVCRPdiLcAEzRMPesjaAlYgQXEJfnULmsc
- A practice final exam will be held Friday 2:10pm-3pm. It will not be released until Friday. To receive 3 extra credit points, you must take it during this period unless you are on a different continent. (Overseas students can just take it when they wake up if the exam is in the middle of the night.)
- Monday 4/27 2:10pm-3pm will test content up to Lecture 15 (Mutable Functions) excluding Lecture 13 (Trees).
- Wednesday 4/29 2:10pm-3pm will test content up to Lecture 23 (Data Examples) with a focus on classes, iterators, and trees.
- Friday 5/1 2:10pm-3pm will test content up to Lecture 31 (Aggregation) with a focus on Scheme, interpreters, and SQL.
- Completely optional Scheme Recursive Art Contest entries due Monday 5/4.
Scheme Project due Tuesday 4/21 @ 11:59pm.
- Early submission point for completing the project by Monday 4/20.
- Project party Monday 4/20 6:30pm-8pm.
- Homework 9 due Friday 4/24 @ 11:59pm.
Practice final exam 2:10pm-3pm Friday 4/24.
- 3 bonus points for participating.
- You may take it late if you're on another continent.
- See the demo final exam for example question formats. The password is xt0DGEckbyVCRPdiLcAEzRMPesjaAlYgQXEJfnULmsc
The final exam will be replaced by 3 50-minute exams on 4/27, 4/29, and 5/1.
- Topical review sessions this week will be recorded and posted to YouTube.
Completely optional Scheme Recursive Art Contest entries due Monday 5/4.
- No political content allowed.
- No lewd entries.
Scheme Project due Tuesday 4/21 @ 11:59pm.
- Checkpoint 2 (Questions 1-14) due Friday 4/17.
- Early submission point for completing the project by Monday 4/20.
- Homework 8 due Friday 4/17 @ 11:59pm.
- Homework 9 due Friday 4/24 @ 11:59pm.
- Completely optional Scheme Recursive Art Contest entries due Monday 5/4.
The final exam will be replaced by 3 50-minute exams on 4/27, 4/29, and 5/1.
- Covers content through Monday 4/13.
- Students who complete the practice exam on 4/24 will receive 3 extra credit points
Scheme Project due Tuesday 4/21 @ 11:59pm.
- Project party 2 6:30-8pm Thursday 4/16. See Piazza for links.
- Checkpoint 2 (Questions 1-14) due Friday 4/17.
- Recommendation: try to finish the whole project by Friday 4/17.
- Early submission point for completing the project by Monday 4/20.
- Lab 11 due Thursday 4/16 @ 11:59pm.
- Homework 8 due Friday 4/17 @ 11:59pm.
Homework 9 due Friday 4/24 @ 11:59pm.
- All of its content is covered in lecture by Monday 4/13.
- Completely optional Scheme Recursive Art Contest entries due Monday 5/4.
The final exam will be replaced by 3 50-minute exams on 4/27, 4/29, and 5/1.
- Covers content through Monday 4/13.
- Students who complete the practice exam on 4/24 will receive 3 extra credit points.
Scheme Project due Tuesday 4/21 @ 11:59pm.
- Project party 1 6:30-8pm Monday 4/13. See Piazza for links.
- Checkpoint 1 (Questions 1-6) due Tuesday 4/14.
- Project party 2 6:30-8pm Thursday 4/16. See Piazza for links.
- Checkpoint 2 (Questions 1-14) due Friday 4/17.
- Recommendation: try to finish the whole project by Friday 4/17.
- Early submission point for completing the project by Monday 4/20.
- Lab 11 due Thursday 4/16 @ 11:59pm.
- Homework 8 due Friday 4/17 @ 11:59pm.
Homework 9 due Friday 4/24 @ 11:59pm.
- All of its content is covered in lecture by Monday 4/13.
- Completely optional Scheme Recursive Art Contest entries due Monday 5/4.
The final exam will be replaced by 3 50-minute exams on 4/27, 4/29, and 5/1.
- Covers content through Monday 4/13.
- Students who complete the practice exam on 4/24 will receive 3 extra credit points.
The final exam will be replaced by 3 50-minute in-lecture exams.
- Students who complete the practice exam on 4/24 will receive 3 extra credit points.
- Homework 7 due Friday 4/10 @ 11:59pm.
Scheme Project due Tuesday 4/21 @ 11:59pm.
- Checkpoint 1 (Questions 1-6) due Tuesday 4/14.
- Checkpoint 2 (Questions 1-14) due Friday 4/17.
- Early submission point for completing the project by Monday 4/20.
- Recommendation: try to finish the whole project by Friday 4/17.
- Homework 8 due Friday 4/17 @ 11:59pm.
- Completely optional Scheme Recursive Art Contest entries due Monday 5/4.
Final exam will be replaced by 3 50-minute in-lecture exams.
- Monday 4/27 2:10pm-3pm will test content up to Lecture 15 (Mutable Functions) excluding Lecture 13 (Trees).
- Wednesday 4/29 2:10pm-3pm will test content up to Lecture 23 (Data Examples) with a focus on classes, iterators, and trees.
- Friday 5/1 2:10pm-3pm will test content up to Lecture 31 (Aggregation) with a focus on Scheme, interpreters, and SQL.
- 34 points each. (It's possible to get 102/100 in total.)
- Alternate exam times will be offered for international students and students with course conflicts.
- More details about the exam format will be available soon.
The lecture, lab, discussion, and homework schedule has been revised.
- Total number of homework assignments reduced from 11 to 10.
- Homework 8 and Homework 9 are half length. (Their questions are normally all on one homework.)
- Required lecture content will conclude by Monday 4/13.
- Students who complete the practice exam on 4/24 will receive 3 extra credit points.
- Lab 10 due Thursday 4/9 @ 11:59pm.
- Homework 7 due Friday 4/10 @ 11:59pm.
Scheme Project due Tuesday 4/21 @ 11:59pm.
- Checkpoint 1 (Questions 1-6) due Tuesday 4/14.
- Checkpoint 2 (Questions 1-14) due Friday 4/17.
- Early submission point for completing the project by Monday 4/20.
- Recommendation: try to finish the whole project by Friday 4/17.
- Lab 10 due Thursday 4/9 @ 11:59pm.
- Homework 7 due Friday 4/10 @ 11:59pm.
Scheme Project due Tuesday 4/21 @ 11:59pm.
- Checkpoint 1 (Questions 1-6) due Tuesday 4/14.
- Checkpoint 2 (Questions 1-14) due Friday 4/17.
- Early submission point for completing the project by Monday 4/20.
- Homework 6 due Friday 4/3 @ 11:59pm.
- Lab 10 due Thursday 4/9 @ 11:59pm.
- Homework 7 due Friday 4/10 @ 11:59pm.
- There are office hours on Friday now.
- Friday 4/3 Lecture Q&A session cancelled.
- Cats Composition Revisions due Thursday 4/2 @ 11:59pm.
- Lab 9 due Thursday 4/2 @ 11:59pm.
- Homework 6 due Friday 4/3 @ 11:59pm.
- Office hours: make an appointment or join the drop-in queue during drop-in online office hours times to ask questions.
- Lecture Q&A session on Zoom MWF 7:30pm-8:15pm.
- All students will receive discussion attendance credit for the remaining weeks of the semester.
- "Optional" lecture content will not appear in lab, discussion, homework, projects, or exams.
- Cats Composition Revisions due Thursday 4/2 @ 11:59pm.
Lab 9 due Thursday 4/2 @ 11:59pm.
- Lab sections will no longer meet; complete the lab assignment at any time you choose.
- Ask questions on Piazza.
- Make an office hours appointment or join the drop-in queue during drop-in online office hours times to ask questions interactively.
Homework 6 due Friday 4/3 @ 11:59pm.
- Any office hour time can be used for homework questions, lab questions, lecture questions, or anything else.
- Includes a mid-semester survey.
Lecture Q&A session on Zoom MWF 7:30pm-8:15pm will replace instructor office hours.
- Lecture videos will be posted by 2pm.
- You can ask questions live during the Q&A session; some Piazza questions may be answered as well.
- These sessions will be recorded, uploaded to YouTube, and added to the lecture's playlist (by 9pm-ish).
Some lecture content will not appear in lab, discussion, homework, projects, or exams.
- These lectures are marked as "optional" in the schedule.
- Feel free to learn about these topics anyway!
- Some optional problems will appear on homework assignments.
Midterm 2 is taking a while to score.
- We hope to have it done this week, but next week is more likely.
- No assignments over spring break.
- Midterm 2 scores will not be released until after spring break.
- If you took Midterm 2, please fill out the survey emailed to you by Monday 3/23 @ 11:59pm.
- Midterm 2 rules and proctoring information is posted (video).
An optional (but highly recommended) midterm 2 technology test will be conducted Thursday 3/19 6pm-6:15pm.
- Your chance to make sure everything works.
- Join the midterm 2 announcements live-stream (audio-only; @berkeley.edu login required) at 6pm.
- Start a Loom Screen+Cam Full Desktop recording as described in the proctoring doc before 6:10pm.
- Follow instructions posted on Piazza to download your test "exam" at 6:10pm.
- Follow instructions posted on Piazza to submit your test "exam" and screen recording by 6:15pm.
Midterm 2 will be held Thursday 3/19 starting at 7:10pm.
- Join the midterm 2 announcements live-stream (audio-only; @berkeley.edu login required) at 7pm.
- Start a Loom Screen+Cam Full Desktop recording as described in the proctoring doc before 7:10pm.
- Follow instructions posted on Piazza to download your exam at 7:10pm.
Midterm 2 format:
- There will be 3 sections that last 22 minutes each with a 3 minute break in between each section: 7:10pm-7:32pm, 7:35pm-7:57pm, and 8pm-8:22pm.
- For each part, you will download exam files that have a similar format to
a lab or homework, including
ok
. - All questions will appear in
.py
files along with the doctests and templates for the exam. - You may submit each section as many times as you want
(using
python3 ok --submit
) until the section stop time. We will score your final submission. Audio announcements over the live stream will warn you when time is about to expire. - You can only work on the current section. The second section will not be released until the first section is over, and the first section cannot be revised once the second section has begun.
- If you cannot take the exam from home at the scheduled time or wish to be excused due to other complications, fill out the mt2 excuse request form by Thursday 3/19 @ 11am (extended; @berkeley.edu login required). All reviewed requests have been granted so far.
- Office hours are online only and by appointment: oh.cs61a.org
Homework 5 due Tuesday 3/17 @ 11:59pm.
- Your 2 lowest homework scores will be dropped, so you can skip this one without penalty.
Lab 8 will be released with solutions. You can look at them.
- Your 3 lowest lab scores will be dropped, so you can skip this one without penalty.
Midterm 2 will be held Thursday 3/19 starting at 7:10pm.
- Midterm 2 will be worth 25 points (instead of 50).
- Watch announcements from Lectures 21 and 22 for details.
- Information about proctoring will be shared soon. (We're still running some experiments.)
- If you cannot take the exam from home at the scheduled time or wish to be excused due to other complications, fill out the mt2 excuse request form by Tuesday 3/17 @ 11:59pm (@berkeley.edu login required). All reviewed requests have been granted so far.
- Online office hours by appointment on oh.cs61a.org.
- Project 3 due Friday 3/13 @ 11:59pm.
Homework 5 due Tuesday 3/17 @ 11:59pm.
- Your two lowest homework scores will be dropped.
- Lab 8 will be released with solutions. You can look at them.
Midterm 2 will be held Thursday 3/19 starting at 7:10pm.
- You do not need to be on campus.
- You will need a computer capable of running Python 3 and Zoom.
- You will need an internet connection.
- If you cannot take the exam at the scheduled time, wish to be excused, or do not have a suitable computer, fill out the mt2 excuse request form by Tuesday 3/17 @ 11:59pm (@berkeley.edu login required).
- Midterm 2 will be worth 25 points (instead of 50).
Midterm 2 content:
- No environment diagrams or what-would-Python-display problems.
- Covers all lecture material through Monday 3/9.
- Wednesday 3/11 material (Efficiency) is excluded.
- Friday 3/13 and Monday 3/16 lectures should help you review, so please watch them!
- There will not be a lecture on Wednesday 3/18.
Midterm 2 format:
- You'll write your answers in a .py file, just like a homework assignment.
- You'll be able to check your work with Python and
ok
, but the provided tests will not be exhaustive. - You'll submit your work using
ok --submit
. - Each question will have a template for you to fill in, and you will be required to use the template, just like past exams.
- Fill-in-the-blank problems from past exams are representative of the questions you will be asked.
- We will provide midterm 1 and midterm 2 study guides.
- You can use two pages of notes that you create yourself.
- You'll be able to look up slides, examples, worksheets, & videos on cs61a.org.
- You won't be allowed to use the rest of the internet or communicate with other people.
- Announcements, questions, and clarifications will be posted to Piazza.
CS 61A is now an online course:
- In-person office hours still exist for now.
- Online office hours by appointment on oh.cs61a.org.
- No live discussion, lecture, or lab until live instruction at Cal resumes.
Project 3 is extended, due Friday 3/13 @ 11:59pm.
- Earn an early submission bonus point for completing the project by Thursday 3/12.
- Homework 5 due Tuesday 3/17 @ 11:59pm.
Midterm 2 will be held Thursday 3/19 starting at 7:10pm.
- CS 61A's first open-interpreter, open-cs61a.org exam.
- 25 points instead of 50; the final exam will increase from 75 points to 100.
- No environment diagrams or what-would-Python-display problems.
- Fill-in-the-blank problems from past exams are representative of the questions you will be asked.
- You do not need to be on campus.
- You will need a computer capable of running Python 3 and Zoom.
- You will need an internet connection.
- You may take the exam in Soda 271 if you do not have your own computer.
- A request form for alternate times and exam excuse requests will be posted shortly.
- Revise Cats Composition by Thursday 4/2 to earn back any lost points.
CS 61A is now an online course:
- Online office hours by appointment on oh.cs61a.org.
- Online discussion information on Piazza.
- Monday 3/9 will be the last live lecture until live instruction resumes.
Project 3 is due Thursday 3/12 @ 11:59pm.
- Submit the checkpoint (Phases 1 & 2) by Monday 3/9.
- Earn an early submission bonus point for completing the project by Wednesday 3/11.
- No project party this week.
- Homework 5 due Tuesday 3/17 @ 11:59pm.
Midterm 2 will be held Thursday 3/19 7pm-9pm.
- You do not need to be on campus.
- The format will change substantially from past semesters.
- Further details have yet to be determined.
Project 3 due Thursday 3/12 @ 11:59pm.
- Submit the checkpoint (Phases 1 & 2) by Monday 3/9.
- Earn an early submission bonus point for completing the project by Wednesday 3/11.
- Info about online office hours, lab, and discussion will be posted over the weekend.
- Homework 4 (big!) is due Thursday 3/5 @ 11:59pm.
Project 3 due Thursday 3/12 @ 11:59pm.
- Submit the checkpoint (Phases 1 & 2) by Monday 3/9.
- Earn an early submission bonus point for completing the project by Wednesday 3/11.
- Online section Thursday 12:30-2pm (a Hangout for a live section).
- Revise Hog Composition by Tuesday 3/3 to earn back any lost points.
Homework 4 (big!) is due Thursday 3/5 @ 11:59pm.
- Homework party Monday 3/2 6:30-8pm in 241 Cory Hall.
Project 3 due Thursday 3/12 @ 11:59pm.
- Submit the checkpoint (Phases 1 & 2) by Monday 3/9.
- Earn an early submission bonus point for completing the project by Wednesday 3/11.
- Revise Hog Composition by Tuesday 3/3 to earn back any lost points.
- Homework 4 (big!) is due Thursday 3/5 @ 11:59pm.
Project 2 is due Thursday 2/27 @ 11:59pm.
- Earn an early submission bonus point for completing the project by Wednesday 2/26.
- Homework 4 (big!) is due Thursday 3/5 @ 11:59pm.
- Revise Hog Composition by Tuesday 3/3 to earn back any lost points.
Project 2 is due Thursday 2/27 @ 11:59pm.
- Project party Monday 2/24.
- Submit Phase 1 by Monday 2/24.
- Earn an early submission bonus point for completing the project by Wednesday 2/26.
- Revise Hog Composition by Tuesday 3/3 to earn back any lost points.
Project 2 is due Thursday 2/27 @ 11:59pm.
- Submit Phase 1 by Monday 2/24.
- No homework is due next week. Just work on the project.
- Earn an early submission bonus point for completing the project by Wednesday 2/26.
Guerrilla Section 12-2pm Saturday 2/22 in 273/275/277 Soda labs.
- Topics: recursion, tree recursion, & lists.
- Revise Hog Composition by Tuesday 3/3 to earn back any lost points.
Homework 3 is due Thursday 2/20 @ 11:59pm.
- Homework party Wednesday 2/19 6:30pm-8pm in 241 Cory.
Project 2 is due Thursday 2/27 @ 11:59pm.
- Submit Phase 1 by Monday 2/24.
- No homework is due next week. Just work on the project.
- Earn an early submission bonus point for completing the project by Wednesday 2/26.
Guerrilla Section 12-2pm Saturday 2/22 in 273/275/277 Soda labs.
- Topics: recursion, tree recursion, & lists.
- Hog Composition scores released & open for revision.
- Lecture 11 is video-only.
- If you want to attend lab this week, but your regular lab time is on Monday, come to any lab on Tuesday or Wednesday.
- Midterm 1 (exam, solution) regrade requests are due Tuesday 2/18 @ 11:59pm (extended).
- The (completely optional) Hog Contest (contest spec, leaderboard) ends Tuesday 2/18 @ 11:59pm (extended).
- Homework 3 is due Thursday 2/20 @ 11:59pm.
Project 2 is due Thursday 2/27 @ 11:59pm.
- Submit Phase 1 by Monday 2/24.
- No homework is due next week. Just work on the project.
- Earn an early submission bonus point for completing the project by Wednesday 2/26.
Guerrilla Section 12-2pm Saturday 2/22 in 273/275/277 Soda labs.
- topics: Recursion, Tree Recursion, Lists
- Video-only lecture 11 will be posted Monday 2/17. Watch it before lab next week.
- Midterm 1 (exam, solution) regrade requests are due Tuesday 2/18 @ 11:59pm (extended).
- The (completely optional) Hog Contest (contest spec, leaderboard) ends Tuesday 2/18 @ 11:59pm (extended).
- Homework 3 is due Thursday 2/20 @ 11:59pm.
The Midterm 1 exam and solution are posted.
- You should have received an email from Gradescope with your scored exam.
- Regrade requests are due Tuesday 2/18 @ 11:59pm (extended).
- The (completely optional) Hog Contest (contest spec, leaderboard) ends Tuesday 2/18 @ 11:59pm (extended).
- Discussion sections do meet this week.
Sign up starting Wednesday 2/12 for weekly small-group mentoring sections organized by CS Mentors.
- You can enroll in one P/NP unit if you sign up on Wednesday 2/12.
- Guerrilla Section 11am-1pm Saturday 2/8 in 271/273/275 Soda labs.
Midterm 1 is 8pm-10pm Monday 2/10. (No lecture that day.)
- We will provide scratch paper and the midterm 1 study guide.
- You can bring a hand-written sheet of notes (front and back).
- See the resources page for past midterms and other practice problems.
- See Piazza pinned posts about HKN/CSM review sessions Friday 12/7 & Saturday 12/8.
- If you have a class conflict, please fill out this form by Friday 2/7 @ 11:59pm.
- Main topics: calls, defs, assignment, control (if & while), higher-order functions, environments.
- Other stuff to know: self-reference (e.g., Hog commentary), logical operators (and & or), lambdas.
- No lab next week.
- The (completely optional) Hog Contest (contest spec, leaderboard) ends Monday 2/17 @ 11:59pm.
Sign-ups for weekly small-group mentoring sections organized by CS Mentors will open Wednesday 2/12.
- You can get a unit if you sign up on Wednesday
The Hog project is due Thursday 2/6 @ 11:59pm.
- Complete the whole project by Wednesday 2/5 to earn an early submission bonus point.
- If you are struggling to find a project partner fill out: links.cs61a.org/hog-partner
- Homework 2 is due Thursday 2/6 @ 11:59pm.
- Guerrilla Section 11am-1pm Saturday 2/8 in 271/273/275 Soda labs.
Midterm 1 is 8pm-10pm Monday 2/10. (No lecture that day.)
- We will provide scratch paper and the midterm 1 study guide.
- See the resources page for past exams.
- Covers material through Monday 2/3. (Today is an extended example; Friday is review.)
- Fa19 midterm 1 (solutions) covers the same topics as this semester's midterm.
- If you have a class conflict, please fill out this form by Friday 2/7 @ 11:59pm.
- No lab next week.
The (completely optional) Hog Contest is released!
- See the contest spec to participate.
- The leaderboard will be updated regularly.
- The contest closes on Monday 2/17 @ 11:59pm.
- You can participate as an individual or with a partner.
The Hog project is due Thursday 2/6 @ 11:59pm.
- Checkpoint 1 (Phase 1 out of 3) is due Monday 2/3 @ 11:59pm. Solve this part by yourself.
- You can work with a partner on Phases 2 & 3 once you have submitted Phase 1 on your own.
- Complete the whole project by Wednesday 2/5 to earn an early submission bonus point.
- If you are struggling to find a project partner fill out: links.cs61a.org/hog-partner
Project party 6:30pm-8pm Monday 2/3 in 241/247/237 Cory.
- We will prioritize checkpoint 1 problems (#1-5b)
- If you are working on 5a/5b, go to 247 Cory instead
- Homework 2 is due Thursday 2/6 @ 11:59pm.
- Guerrilla Section 11am-1pm Saturday, 2/8 in 271/273/275 Soda labs. See Piazza for details.
Midterm 1 is 8pm-10pm Monday 2/10. (No lecture that day.)
- We will provide scratch paper and the midterm 1 study guide.
- See the resources page for past exams.
- Fa19 midterm 1 (solutions) is useful as a practice midterm because it covers exactly the same topics as this semester's midterm.
- Discussing problems is encouraged, but sharing solutions is not allowed.
The Hog project is due Thursday 2/6 @ 11:59pm.
- Checkpoint 1 (Phase 1 out of 3) is due Monday 2/3 @ 11:59pm. Solve this part by yourself.
- You can work with a partner on Phases 2 & 3 once you have submitted Phase 1 on your own.
- Complete the whole project by Wednesday 2/5 to earn an early submission bonus point.
- On Monday 1/27, some test files were fixed. Make sure you have the latest versions of
tests/10.py
,tests/11.py
, andcalc.py
.
- Homework 2 is due Thursday 2/6 @ 11:59pm.
- Midterm 1 is 8pm-10pm Monday 2/10. (No lecture that day.)
- Homework 1 is due Thursday 1/30.
The Hog project is due Thursday 2/6 @ 11:59pm.
- Checkpoint 1 (Phase 1 out of 3) is due Monday 2/3 @ 11:59pm. Solve this part by yourself.
- You can work with a partner on Phases 2 & 3 once you have submitted Phase 1 on your own.
- Complete the whole project by Wednesday 2/5 to earn an early submission bonus point.
- On Monday, some test files were fixed. Make sure you have the latest versions of
tests/10.py
,tests/11.py
, andcalc.py
.
- There are many external announcements on Piazza.
- Come to office hours for help. No appointment necessary.
- Watch videos through EdX or YouTube
- Attend lab this week and finish the lab assignment during your lab section.
Homework 1 is due Thursday 1/30.
- Homework party 6:30pm-8pm Monday 1/27 in 241 Cory Hall
- More drop-in office hours will be posted shortly.
The Hog project is due Thursday 2/6 @ 11:59pm.
- Checkpoint 1 (Phase 1 out of 3) is due Monday 2/3 @ 11:59pm. Solve this part by yourself.
- You can work with a partner on Phases 2 & 3 once you have submitted Phase 1 on your own.
- Complete the whole project by Wednesday 2/5 to earn an early submission bonus point.
- The first (Wed 1/22) and second (Fri 1/24) lectures will be held 2:10pm-3pm in Zellerbach Hall.
Lecture content appears on cs61a.org
- Videos are posted before live lecture.
- Slides and examples are also posted before lecture.
Lab 0 is posted. Try to finish it before coming to lab section next week (Monday-Wednesday).
- Drop-in office hours to help you 12pm-2pm Friday 1/24 in 380 Soda.
- If you don't finish beforehand, you can get help in lab next week.
- Homework 1 is due Thursday 1/30.
- Welcome to CS 61A!
- Join Piazza for announcements and answers to your questions.
- The first (Wed 1/22) and second (Fri 1/24) lectures will be held 2:10pm-3pm in Zellerbach Hall.
- Sign up online for lab and discussion sections.
- Discussion starts Wednesday 1/22.
- The Fall 2019 website has moved to fa19.cs61a.org.
Lab 0 is posted. Try to finish it before coming to lab section next week (Monday-Wednesday).
- Drop-in office hours to help you 12pm-2pm Friday 1/24 in 380 Soda.
- If you don't finish beforehand, you can get help in lab next week.
Office Hours:
- John DeNero's office hours start next Monday 1/27. His weekly office hours are 3:15-4:30 on Monday and Wednesday in 781 Soda.
- Course staff office hours will begin next Monday 1/27. The schedule will be posted soon.
- Welcome to CS 61A!
- Join Piazza for announcements and answers to your questions.
- The first (Wed 1/22) and second (Fri 1/24) lectures will be held 2:10pm-3pm in Zellerbach Hall.
- Sign up online for lab and discussion sections.
- There is no lab on Tuesday 1/21 or Wednesday 1/22.
- Discussion starts Wednesday 1/22.
- The Fall 2019 website has moved to fa19.cs61a.org.
Resource Search
Search for terms like "recursion", "homework 3", or "practice".Week | Date | Lecture | Textbook | Lab and Discussion Links | Homework & Project |
---|---|---|---|---|---|
1 | Mon 1/20 |
Lab 00: Getting Started
Fri 1/31
|
|||
Wed 1/22 |
Functions
|
|
Disc 00: Getting Started
|
||
Fri 1/24 |
Names
|
HW 01
Thu 1/30
|
|||
2 | Mon 1/27 |
Control
|
Lab 01: Variables & Functions, Control
Fri 1/31
|
Hog
Thu 2/6
|
|
Wed 1/29 |
Higher-Order Functions
|
Disc 01: Control, Environment Diagrams
|
|||
Fri 1/31 |
Environments
|
HW 02
Thu 2/6
|
|||
3 | Mon 2/3 |
Iteration
|
|
Lab 02: Higher-Order Functions, Lambda Expressions, Self Reference
Fri 2/7
|
|
Wed 2/5 |
Design
|
|
Disc 02: Higher-Order Functions, Self Reference
|
Hog Contest
Tue 2/18
|
|
Fri 2/7 |
Function Examples
|
|
Guerrilla 00: Higher-Order Functions, Environment Diagrams, Control | ||
4 | Mon 2/10 |
Midterm 1 8pm-10pm | |||
Wed 2/12 |
Recursion
|
Disc 03: Recursion
|
HW 03
Thu 2/20
|
||
Fri 2/14 |
Tree Recursion
|
||||
5 | Mon 2/17 |
Containers
|
Lab 04: Recursion, Tree Recursion
Fri 2/21
|
CATS
Thu 2/27
|
|
Wed 2/19 |
Data Abstraction
|
Disc 04: Python Lists, Tree Recursion
|
|||
Fri 2/21 |
Trees
|
Guerrilla 01: Python Lists, Recursion, Tree Recursion | |||
6 | Mon 2/24 |
Mutable Values
|
Lab 05: Python Lists, Data Abstraction, Trees
Fri 2/28
|
||
Wed 2/26 |
Mutable Functions
|
Disc 05: Data Abstraction, Trees, Mutability
|
HW 04
Thu 3/5
|
||
Fri 2/28 |
Iterators
|
||||
7 | Mon 3/2 |
Objects
|
Lab 06: Nonlocal, Iterators & Generators
Fri 3/6
|
Ants
Fri 3/13
|
|
Wed 3/4 |
Inheritance
|
Disc 06: Nonlocal, Iterators & Generators
|
|||
Fri 3/6 |
Representation
|
Guerrilla 02: Data Abstraction, Trees, Nonlocal, Iterators & Generators |
HW 05
Tue 3/17
|
||
8 | Mon 3/9 |
Composition
|
Lab 07: Linked Lists, Mutable Trees, Object-Oriented Programming
Fri 3/13
|
||
Wed 3/11 |
Efficiency (optional)
|
Disc 07: Object-Oriented Programming, Linked Lists
|
|||
Fri 3/13 |
Decomposition
|
|
Supplemental Disc 08: Efficiency
Guerrilla 03: Linked Lists, Object-Oriented Programming |
||
9 | Mon 3/16 |
Data Examples
|
|
Lab 08: Midterm Review
Fri 3/20
|
|
Wed 3/18 |
No Lecture: Midterm 2 is next Day | ||||
Thu 3/19 |
Midterm 2 7pm-9pm | ||||
Fri 3/20 |
Users
|
|
|||
10 | Mon 3/23 |
No Lecture: Spring Break | |||
Wed 3/25 |
No Lecture: Spring Break | ||||
Fri 3/27 |
No Lecture: Spring Break |
HW 06
Fri 4/3
|
|||
11 | Mon 3/30 |
Scheme
|
Lab 09: Scheme, Scheme Lists
Thu 4/2
|
||
Wed 4/1 |
Exceptions (optional)
|
Disc 09: Scheme
|
|||
Fri 4/3 |
Calculator
|
HW 07
Fri 4/10
|
|||
12 | Mon 4/6 |
Interpreters
|
Lab 10: Interpreters
Thu 4/9
|
Scheme
Tue 4/21
|
|
Wed 4/8 |
Declarative Programming
|
Disc 10: Interpreters
|
|||
Fri 4/10 |
Tables
|
Guerrilla 04: Scheme, Interpreters |
HW 08
Fri 4/17
|
||
13 | Mon 4/13 |
Aggregation
|
Lab 11: SQL
Thu 4/16
|
Scheme Contest
Mon 5/4
|
|
Wed 4/15 |
Final Examples
|
|
Disc 11: SQL
|
||
Fri 4/17 |
Databases (optional)
|
Guerrilla 05: SQL |
HW 09
Fri 4/24
|
||
14 | Mon 4/20 |
Distributed Data (optional)
|
|
Lab 12: Final Review
Fri 4/24
|
|
Wed 4/22 |
Natural Language (optional)
|
|
Disc 12: Final Review
|
||
Fri 4/24 |
No Lecture: Practice Exam |
HW 10
Mon 5/4
|
|||
15 | Mon 4/27 |
Exam 1 (Lectures 1-12 & 14-15) | |||
Wed 4/29 |
Exam 2 (Lectures 1-23) | ||||
Fri 5/1 |
Exam 3 (Lectures 1-31) | ||||
16 | Mon 5/4 |
Tail Calls (optional)
|
|||
Wed 5/6 |
Macros (optional)
|
|
|||
Fri 5/8 |
Streams (optional) |
|