CS 61A: Structure and Interpretation of Computer Programs

Spring 2019
Instructor: Dan Garcia
MWF 2-3 in Wheeler Auditorium

Friday, March 15
  • Mark your calendars! Midterm 2 is on Tuesday 3/19, 8-10 PM.

    • CSM Review Session 1-3 PM Saturday, March 16 in Hearst Field Annex A1
    • HKN Review Session 3-6 PM Sunday, March 17 in HP Auditorium
  • Ants project released

    • Partner project
    • Entire project due Thursday 3/14 (submit Wednesday for 1 extra credit point)
    • Check out @1829 for a new debugging feature in Ok
  • Guerrilla Section Saturday 3/16, 4-6PM, Soda 271

    • Covers OOP, Mutable Trees, Nonlocal, Linked Lists, and Orders of Growth
  • If you are struggling or looking for advice we are holding 1-1 advising appointments, see @1837 for more details
Tuesday, March 12
  • Mark your calendars! Midterm 2 is on Tuesday 3/19, 8-10 PM.
  • Ants project released

    • Partner project
    • Entire project due Thursday 3/14 (submit Wednesday for 1 extra credit point)
    • Check out @1829 for a new debugging feature in Ok
  • Guerrilla Section Saturday 3/16, 4-6PM, Soda 271

    • Covers OOP, Mutable Trees, Nonlocal, Linked Lists, and Orders of Growth
  • If you are struggling or looking for advice we are holding 1-1 advising appointments, see @1837 for more details
Monday, March 11
  • Mark your calendars! Midterm 2 is on Tuesday 3/19, 8-10 PM.
  • Ants project released

    • Partner project
    • Checkpoint 1 (Phase 1 & 2) due Monday 3/11
    • Entire project due Thursday 3/14 (submit Wednesday for 1 extra credit point)
    • Check out @1829 for a new debugging feature in Ok
  • Project Party on Monday 3/11 at 6:30-8

    • For help on Phase 1 go to Cory 241
    • For help on Phase 2 go to Cory 247
    • For help oh Phase 3&4 go to Cory 237
  • Guerrilla Section this Saturday, 4-6PM, Soda 271

    • Covers OOP, Mutable Trees, Nonlocal, Linked Lists, and Orders of Growth
  • If you are struggling or looking for advice we are holding 1-1 advising appointments, see @1837 for more details
Friday, March 8
  • Mark your calendars! Midterm 2 is on Tuesday 3/19, 8-10 PM.
  • Ants project released

    • Partner project
    • Checkpoint 1 (Phase 1 & 2) due Monday 3/11
    • Entire project due Thursday 3/14 (submit Wednesday for 1 extra credit point)
    • Check out @1829 for a new debugging feature in Ok
  • Project Party on Monday 3/11 at 6:30-8

    • For help on Phase 1 go to Cory 241
    • For help on Phase 2 go to Cory 247
    • For help oh Phase 3&4 go to Cory 237
  • Homework 5 is due Friday 3/8
  • Lab 6 is due Friday 3/8
  • If you are struggling or looking for advice we are holding 1-1 advising appointments, see @1837 for more details
Tuesday, March 5
  • Ants project released

    • Partner project
    • Checkpoint 1 (Phase 1 & 2) due Monday 3/11
    • Entire project due Thursday 3/14 (submit Wednesday for 1 extra credit point)
    • Check out @1829 for a new debugging feature in Ok
  • Homework 5 is due Friday 3/8
  • Lab 6 is due Friday 3/8
  • If you are struggling or looking for advice we are holding 1-1 advising appointments, see @1837 for more details
Monday, February 25
  • Maps Project released and due Thursday 2/28

    • Submit a day early (Wednesday 2/27) to receive 1 extra credit point
    • Solo project (no partners)
    • Project Party on Monday 2/25 6:30-8 PM (Phase 3 in Cory 247. Phase 0, 1 & 2 in Cory 241)
  • Homework 4 is due Friday 3/1
  • Guerrilla Section this Saturday 3/2 12-2PM, Soda 271
Friday, February 22
  • Optional Hog strategy contest ends Friday 2/22.
  • CS Mentors Sections

    • Small sections designed to help you get more individual attention
    • See @684 on piazza
    • You can still sign up at https://scheduler.csmentors.org/

      • Note: website is a bit slow to load sections
  • Maps Project released and due Thursday 2/28

    • Submit a day early (Wednesday 2/27) to receive 1 extra credit point
    • Solo project (no partners)
  • Hog Composition Scores have been released

    • You can find your score and any comments on your Hog submission on Ok
    • Submit revisions (via python3 ok --revise) by Tuesday, February 26th to recover any lost points!
Tuesday, February 19
  • Optional Hog strategy contest ends Friday 2/22.
  • Homework 3 is due Thursday 2/21.
  • CS Mentors Sections

    • Small sections designed to help you get more individual attention
    • See @684 on piazza
    • Starts this week!
  • Maps Project released and due Thursday 2/28

    • Submit a day early (Wednesday 2/27) to receive 1 extra credit point
    • Solo project (no partners)
  • Hog Composition Scores have been released

    • You can find your score and any comments on your Hog submission on Ok
    • Submit revisions (via python3 ok --revise) by Tuesday, February 26th to recover any lost points!
