CS 61A: Structure and Interpretation of Computer Programs
Fall 2018
Instructor:
John DeNero
MWF 12 in Wheeler Auditorium
Midterm 2 is Wednesday 10/17 8pm10:10pm.
 Emphasis on tree recursion, mutable values, objects, and recursive data.
 Includes lecture through Friday 10/12.
 Most similar past midterm 2 exams: fa14, sp15, fa15, fa16, fa17, sp18
 The Midterm 2 study guide will be included with your exam.
 You may bring 2 twosided sheets of handwritten notes.
 Seating assignments will be released Tuesday 10/16.
 No discussion on Wednesday 10/17 through Friday 10/19.
 No lecture on Wednesday 10/17.
 Lecture on Friday 10/19 is a (great) video.
 Guerrilla Section this Saturday 10/13, 122pm in Soda 271, 273
Midterm 2 is Wednesday 10/17 8pm10:10pm.
 Emphasis on tree recursion, mutable values, objects, and recursive data.
 Includes lecture through Friday 10/12.
 Most similar past midterm 2 exams: fa14, sp15, fa15, fa16, fa17, sp18
 The Midterm 2 study guide will be included with your exam.
 You may bring 2 twosided sheets of handwritten notes.
 Seating assignments will be released Tuesday 10/16.
 No discussion on Wednesday 10/17 through Friday 10/19.
 No lecture on Wednesday 10/17.
 Lecture on Friday 10/19 is a (great) video.
Ants project due Thursday 10/11.
 Earn a bonus point for submitting by Wednesday 10/10.
Homework 6 is due Thursday 10/11.
 It's very short.
 Guerrilla Section this Saturday 10/13, 122pm in Soda 271, 273
Midterm 2 is Wednesday 10/17 8pm10:10pm.
 Emphasis on tree recursion, mutable values, objects, and recursive data.
 Includes lecture through Friday 10/12.
 Most similar past midterm 2 exams: fa14, sp15, fa15, fa16, fa17, sp18
 The Midterm 2 study guide will be included with your exam.
 You may bring 2 twosided sheets of handwritten notes.
 No lecture on Wednesday 10/17.
 No discussion on Wednesday 10/17 through Friday 10/19.
 Seating assignments will be released Tuesday 10/16.
Ants project due Thursday 10/11.
 Checkpoint due Monday 10/8.
 Project party Monday 10/8 6:308pm.
 Earn a bonus point for submitting by Wednesday 10/10.
Homework 6 is due Thursday 10/11.
 It's very short.
 Guerrilla Section this Saturday 10/13, 122pm in Soda 271, 273
 Midterm 2 is Wednesday 10/17 8pm10pm.
Ants project due Thursday 10/11.
 Checkpoint due Monday 10/8.
 Earn a bonus point for submitting by Wednesday 10/10.
Homework 6 is due Thursday 10/11.
 It's very short
 Homework 5 is due Thursday 10/4.
Ants project due Thursday 10/11.
 Checkpoint due Monday 10/8.
 Earn a bonus point for submitting by Wednesday 10/10.
 Homework 5 is due Thursday 10/4.
Ants project due Thursday 10/11.
 Find a partner!
 Checkpoint due Monday 10/8.
 Earn a bonus point for submitting by Wednesday 10/10.
 Homework 5 is due Thursday 10/4.
Guerrilla Section this Saturday 9/29 122pm in Soda 271, 273
 Sequences, Data Abstraction, and Trees
Maps project due Thursday 9/27.
 Earn an early submission bonus point by submitting on Wednesday 9/26.
 Homework 5 is due Thursday 10/4.
 Extra lecture on implementing mutable values using functions on Wednesday 9/26 3pm in 306 Soda.
Guerrilla Section this Saturday 9/29 122pm in Soda 271, 273
 Covers Sequences, Data Abstraction, Trees
Maps project due Thursday 9/27.
Project party on Monday 9/24 6:308pm
 Phase 3 in Cory 247.
 Phase 0, 1 & 2 in Cory 241
 Earn an early submission bonus point by submitting on Wednesday 9/26.
 Homework 5 is due Thursday 10/4 (not this week).
 Get an extra Midterm 1 point for transcribing your exam by Friday 9/21.
 Hog strategy contest winners announced Monday 9/24.
Maps project due Thursday 9/27.
 Project party on Monday 9/24 6:308pm at Cory 241.
 Earn an early submission bonus point by submitting on Wednesday 9/26.
 Homework 5 is due Thursday 10/4 (not next week).
 Homework 4 is due Thursday 9/20.
 Get an extra Midterm 1 point for transcribing your exam by Friday 9/21.
 Hog strategy contest winners announced Monday 9/24.
