CS 61A: Structure and Interpretation of Computer Programs

Summer 2024, Instructors: Laryn Qi, Charlotte Le, Raymond Tan

Announcements: Wednesday, July 24

  • Lab 09 is released and due Thursday, 7/25
  • HW 05 is due tonight
  • Ants is due Thursday, 7/25

    • 4 extra credit problems worth 1 pt each!

Announcements: Tuesday, July 23

  • Lab 08 is due tonight
  • HW 05 is due Wednesday, 7/24
  • Ants is due Thursday, 7/25

    • 4 extra credit problems worth 1 pt each!
  • Tuesday morning OH have been removed, and staff have been distributed to more popular times

Announcements: Thursday, July 18

  • Midterm regrades are due by tonight

  • Lab 07 is due tonight

  • HW 04 is due tonight.
  • Ants is released!

    • Start early! Checkpoint 1 due Monday, 7/22.
    • Entire project due Thursday, 7/25.
  • HW 05 is released and due Wednesday, 7/24.

Announcements: Wednesday, July 17

  • Midterm regrades are due by Thursday, 7/18.
  • Regrades are submitted through Gradescope.
  • Lab 07 is released and due Thursday, 7/18.
  • Please complete the Mid-Semester Feedback form.
  • HW 04 is due Thursday, 7/18.
  • Ants is released!

    • Checkpoint 1 due Monday, 7/22.
    • Entire project due Thursday, 7/25.

Announcements: Wednesday, July 10

  • Our Midterm is this Thursday (7/11 6-8pm)

    • Please read through the Midterm Logistics Post on Ed in its entirety.
    • Everything up to and including Tuesday's lecture on Efficiency.
    • Seating assignments will be released by tonight.
  • We will be hosting office hours the day of the midterm!

    • Staff office hours in Warren 101B 9-10:30am.
    • Instructor office hours in Lewis 100 11am-12:30pm.
  • Cats is released!

    • Entire project is due Tuesday, 7/16.
    • Problem 12 is worth 2 points of extra credit.
  • HW 03 is due tonight.
  • Lab 06 is released!

    • Due date has been extended to Monday, 7/15.

Announcements: Tuesday, July 9

  • Our Midterm is this Thursday (7/11 6-8pm)

    • Please read through the Midterm Logistics Post on Ed in its entirety.
    • Everything up to and including today's lecture on Efficiency.
    • Tomorrow's lecture will be midterm review problems.
    • No lecture on Thursday -- Instructors will be at the lecture hall during lecture time to answer any questions you have!
  • Cats is released!

    • Checkpoint is due tonight.
    • Entire project is due Tuesday, 7/16.
    • Problem 12 is worth 2 points of extra credit.
  • HW 03 is released and due tomorrow.
  • Lab 05 is released and due tonight.

Announcements: Monday, July 8

  • Our Midterm is this Thursday (7/11 6-8pm)

    • Please read through the Midterm Logistics Post on Ed in its entirety.
    • Everything up to and including Tuesday's lecture on Efficiency.
    • Wednesday's lecture will be midterm review problems.
    • No lecture on Thursday -- Instructors will be at the lecture hall during lecture time to answer any questions you have!
    • Midterm review session held by staff members tonight in Soda 430 (the Woz)
  • Cats is released!

    • Checkpoint is due Tuesday, 7/9.
    • Entire project is due Tuesday, 7/16.
    • Problem 12 is worth 2 points of extra credit.
  • HW 03 is released and due Wednesday, 7/10.
  • Lab 05 is released and due Tuesday, 7/9.

Announcements: Wednesday, July 3

  • Midterm is next Thursday (7/11 6-8pm)

    • Everything up to and including efficiency.
    • Keep an eye out for a logistics post on Ed.
  • Tomorrow is July 4th! That means:

    • No lecture
    • No sections
    • No office hours on Thursday or Friday
    • There will still be Ed support
  • HW 02 is due today.
  • Lab 04 is released and due Friday, 7/5.

