CS 61A: Structure and Interpretation of Computer Programs

Summer 2018
Instructors: James Uejio, Jen Thakar, Mitas Ray, Tammy Nguyen
MTuWTh 11-12:30 in 155 Dwinelle

Wednesday, July 18
  • Hog composition scores released

    • We extended the deadline for revisions to Wednesday 7/18 @ 11:59pm.
  • Congratulations on finishing the midterm (solutions)!

    • Walkthrough video can be found here.
    • You should have received an email with your score.
    • Submit regrades by Friday 7/20 @ 11:59pm.
    • Group midterm grades will be released later this week.
  • Ants has been released!

    • Complete Phase 1 & 2 by Thursday 7/19 @ 11:59pm.
    • Complete Phase 3 & 4 by Wednesday 7/25 @ 11:59pm.
    • Submit a day early for one extra credit point!
    • This project is a partner project so you may work and share code with one other person.
  • Guerrilla section on Friday 12 - 2 PM in 521 Cory.
  • Homework party on Friday 2 - 5 PM in 521 Cory.
Monday, July 16
  • Congratulations on finishing the midterm (solutions)!

    • Walkthrough video can be found here.
    • You should have received an email with your score.
    • Submit regrades by Friday 7/20 @ 11:59pm.
    • Group midterm grades will be released later this week.
  • HW 04 is due Tuesday 7/17 @ 11:59pm.
  • Ants has been released!

    • Complete Phase 1 & 2 by Thursday 7/19 @ 11:59pm.
    • Complete Phase 3 & 4 by Wednesday 7/25 @ 11:59pm.
    • Submit a day early for one extra credit point!
    • This project is a partner project so you may work and share code with one other person.
  • Guerrilla section on Friday 12 - 2 PM in 521 Cory.
  • Homework party on Friday 2 - 5 PM in 521 Cory.
Sunday, July 15
  • Congratulations on finishing the midterm (solutions)!

    • Walkthrough video can be found here.
    • You should have received an email with your score.
    • Submit regrades by Friday 7/20 @ 11:59pm.
    • Group midterm grades will be released later this week.
  • HW 04 is due Tuesday 7/17 @ 11:59pm.
  • Guerrilla section on Friday 12 - 2 PM in 521 Cory.
  • Homework party on Friday 2 - 5 PM in 521 Cory.
Thursday, July 12
  • Congratulations on finishing the midterm (solutions)!
  • Maps project is due Friday 7/13 @ 11:59 PM.
  • Guerrilla section on Friday 12 - 2 PM in 521 Cory.
  • Homework party on Friday 2 - 5 PM in 521 Cory.
  • Sign-ups for recurring and drop-in mentoring sections are at this Piazza post
Thursday, July 5
  • The midterm will be Tuesday, 7/10 from 6:30 to 9:30 PM.

    • No lecture Tuesday.
    • No discussion on Tuesday or Wednesday.
    • No mentoring sections first half of the week.
    • Update office hours for Tuesday.
  • HW 3 is due Monday 7/9 @ 11:59 PM.
  • Maps project due date has been extended to Friday 7/13 @ 11:59 PM.
  • Midterm review session Monday 7/9 11 - 12:30 PM in 155 Dwinelle.
  • Lab 6 is released early and solutions have been released!

    • You still need to submit the required questions by Friday to get full credit for the lab.
  • Guerrilla section on Friday 12 - 2 PM in 521 Cory.
  • Homework party on Friday 2 - 5 PM in 521 Cory.
  • Hog contest winners can be found here. Congratulations!
Monday, July 2
  • The midterm will be Tuesday, 7/10 from 6:30 to 9:30 PM. Follow these instructions to create your group for the group section by Tuesday, 7/3.
  • Read July 4th Piazza Post for updated holiday schedule.
  • HW 2 is due Tuesday 7/3 @ 11:59 PM.
  • Maps project is due Monday 7/9 @ 11:59 PM.
  • There will only be one lab this week, so please go to that lab to get checked in.
  • Guerrilla section on Friday 12 - 2 PM in 521 Cory.
  • Homework party on Friday 2 - 5 PM in 521 Cory.
  • Sign ups for recurring and drop-in mentoring sections here