Maps project due Thursday 9/27.
 Earn an early submission bonus point by submitting on Wednesday 9/26.
 No homework due next week.
 Optional Hog strategy contest ends Monday 9/17.
 Homework 4 is due Thursday 9/20.
 Get an extra Midterm 1 point for transcribing your exam by Friday 9/21.
Maps project due Thursday 9/27.
 Earn an early submission bonus point by submitting on Wednesday 9/26.
 No homework due next week.
 Guerrilla Section on higherorder functions, writing code, and recursion, 12  2pm Saturday 9/15 in Soda 271/273.
 Optional Hog strategy contest ends Monday 9/17.
 Homework 4 is due Thursday 9/20.
 How to get full credit on homework: solve most problems and try to solve all problems.
 Midterm 1 exams have been returned by email.
 Homework 3 is due Thursday 9/13.
 Optional Hog strategy contest ends Monday 9/17.
 Guerrilla Section on HOFs code writing + Recursion 12  2pm Saturday September 15 Soda 271/273
 HKN review session: 123 PM Saturday September 8 in 306 Soda Hall
 CSM review session: 36 PM Saturday September 8 in Genetics & Plant Biology 100
Midterm 1 on Monday 9/10 8pm10pm in various locations across campus.
 Emphasis on functions, assignment, iteration, higherorder functions, and environment diagrams.
 Includes lecture through Wednesday 9/5.
 Most similar past midterm 1 exams: fa14, sp15, fa15, fa16, fa17, sp18
 No tree recursion (sum_largest on sp18; kbonacci on fa14)
 The Midterm 1 study guide will be included with your exam.
 You may bring 1 twosided sheet of handwritten notes.
 No lecture on Monday 9/10.
 No lab on Monday 9/10, Tuesday 9/11, or Wednesday 9/12.
 Seating assignments will be released Sunday 9/9. If you would like lefthanded desk or have another seat request fill out this form by Friday 9/7 @ 11:59pm
 Join a Computer Science Mentors (CSM) adjunct section by Sunday 9/9.
 Optional Hog strategy contest ends Monday 9/17.
 Homework 3 is due Thursday 9/13.
Hog is due Thursday 9/6 @ 11:59pm.
 Submit everything by Wednesday 9/5 for an early submission bonus point.
 Come to office hours or post on Piazza if you're stuck!
 Homework 2 is due Thursday 9/6 @ 11:59pm.
 Join a Computer Science Mentors (CSM) adjunct section by Friday 9/7.
Midterm 1 on Monday 9/10 8pm10pm in various locations across campus.
 Emphasis on functions, assignment, iteration, higherorder functions, and environment diagrams.
 Includes lecture through Wednesday 9/5.
 Most similar past midterm 1 exams: fa14, fa15, fa16, fa17, sp18
 No tree recursion (sum_largest on sp18; kbonacci on fa14)
 The Midterm 1 study guide will be included with your exam.
 You may bring 1 twosided sheet of handwritten notes.
 No lecture on Monday 9/10.
 No lab on Monday 9/10, Tuesday 9/11, or Wednesday 9/12.
 Seating will be released Sunday 9/9. If you would like lefthanded desk or have another seat request fill out this form by Thursday 9/6 @ 11:59pm
Extra Lecture 2 continuing Newton's Method is Wednesday 9/5 @ 3pm in 306 Soda
 Watch the videos from Lecture 1 for context.
 It is now possible to enroll in CS 9852 (1 unit P/NP for completing extra homework).
Hog is due Thursday 9/6 @ 11:59pm.
 Solve Phase 1 individually; Work with a partner on Phases 2 & 3.
 Phase 1 checkpoint due Tuesday 9/4.
 Submit everything by Wednesday 9/5 for an early submission bonus point.
Hog Project party Tuesday 9/4 6:30pm8pm
 Phase 1 in Cory 241
 Phase 2 in Cory 247
 Phase 3 in Cory 277, Cory 285
 Homework 2 is due Thursday 9/6 @ 11:59pm.
 Join a Computer Science Mentors (CSM) adjunct section by Friday 9/7.
Learn more & find partners at the 61A mixers hosted by the EECS department
 Tuesday 9/4 10:4511:10am and 3:454:10pm in Wozniak Lounge, 4th Floor of Soda Hall
