CS 61A: Structure and Interpretation of Computer Programs

Summer 2020
Instructors: Chae Park, Kavi Gupta, Ryan Moughan
Varies, Typically Tuesday 3-4:30pm. Link will be posted on piazza

Monday, July 6

Congrats on finishing the second week of CS 61a!

  • Hog is due Wednesday! For an extra credit point, submit by Tuesday.
  • The optional Hog Contest is due Thursday!
  • Lab 03 is due tomorrow!
  • HW3 is due tomorrow!
  • Lab 04 has been released and is due on Wednesday
  • The midterm will be Thursday, July 16th from 5-8 PM. If you have a time zone or exam conflict, please fill out the form on piazza before this Sunday.
  • Sign-up for small group tutoring! There are still a few spots left for recurring sections and drop-in sections. Links and sign-up details are on piazza.
Sunday, July 5

Congrats on finishing the second week of CS 61a!

  • Hog has been released and is due Monday, July 6th
  • The optional Hog Contest has been released and is due Tuesday, July 7th
  • Lab 03 has been released and is due on Monday, July 6th
  • HW3 has been released and is due Tuesday, June 7th
  • There will be an extra Project Party Sunday, July 5th from 2 - 4 PM!
  • The Diagnostic Quiz was this week

    • Due to technical difficulties, everyone will be getting the 5 points for completion on this quiz
    • It is still HIGHLY important that you take it at some point so that you can check that your system works well with our exam software
    • Please report any technical issues before/during/after the exam at links.cs61a.org/diagnostic-tech-issues
  • Sign-up for small group tutoring! There are still a few spots left for recurring sections and drop-in sections. Links and sign-up details are on piazza.
Saturday, June 27

Congrats on finishing the first week of CS 61a!

  • HW 1 has been released and is due Tuesday, June 30th
  • HW 2 has been released and is due Tuesday, June 30th
  • Hog has been released and is due Monday, July 6th
  • The first homework party will be Monday, June 29th from 4:00 - 7:00 PM (links will be on Piazza)
  • The first project party will be Wednesday, July 1st from 3:00 - 6:00 PM (links will be on Piazza)
  • OH are open! Sign up for an appointment the night before at oh.cs61a.org/appointments
Thursday, May 28

61A will be offered fully online over the summer. This has the following consequences

  • You do not need to be physically in Berkeley in order to take this course, there will be minimal practical differences
  • We will not be giving live lectures and will be recording discussions. We will, however, assign non-negligible amount of points for live discussion attendance. We acknowledge that there are many students from different parts of the world taking the class; we will do our best to combat the time difference and will accommodate exceptions by individual basis. Exams are trickier but 61a never does in class exams, so that particular conflict will not arise
  • Almost the entire course will be publicly available, so if you wish to audit, you can do so easily
  • This is a perfect opportunity for non-Berkeley students to take CS61A as they can do it without having to go through the hassle of finding accommodations in Berkeley
Week Date Lecture Textbook Lab and Discussion Links Homework & Project
1 Mon
6/22
Intro
Lab 00: Getting Started
Fri 6/26
Tue
6/23
Functions
Disc 00: Getting Started HW 01
Tue 6/30
Wed
6/24
Control
Lab 01: Variables & Functions, Control
Fri 6/26
HW 02
Tue 6/30
Thu
6/25
Higher-Order Functions
Disc 01: Environment Diagrams, Control, Self Reference Hog
Wed 7/8
2 Mon
6/29
Environment Diagrams
Lab 02: Higher-Order Functions, Lambda Expressions, Self Reference
Wed 7/1
Tue
6/30
Recursion
Disc 02: Higher-Order Functions Hog Contest
Thu 7/9
Wed
7/1
Tree Recursion
Lab 03: Recursion, Tree Recursion
Tue 7/7
HW 03
Tue 7/7
Thu
7/2
Diagnostic Quiz (6-7:15pm PDT)
3 Mon
7/6
Sequences & Data Abstraction
Lab 04: Python Lists, Data Abstraction
Wed 7/8
Tue
7/7
Functional Decomposition & Debugging
Disc 04: Recursion, Tree Recursion, Python Lists
Wed
7/8
Trees Lab 05: Python Lists, Trees
Fri 7/10
HW 04
Tue 7/14

Cats
Thu 7/23
Thu
7/9
Mutable Sequences Disc 05: Python Lists, Trees, Mutability
4 Mon
7/13
Mutable Functions Lab 06: Nonlocal, Mutability
Fri 7/17

Lab 07: Midterm Review
Fri 7/17
Tue
7/14
Midterm Review Disc 06: Nonlocal, Midterm Review
Wed
7/15
Iterators & Generators
HW 05
Tue 7/21
Thu
7/16
No Lecture
Midterm (5:00pm-8:00pm PDT)
5 Mon
7/20
Objects Lab 08: Object-Oriented Programming
Wed 7/22
Tue
7/21
Inheritance Disc 08: Iterators & Generators, Object-Oriented Programming
Wed
7/22
Linked Lists & Trees Lab 09: Linked Lists, Mutable Trees
Fri 7/24
HW 06
Tue 7/28
Thu
7/23
Interfaces Disc 09: Linked Lists, Trees
Ants
Thu 7/30
6 Mon
7/27
Scheme Lab 10: Scheme, Scheme Lists
Wed 7/29
Tue
7/28
More Scheme Disc 10: Scheme, Scheme Lists
Wed
7/29
Interpreters Lab 11: Interpreters
Fri 7/31
HW 07
Tue 8/4
Thu
7/30
Macros Disc 11: Tail Recursion, Macros
Scheme
Mon 8/10
7 Mon
8/3
Streams
Lab 12: Macros, Streams
Wed 8/5
Tue
8/4
Declarative Programming I Disc 12: Streams
Scheme Contest
Tue 8/11
Wed
8/5
Declarative Programming II Lab 13: SQL
Fri 8/7
HW 08
Tue 8/11
Thu
8/6
Special Topics I (Security)
Disc 13: SQL
8 Mon
8/10
Final Review
Lab 14: Final Review
Wed 8/12
HW 09 (Optional)
Fri 8/14
Tue
8/11
Special Topics II (TBD)
Disc 14: Final Review
Wed
8/12
Final Lecture
Thu
8/13
Final (time TBD)