Thursday, February 14
  • Optional Hog strategy contest ends Friday 2/22.
  • Homework 3 is due Thursday 2/21.
  • Midterm 1

  • CS Mentors Sections

    • Small sections designed to help you get more individual attention
    • See @684 on piazza
    • If you want a unit for a CSM section must be done by Wed, Feb 13th (add / drop deadline)
    • Note: you don't have to sign up for a unit to get a section
Wednesday, February 13
  • Optional Hog strategy contest ends Friday 2/22.
  • Homework 3 is due Thursday 2/21.
  • Midterm 1

    • Scores have been released on Gradescope
    • Exam PDF
    • Solutions PDF
    • Video Walkthroughs
    • Please review rubrics and solutions before submitting regrade request
    • Regrade requests on gradescope are due Wed, Feb 13th at 11:59 PM
  • The add / drop deadline is Wed, Feb 13th

    • It is still possible to swap to CS 10; however, it will require making up the work
    • Their late add policy is here in section 10
  • CS Mentors Sections

    • Small sections designed to help you get more individual attention
    • See @684 on piazza
    • If you want a unit for a CSM section must be done by Wed, Feb 13th (add / drop deadline)
    • Note: you don't have to sign up for a unit to get a section
Friday, February 8
  • Homework 2 is released and is due Friday 2/8 @ 11:59pm.
  • Midterm 1 on Monday 2/11 7-8 PM

    • Emphasis on functions, assignment, iteration, higher-order functions, and environment diagrams.
    • No recursion
    • The Midterm 1 study guide will be included with your exam.
    • You may bring 1 two-sided sheet of hand-written notes.
    • Seating assignments and exam accomodations will be released this Weekend.
    • HKN Review Session Saturday 2/9 12-3 PM in HP Auditorium
    • CSM Review Session Sunday 2/10 2-4 PM in GPB100
  • No lab this week 2/11-2/13
  • Monday's lecture is on recursion (out of scope of midterm)

    • We recommend you don't attend but instead watch the recording and use the time for studying