Announcements: Tuesday, July 2

  • Hog is due today.
  • Lab 03 is released and due today.
  • HW 02 is due Wednesday, 7/3.
  • Lab 04 is released and due Friday, 7/5.
  • You can find the weekly schedule of office hours at cs61a.org/office-hours.

Announcements: Monday, July 1

  • Hog is due Tuesday, 7/2.

    • Submit by Monday, 7/1 for an extra credit point!
  • HW 02 is due Wednesday, 7/3.
  • Lab 03 is released and due Tuesday, 7/2.
  • You can find the weekly schedule of office hours at cs61a.org/office-hours.

Announcements: Thursday, June 27

  • Hog is released!

    • Checkpoint is due today.
    • Entire project is due Tuesday, 7/2.

      • Submit by Monday, 7/1 for an extra credit point!
  • Lab 02 is due today.
  • HW 02 is released!

    • Due Wednesday, 7/3.
  • The last day to switch sections is Friday, 6/28.

Announcements: Wednesday, June 26

  • HW 01 is due today.
  • Hog is released!

    • Checkpoint is due tomorrow.
    • Entire project is due Tuesday, 7/2.
  • Lab 02 is due tomorrow.
  • The last day to switch sections is Friday, 6/28.

Announcements: Tuesday, June 25

  • Lab 01 is due today.
  • HW 01 is due tomorrow.
  • Hog is released!

    • Checkpoint is due Thursday, 6/27.
    • Entire project is due Tuesday, 7/2.
  • You can find the weekly schedule of office hours at cs61a.org/office-hours.

Announcements: Monday, June 24

  • Lab 01 is today.

    • If you're in a regular section, you must attend in-person to get checked off.
    • Must submit by Tuesday, 6/25.
  • HW 01 is released and due Wednesday, 6/26.
  • Hog is released!

    • Checkpoint is due Thursday, 6/27.
    • Entire project is due Tuesday, 7/2.
  • Our office hours continues this week. You can find the weekly schedule at cs61a.org/office-hours.

    • Charlotte has Instructor OH today 1-2pm in 781 Soda.
    • Laryn has Instructor OH today 2-3pm in 781 Soda.

Announcements: Thursday, June 20

  • Discussion 01 is today.
  • Lab section begins Monday 6/24.
  • Lab 00 is due Monday 6/24 @ 11:59pm.
  • HW 01 and Project 1 (Hog) have been released!
  • HW 01 is due Wednesday 6/26 @ 11:59pm. It is based on lectures 1, 2, and 3.
  • The Hog project is due Tuesday 7/2 @ 11:59pm.

    • Checkpoint (Phase 1 out of 3) is due Thursday 6/27 @ 11:59pm.
    • You can work with a partner on the entire project.
    • Submit the entire project by Monday 7/1 @ 11:59pm to earn an early submission extra credit point.
  • Raymond has OH 1-2 pm today and Laryn has OH 3-4pm today both in 781 Soda. There are also OH tomorrow 9-11:45am in Warren 101B.
  • This website is under construction and its contents are subject to change.

Announcements: Tuesday, June 18

  • Sign up for sections are now open on sections.cs61a.org.
  • Discussion section begins today!
  • No lecture tomorrow in honor of the campus holiday, Juneteenth.
  • Lab section begins Monday 6/24.
  • This website is under construction and its contents are subject to change.

Announcements: Monday, June 17

  • Welcome to CS 61A!
  • Sign up for sections now open on sections.cs61a.org.
  • Ed contains timely course announcements.
  • CS 61A does not use bCourses/Canvas.
  • Discussion section begins Tuesday 6/18.
  • Lab section begins Monday 6/24.
  • This website is under construction and its contents are subject to change.

Announcements: Sunday, June 9

  • Welcome to CS 61A!
  • Ed contains timely course announcements.
  • CS 61A does not use bCourses/Canvas.
  • Lecture begins Monday 6/17.
  • Discussion section begins Tuesday 6/18.
  • Lab section begins Monday 6/24.
  • This website is under construction and its contents are subject to change.