Midterm 1 on Monday 9/10 8pm10pm in various locations across campus.
 Emphasis on functions, assignment, iteration, higherorder functions, and environment diagrams.
 Includes lecture through Wednesday 9/5.
 The Midterm 1 study guide will be included with your exam.
 You may bring 1 twosided sheet of handwritten notes.
 No lecture on Monday 9/10.
 No lab on Monday 9/10, Tuesday 9/11, or Wednesday 9/12.
 Seating will be released Sunday 9/9. If you would like lefthanded desk or have another seat request fill out this form by Thursday 9/6 @ 11:59pm
Hog is due Thursday 9/6 @ 11:59pm.
 Solve Phase 1 individually; Work with a partner on Phases 2 & 3.
 Phase 1 checkpoint due Tuesday 9/4.
 Project party Tuesday 9/4 6:30pm8pm in Cory 241 & Cory 247.
 Submit everything by Wednesday 9/5 for an early submission bonus point.
 Homework 2 is due Thursday 9/6 @ 11:59pm.
 Join a Computer Science Mentors (CSM) adjunct section by Friday 9/7.
Learn more & find partners at the 61A mixers hosted by the EECS department
 Tuesday 9/4 10:4511:10am and 3:454:10pm in Wozniak Lounge, 4th Floor of Soda Hall
Midterm 1 on Monday 9/10 8pm10pm in various locations across campus.
 Emphasis on functions, assignment, iteration, higherorder functions, and environment diagrams.
 Includes lecture through Wednesday 9/5.
 The Midterm 1 study guide will be included with your exam.
 You may bring 1 twosided sheet of handwritten notes.
 No lecture on Monday 9/10.
 No lab on Monday 9/10, Tuesday 9/11, or Wednesday 9/12.
Hog is due Thursday 9/6 @ 11:59pm.
 Solve Phase 1 individually; Work with a partner on Phases 2 & 3.
 Phase 1 checkpoint due Tuesday 9/4.
 Project party Tuesday 9/4 6:30pm8pm in Cory 241 & Cory 247.
 Submit everything by Wednesday 9/5 for an early submission bonus point.
 Homework 2 is due Thursday 9/6 @ 11:59pm.
 Guerrilla section Saturday 9/1 12pm2pm in 271 Soda & 273 Soda.
 Sign up for free oneonone tutoring!
 Coming soon: sign up for group mentoring!
Learn more & find partners at the 61A mixers hosted by the EECS department
 Tuesday 9/4 10:4511:10am and 3:454:10pm in Wozniak Lounge, 4th Floor of Soda Hall
 Homework 1 is due Thursday 8/30 @ 11:59pm.
Hog is due Thursday 9/6 @ 11:59pm.
 Solve Phase 1 individually; Work with a partner on Phases 2 & 3.
 Phase 1 checkpoint due Tuesday 9/4.
 Project party Tuesday 9/4 6:30pm8pm in Cory 241 & Cory 247.
 Submit everything by Wednesday 9/5 for an early submission bonus point.
 Guerrilla section Saturday 9/1 12pm2pm in 271 Soda & 273 Soda.
No live lecture or lab Monday 9/3.
 Videoonly lecture isn't new material, but may be helpful.
 Attend lab Tuesday/Wednesday or complete the lab at home.
 First extra lecture on Newton's method this Wednesday 8/29 3pm4pm in 306 Soda.
 Lab 00 is a takehome lab. Try to complete it before your lab this week.
Homework 1 is due Thursday 8/30 @ 11:59pm.
 Homework party Monday 8/27 6:30pm8pm in Cory 241 (& Cory 247).
 Dropin office hours start this week.
Hog is due Thursday 9/6 @ 11:59pm.
 Solve Phase 1 individually; Work with a partner on Phases 2 & 3.
 Phase 1 checkpoint due Tuesday 9/4.
 Submit everything by Wednesday 9/5 for an early submission bonus point.
 Project Party next Tuesday 9/4.
 First extra lecture on Newton's method this Wednesday 8/29 3pm4pm in 306 Soda.
Lab 00 is a takehome lab. Try to complete it before your lab next week.
 We are holding special office hours Friday 8/24 4pm7pm in 611 Soda to help with Lab 00 (and anything else).
Homework 01 is due next Thursday 8/30 @ 11:59pm.
 Homework party Monday 8/27 6:30pm8pm in Cory 241 & Cory 247.
 Extra office hours with John DeNero in 781 Soda on Monday 8/27 2:205pm.
 Live lecture is in Zellerbach Hall Friday 8/24, but Wheeler Hall starting Monday 8/27.
 Join Piazza for announcements and answers to your questions.
 More section options will appear by Monday 8/27.