Wednesday, June 27
  • The midterm will be Tuesday, 7/10 from 6:30 to 9:30 PM. Follow these instructions to create your group for the group section by Tuesday, 7/3.
  • HW 2 is due Tuesday 7/3 @ 11:59 PM.
  • Hog project is due Friday 6/29 @ 11:59 PM.

    • Submit the entire project by Thursday 6/28 @ 11:59 PM for an early submission bonus point.
  • Hog Contest ends on Sunday 7/01 @ 11:59 PM and is completely optional. The top three winners will receive extra credit.
  • Guerrilla section on Friday 12 - 2 PM in Wozniak Lounge 430-8 Soda Hall.
  • Homework party on Friday 2 - 5 PM in Wozniak Lounge 430-8 Soda Hall.
  • Sign ups for recurring and drop-in mentoring sections here
Tuesday, June 26
  • The midterm will be Tuesday, 7/10 from 6:30 to 9:30 PM. Follow these instructions to create your group for the group section by Tuesday, 7/3.
  • HW 1 is released and due Tuesday 6/26 @ 11:59 PM.
  • Hog project is due Friday 6/29 @ 11:59 PM.

    • Use the subset of Python that you've learned so far in this class.
    • Complete Phase 1 by Tuesday 6/26 @ 11:59 PM.
    • Submit the entire project by Thursday 6/28 @ 11:59 PM for an early submission bonus point.
  • Hog Contest ends on Sunday 7/01 @ 11:59 PM and is completely optional. The top three winners will receive extra credit.
  • Guerrilla section on Friday 12 - 2 PM in 521 Cory Hall.
  • Homework party on Friday 2 - 5 PM in 521 Cory Hall.
  • Sign ups for recurring and drop-in mentoring sections here: https://piazza.com/class/jfsqt6i73wd20g?cid=131
Monday, June 25
  • HW 1 is released and due Tuesday 6/26 @ 11:59 PM.
  • Hog project is due Friday 6/29 @ 11:59 PM.

    • Use the subset of Python that you've learned so far in this class.
    • Complete Phase 1 by Tuesday 6/26 @ 11:59 PM.
    • Submit the entire project by Thursday 6/28 @ 11:59 PM for an early submission bonus point.
  • Hog Contest ends on Sunday 7/01 @ 11:59 PM and is completely optional. The top three winners will receive extra credit.
  • Guerrilla section on Friday 12 - 2 PM in 521 Cory Hall.
  • Homework party on Friday 2 - 5 PM in 521 Cory Hall.
  • Sign ups for recurring and drop-in mentoring sections here: https://piazza.com/class/jfsqt6i73wd20g?cid=131
Thursday, June 21
  • HW 0 is released and due Thursday 6/21 @ 11:59 PM. It only consists of a survey and a syllabus quiz and is worth 2 points.
  • HW 1 is released and due Tuesday 6/26 @ 11:59 PM.

    • Homework party on Friday 2 - 5 PM in 521 Cory Hall.
  • Lab 0 and Lab 1 are due Friday @ 11:59 PM.
  • Hog project is due Friday 6/29 @ 11:59 PM.
    • Use the subset of Python that you've learned so far in this class.
    • Complete Phase 1 by Tuesday 6/26 @ 11:59 PM.
    • Submit the entire project by Thursday 6/28 @ 11:59 PM for an early submission bonus point.
  • Hog Contest ends on Sunday 7/01 @ 11:59 PM and is completely optional. The top three winners will receive extra credit.
  • Guerrilla section on Friday 12 - 2 PM in 521 Cory Hall.
  • Sign ups for recurring mentoring sections opens this Thursday right after lecture.
  • Course potluck this Friday 6/22 5 - 6:30 PM in the Wozniak Lounge (430-8 Soda Hall). Fill out this form ASAP.
Wednesday, June 20
  • HW 0 is released and due Thursday 6/21 @ 11:59 PM. It only consists of a survey and a syllabus quiz and is worth 2 points.
  • Lab 0 and Lab 1 are due Friday @ 11:59 PM.
  • Hog project is due Friday 6/29 @ 11:59 PM.

    • Use the subset of Python that you've learned so far in this class.
    • Complete Phase 1 by Tuesday 6/26 @ 11:59 PM.
    • Submit the entire project by Thursday 6/28 @ 11:59 PM for an early submission bonus point.
  • Guerrilla section on Friday 12 - 2 PM in 521 Cory Hall.
  • Homework party on Friday 2 - 5 PM in 521 Cory Hall.
  • Sign ups for recurring mentoring sections opens this Thursday right after lecture.
  • Course potluck this Friday 6/22 5 - 6:30 PM in the Wozniak Lounge (430-8 Soda Hall). Fill out this form ASAP.
