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

Wednesday, July 1

Welcome to 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
  • The Diagnostic Quiz will be today from 6-7:15PM PDT. The quiz will cover through Wednesday's lecture (Tree Recursion). Here are some announcements for the rest of the week:

    • There will be no lecture on Thursday
    • Thursday, Friday discussions are cancelled
    • Thursday tutoring sections after 6PM will be cancelled
    • Thursday tutoring section attendance will be optional. Drop in sections this week with no students as of Tuesday 11:59PM will be cancelled
    • If you don't get an email by 11:30pm Wednesday describing when you take the quiz please contact cs61a+su20@berkeley.edu
    • please report any technical issues before/during/after the exam at links.cs61a.org/diagnostic-tech-issues
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
Mon 7/6
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
Tue 7/7
Wed
7/1
Tree Recursion
Lab 03: Recursion, Tree Recursion
Mon 7/6
HW 03
Tue 7/7
Thu
7/2
Diagnostic Quiz (time TBD)
3 Mon
7/6
Sequences & Data Abstraction Lab 04: Python Lists, Data Abstraction
Wed 7/8
Cats
Tue 7/21
Tue
7/7
Functional Decomposition & Debugging
Disc 04: Recursion, Tree Recursion
Wed
7/8
Trees Lab 05: Python Lists, Trees
Fri 7/10
HW 04
Tue 7/14
Thu
7/9
Mutable Sequences Disc 05: Trees, Mutability
4 Mon
7/13
Mutable Functions & Growth Lab 06: Nonlocal, Mutability
Fri 7/17

Lab 07: Midterm Review
Fri 7/17
Tue
7/14
Iterators & Generators Disc 06: Midterm Review, Iterators & Generators
Wed
7/15
Midterm Review
HW 05
Tue 7/21
Thu
7/16
No Lecture
Midterm (time TBD)
5 Mon
7/20
Objects Lab 08: Object-Oriented Programming
Wed 7/22
Tue
7/21
Inheritance Disc 08: Object-Oriented Programming, Nonlocal
Ants
Tue 7/28
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
6 Mon
7/27
Scheme Lab 10: Scheme, Scheme Lists
Wed 7/29
Tue
7/28
More Scheme Disc 10: Scheme, Scheme Lists
Scheme
Fri 8/7
Wed
7/29
Interpreters Lab 11: Interpreters
Fri 7/31
HW 07
Tue 8/4
Thu
7/30
Macros Disc 11: Tail Recursion, Macros
7 Mon
8/3
Streams
Lab 12: Macros
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
Tue
8/11
Special Topics II (TBD)
Disc 14: Final Review
Wed
8/12
Final Lecture
Thu
8/13
Final (time TBD)