Current Assignments

Calendar

Week Date Lecture Textbook Lab & Discussion Links Homework & Project
1 Mon
6/17
Welcome
Lab 00: Getting Started
Due Mon 6/24
Tue
6/18
Functions
Disc 00: Getting Started
Wed
6/19
No Lecture: Juneteenth
Thu
6/20
Control
Disc 01: Control HW 01: Functions, Control
Due Wed 6/26

Hog
Checkpt Thu 6/27
Due Tue 7/2
2 Mon
6/24
Higher-Order Functions
Lab 01: Functions, Control
Due Tue 6/25
Tue
6/25
Environments
Disc 02: Environment Diagrams, Higher-Order Functions
Wed
6/26
Recursion
Lab 02: Higher-Order Functions, Lambda Expressions
Due Thu 6/27
Thu
6/27
Tree Recursion
Disc 03: Recursion, Tree Recursion HW 02: Higher-Order Functions, Recursion
Due Wed 7/3
3 Mon
7/1
Containers and Sequences
Lab 03: Recursion, Tree Recursion
Due Tue 7/2
Tue
7/2
Data Abstraction and ADT Trees
Disc 04: Tree Recursion, Trees, Python Lists
Wed
7/3
Mutability
Lab 04: Sequences, Trees
Due Fri 7/5
Cats
Checkpt Tue 7/9
Due Tue 7/16
Thu
7/4
No Lecture: Independence Day HW 03: Tree Recursion, Sequences, Python Lists, Trees
Due Wed 7/10
4 Mon
7/8
Iterators and Generators
Lab 05: Data Abstraction, Mutability
Due Tue 7/9
Tue
7/9
Efficiency
Disc 05: Iterators, Generators, Efficiency
Wed
7/10
Midterm Review
Lab 06: Iterators, Generators
Due Mon 7/15
Thu
7/11
Midterm (6-8pm) HW 04: Iterators, Generators, Efficiency, Object-Oriented Programming
Due Thu 7/18
5 Mon
7/15
Objects
Tue
7/16
Inheritance and String Representation
Disc 06: OOP
Wed
7/17
Mutable Trees
Lab 07: Object-Oriented Programming, Inheritance
Due Thu 7/18
Ants
Checkpt Mon 7/22
Due Thu 7/25
Thu
7/18
Linked Lists
Disc 07: Linked Lists, Mutable Trees HW 05: Inheritance, Mutable Trees, Linked Lists
Due Wed 7/24
6 Mon
7/22
Scheme I
Lab 08: Mutable Trees, Linked Lists
Due Tue 7/23
Tue
7/23
Tail Calls
Disc 08: Scheme, Scheme Lists
Wed
7/24
Scheme II
Lab 09: Scheme, Scheme Lists
Due Thu 7/25
Thu
7/25
Interpreters
Disc 09: Interpreters
HW 06: Scheme, Scheme Lists
Due Wed 7/31

Scheme
Checkpt Wed 7/31
Due Tue 8/6
7 Mon
7/29
Scheme Data Abstraction
Lab 10: Interpreters
Due Tue 7/30
Tue
7/30
SQL I: Intro
Disc 10: Tail Calls, Scheme Data Abstraction
Wed
7/31
SQL II: Aggregation
Lab 11: SQL, Scheme Data Abstraction
Due Thu 8/1
Thu
8/1
Wordle in Python (Cyrus Bugwadia) (Optional)
Disc 11: SQL
HW 07: Scheme Data Abstraction, SQL
Due Wed 8/7
8 Mon
8/5
Large Language Models (Pamela Fox) (Optional)
Lab 12: Final Review (Optional)
Due Tue 8/6
HW 08: Finale
Due Wed 8/7
Tue
8/6
Final Review
Wed
8/7
Conclusion
Thu
8/8
Final (7-10pm)