Week 3 Class Material
  • Lecture 6: Iteration
  • Lecture 7: Function Examples 1
  • Lecture 8: Function Examples 2
  • CS 61A Textbook:
  • Disc 02: Higher-Order Functions
  • Wednesday, February 6
    • Homework 2 is released and is due Friday 2/8 @ 11:59pm.
    • Hog has been released! Entire project due Thursday 2/7

      • You can work with a partner on Phases 2 & 3.
      • Submit everything by Wednesday 2/6 for an early submission bonus point.
    • Midterm 1

      • HKN Review Session Saturday 2/9 12-3 PM in HP Auditorium
      • CSM Review Session Sunday 2/10 2-4 PM in GPB100
      • Exam will take place Monday 2/11 (time unconfirmed)
    Week 3 Class Material
  • Lecture 6: Iteration
  • Lecture 7: Function Examples 1
  • Lecture 8: Function Examples 2
  • CS 61A Textbook:
  • Disc 02: Higher-Order Functions
  • Monday, February 4
    • Homework 2 is released and is due Friday 2/8 @ 11:59pm.
    • Hog has been released! Entire project due Thursday 2/7

      • Solve Phase 1 individually; Work with a partner on Phases 2 & 3.
      • Phase 1 checkpoint due Tuesday 2/5.
      • Submit everything by Wednesday 2/6 for an early submission bonus point.
    • Hog Project Party today (2/4) from 6:30-8pm.

      • For help on Phase 1 go to Cory 241 and Cory 237 (if you can't get seat in 241)
      • For help oh Phase 2&3 go to Cory 247
    Week 3 Class Material
  • Lecture 6: Iteration
  • Lecture 7: Function Examples 1
  • Lecture 8: Function Examples 2
  • CS 61A Textbook:
  • Disc 02: Higher-Order Functions
  • Friday, February 1
    • Homework 2 is released and is due next Thursday 2/7 @ 11:59pm.
    • Drop-in office hours start this week.
    • Hog has been released! Entire project due Thursday 2/7

      • Solve Phase 1 individually; Work with a partner on Phases 2 & 3.
      • Phase 1 checkpoint due Tuesday 2/5.
      • Submit everything by Wednesday 2/6 for an early submission bonus point.
      • Project Party next Monday 2/4 in 241 Cory from 6:30-8pm.
    • Guerrilla Section on Functions, Control, Environments this Saturday 12-2pm in Soda 271, 273, 275
    • Video on Debugging Basics
    Monday, January 28
    • Homework 1 is released and is due this Thursday 1/31 @ 11:59pm.
    • Drop-in office hours start this week.
    • Extra lectures (optional, on Additional Topics) start this week, Wednesdays 1-2pm in Soda 310: https://cs61a.org/extra.html
    • Hog has been released! Entire project due Thursday 2/7

      • Solve Phase 1 individually; Work with a partner on Phases 2 & 3.
      • Phase 1 checkpoint due Tuesday 2/5.
      • Submit everything by Wednesday 2/6 for an early submission bonus point.
      • Project Party next Monday 2/4.
    • Guerrilla Section on Functions, Control, Environments this Saturday 12-2pm in Soda 271, 273, 275
    • Video on Debugging Basics
    Monday, January 28
    • Lab 00 is a take-home lab. Try to complete it before your lab this week.
    • Homework 1 is released and is due this Thursday 1/31 @ 11:59pm.
    • Drop-in office hours start this week.
    • Extra lectures (optional, on Additional Topics) start this week, Wednesdays 1-2pm in Soda 310: https://cs61a.org/extra.html
    • Hog has been released! Entire project due Thursday 2/7

      • Solve Phase 1 individually; Work with a partner on Phases 2 & 3.
      • Phase 1 checkpoint due Tuesday 2/5.
      • Submit everything by Wednesday 2/6 for an early submission bonus point.
      • Project Party next Monday 2/4.
    Wednesday, January 23
    • Discussion starts this week
    • Lab starts next week
    • Join Piazza for announcements and answers to your questions.
    • You don’t have to come to lecture, Friday and onward there will only be 1 lecture 2-3pm, so 500/1250 of you have to decide to watch the webcast only. We can’t have anyone in the aisles per fire marshall rules.
    • Take CS10 concurrently if you don’t have any programming experience
    Week Date Lecture Textbook Lab and Discussion Links Homework & Project
    1 Mon
    1/21
    No Lecture: MLK
    Wed
    1/23
    Disc 00: Getting Started
    Lab 00: Getting Started
    Fri 2/1
    Fri
    1/25
    HW 01
    Thu 1/31
    2 Mon
    1/28
    Lab 01: Variables & Functions, Control
    Fri 2/1
    Hog
    Thu 2/7
    Wed
    1/30
    Disc 01: Environment Diagrams, Control
    Fri
    2/1
    Guerrilla 00: Variables & Functions, Control, Environment Diagrams HW 02
    Fri 2/8
    3 Mon
    2/4
    Lab 02: Higher-Order Functions
    Fri 2/8
    Wed
    2/6
    Disc 02: Higher-Order Functions
    Fri
    2/8
    4 Mon
    2/11

    Midterm 1 (7-8 pm)
    Hog Contest
    Fri 2/22
    Wed
    2/13
    Disc 03: Recursion, Tree Recursion HW 03
    Thu 2/21
    Fri
    2/15
    5 Mon
    2/18
    No Lecture: Presidents' Day Lab 04: Recursion, Python Lists, Data Abstraction
    Fri 2/22
    Maps
    Thu 2/28
    Wed
    2/20
    Disc 04: Python Lists, Data Abstraction
    Fri
    2/22
    Guerrilla 01: Higher-Order Functions, Recursion, Tree Recursion HW 04
    Fri 3/1
    6 Mon
    2/25
    Lab 05: Trees
    Fri 3/1
    Wed
    2/27
    Disc 05: Trees, Mutability, Nonlocal
    Fri
    3/1
    Guerrilla 02: Python Lists, Data Abstraction, Trees HW 05
    Fri 3/8
    7 Mon
    3/4
    Lab 06: Nonlocal, Object-Oriented Programming
    Fri 3/8
    Ants
    Thu 3/14
    Wed
    3/6
    Disc 06: Object-Oriented Programming
    Fri
    3/8
    HW 06
    Fri 3/15
    8 Mon
    3/11
    Lab 07: Linked Lists, Trees
    Fri 3/15
    Wed
    3/13
    Disc 07: Linked Lists, Midterm Review
    Fri
    3/15
    Lab 08: Midterm Review
    Fri 3/22

    Guerrilla 03: Nonlocal, Mutable Trees, Object-Oriented Programming, Linked Lists, Orders of Growth
    9 Mon
    3/18
    Data Examples
    Tue
    3/19
    Midterm 2 (8-10 pm)
    Wed
    3/20
    Final Examples
    Fri
    3/22
    Users
    10 Mon
    3/25
    No Lecture: Spring Break
    Wed
    3/27
    No Lecture: Spring Break
    Fri
    3/29
    No Lecture: Spring Break
    11 Mon
    4/1
    Scheme
    Wed
    4/3
    Exceptions
    Fri
    4/5
    Calculator
    12 Mon
    4/8
    Interpreters Scheme
    Wed 4/24
    Wed
    4/10
    Tail Calls
    Fri
    4/12
    Macros
    13 Mon
    4/15
    Iterators
    Wed
    4/17
    Streams
    Fri
    4/19
    Declarative Programming
    14 Mon
    4/22
    Tables
    Wed
    4/24
    Aggregation
    Fri
    4/26
    Databases
    15 Mon
    4/29
    Distributed Computing
    Wed
    5/1
    Social Implications
    Fri
    5/3
    Conclusion
    16 Tue
    5/14
    Final (11:30-2:30 PM)