Mark your calendars for the midterms:
 Midterm 1 is Monday 9/10 8pm10pm in various locations across campus.
 Midterm 2 is Wednesday 10/17 8pm10pm in various locations across campus.
 If you have a course conflict, see the exam policy.
 Welcome to CS 61A!
 Join Piazza for announcements and answers to your questions.
 Sign up for sections starting Friday 8/17 at 2pm.
 The first and second lectures will be held in Zellerbach Hall.
 The Summer 2018 website has moved to http://su18.cs61a.org.
Week  Date  Lecture  Textbook  Handout  Homework & Project 

1  Wed 8/22 
Functions

Lab 00: Getting Started
Fri 8/31


Fri 8/24 
Names

Disc 00: Getting Started 
HW 01
Thu 8/30


2  Mon 8/27 
Control

Lab 01: Variables & Functions, Control
Fri 8/31

Hog
Thu 9/6


Wed 8/29 
HigherOrder Functions

Disc 01: Environment Diagrams, Control  
Fri 8/31 
Environments

Guerrilla 01: Variables & Functions, Control, Environment Diagrams 
HW 02
Thu 9/6


3  Mon 9/3 
Iteration


Lab 02: HigherOrder Functions
Fri 9/7


Wed 9/5 
Recursion

Disc 02: HigherOrder Functions, Recursion 
Hog Contest
Mon 9/17


Fri 9/7 
Function Examples


Exam Prep 01: Environment Diagrams, HigherOrder Functions, Control 
HW 03
Thu 9/13


4  Mon 9/10 
No Lecture Midterm 1 (810 PM) 

Wed 9/12 
Tree Recursion

Disc 03: Recursion, Tree Recursion  
Fri 9/14 
Data Abstraction

Exam Prep 02: Recursion, Tree Recursion
Guerrilla 02: HigherOrder Functions, Recursion, Tree Recursion 
HW 04
Thu 9/20


5  Mon 9/17 
Containers

Lab 04: Python Lists, Data Abstraction
Fri 9/21

Maps
Thu 9/27


Wed 9/19 
Trees

Disc 04: Python Lists, Trees  
Fri 9/21 
Mutable Values

Exam Prep 03: Trees, Python Lists 
HW 05
Thu 10/4


6  Mon 9/24 
Mutable Functions

Lab 05: Python Lists, Trees
Fri 9/28


Wed 9/26 
Iterators

Disc 05: Nonlocal, Iterators & Generators  
Fri 9/28 
Objects

Exam Prep 04: Nonlocal, Iterators & Generators
Guerrilla 03: Python Lists, Data Abstraction, Trees 

7  Mon 10/1 
Inheritance

Lab 06: ObjectOriented Programming
Fri 10/5

Ants
Thu 10/11


Wed 10/3 
Representation

Disc 06: ObjectOriented Programming  
Fri 10/5 
Growth

HW 06
Thu 10/11


8  Mon 10/8 
Composition

Lab 07: Linked Lists, Trees
Fri 10/12


Wed 10/10 
Ordered Sets

Disc 07: Orders of Growth, Linked Lists  
Fri 10/12 
Tree Sets

Guerrilla 04: Nonlocal, Mutable Trees, Iterators & Generators, Linked Lists, Orders of Growth  
9  Mon 10/15 
Data Examples


Lab 08: Midterm Review
Fri 10/19


Wed 10/17 
No Lecture Midterm 2 (810 PM) 

Fri 10/19 
Users 

HW 07
Thu 10/25


10  Mon 10/22 
Scheme  
Wed 10/24 
Exceptions  
Fri 10/26 
Calculator 
HW 08
Thu 11/1


11  Mon 10/29 
Interpreters 
Scheme
Wed 11/14


Wed 10/31 
Tail Calls  
Fri 11/2 
Macros 
HW 09
Thu 11/8


12  Mon 11/5 
Streams 


Wed 11/7 
Declarative Programming 
Scheme Contest
Mon 11/26


Fri 11/9 
Tables 
HW 10
Thu 11/15


13  Mon 11/12 
No Lecture: Veterans Day  
Wed 11/14 
Aggregation  
Fri 11/16 
Databases 
HW 11
Thu 11/29


14  Mon 11/19 
Distributed Computing  
Wed 11/21 
No Lecture: Thanksgiving  
Fri 11/23 
No Lecture: Thanksgiving  
15  Mon 11/26 
Distributed Data  
Wed 11/28 
Natural Language 


Fri 11/30 
Conclusion 

HW 12
Fri 12/7


16  Wed 12/12 
Final (710 PM) 