Monday, June 18
  • Welcome to CS 61A Summer 2018!
  • Lecture starts this Monday 6/18 in 155 Dwinelle Hall.
  • Lab and discussions start the first week! Please attend the lab that you signed up on Cal Central. Attend the matching discussion section. See Piazza for more information and fill out this form if you can not make your matching section.
  • HW 0 is released and due Thursday 6/21 @ 11:59 PM. It only consists of a survey and a syllabus quiz and is worth 2 points.
  • Lab 0 is due Friday @ 11:59 PM.
  • Guerrilla section on Friday 12 - 2 PM in 521 Cory Hall.
  • Homework party on Friday 2 - 5 PM in 521 Cory Hall.
  • Sign ups for recurring mentoring sections opens this Thursday right after lecture.
  • Course potluck this Friday 6/22 5 - 6:30 PM in the Wozniak Lounge (430-8 Soda Hall). Fill out this form ASAP.
Week Date Lecture Reading Handout Homework & Project
Introduction Mon
6/18
Lab 00: Getting Started
Fri 6/22
HW 00: Survey
Thu 6/21
Tue
6/19
Disc 00: Getting Started, Variables & Functions
Wed
6/20
Lab 01: Variables & Functions, Control
Fri 6/22
Hog
Fri 6/29
Thu
6/21
Disc 01: Environment Diagrams, Control, Higher-Order Functions HW 01: Control
Tue 6/26

Hog Contest
Sun 7/1
Fri
6/22
Guerrilla 01: Variables & Functions, Control, Environment Diagrams
Functions Mon
6/25
Lab 02: Higher-Order Functions
Fri 6/29

Mentoring 01: Control, Environment Diagrams
Tue
6/26
Disc 02: Higher-Order Functions, Python Lists
Wed
6/27
Lab 03: Recursion, Python Lists
Fri 6/29
Thu
6/28
Disc 03: Recursion, Tree Recursion
Mentoring 02: Higher-Order Functions, Python Lists
HW 02: Higher-Order Functions, Recursion
Tue 7/3
Fri
6/29
Guerrilla 02: Higher-Order Functions, Python Lists, Recursion, Tree Recursion
Data Mon
7/2
Lab 04: Mutability, Data Abstraction
Fri 7/6

Mentoring 03: Recursion, Tree Recursion
Maps
Fri 7/13
Tue
7/3
Disc 04: Python List Mutation, Data Abstraction
Wed
7/4
No Lecture: Independence Day HW 03: Tree Recursion, Trees
Mon 7/9
Thu
7/5
Disc 05: Trees, Orders of Growth
Mentoring 04: Data Abstraction, Trees
Fri
7/6
Lab 06: Trees, Midterm Review
Fri 7/13

Guerrilla 03: Data Abstraction, Trees, Orders of Growth
Languages Mon
7/9
Midterm Review
Tue
7/10
Midterm (6:30 - 9:30 PM)
Wed
7/11
Lab 07: Scheme
Fri 7/13
Thu
7/12
Disc 07: Scheme
Mentoring 05: Scheme
HW 04: Scheme
Tue 7/17
Fri
7/13
Guerrilla 04: Scheme
Objects Mon
7/16
Lab 08: Object-Oriented Programming
Fri 7/20

Mentoring 06: Scheme Lists
Ants
Wed 7/25
Tue
7/17
Disc 08: Object-Oriented Programming
Wed
7/18
Lab 09: Mutable Trees
Fri 7/20
Thu
7/19
Disc 09: Mutable Trees, Mutable Functions
Mentoring 07: Object-Oriented Programming
HW 05
Tue 7/24
Evaluation Mon
7/23
Lazy Evaluation
Tue
7/24
Tail Recursion
Wed
7/25
Interpreters HW 06
Tue 7/31
Thu
7/26
Macros and Metaprogramming
Scheme
Tue 8/7
Paradigms Mon
7/30
SQL I
Tue
7/31
SQL II
Wed
8/1
Logic Programming HW 07
Tue 8/7
Thu
8/2
TBD
Applications Mon
8/6
Final Review
Tue
8/7
Natural Language Processing
Wed
8/8
Conclusion
Thu
8/9
Final (6 - 9 PM)