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

Friday, August 10
Week 8 Class Material
  • Lecture -1: Mock Exam
  • Lecture 28: Conclusion
  • Readings:
  • Disc 14: TA Appreciation Day
  • Mentoring 12: Final Review
  • Wednesday, August 8
    Week 8 Class Material
  • Lecture -1: Mock Exam
  • Lecture 28: Conclusion
  • Readings:
  • Disc 14: TA Appreciation Day
  • Mentoring 12: Final Review
  • Monday, August 6
    • Feel free to attend any TA Appreciation Day section!
    • Lab rooms have been moved. See weekly schedule for updated rooms.
    • Mock exam and mock exam solutions have been released.
    • HW 08 is released. It consists of 3 surveys and is worth 1 point of EC.

      • The Scheme Art Contest Voting survey is due Tuesday, 8/7 @ 11:59 PM.
      • The final course survey and official course evaluation are due Friday, 8/10 @ 11:59 PM.
    • HW 07 is due Tuesday, 8/7 @ 11:59 PM.
    • Scheme project is due Tuesday, 8/7 @ 11:59 PM.

      • There was an error in Q8 that caused Q20 to fail. See piazza for how to fix it. This only applies to the extra credit.
    • Submit Ants composition revisions by Wednesday, 8/8 @ 11:59 PM.
    Week 8 Class Material
  • Lecture -1: Mock Exam
  • Lecture 28: Conclusion
  • Readings:
  • Disc 14: TA Appreciation Day
  • Mentoring 12: Final Review
  • Sunday, August 5
    • HW 08 is released. It consists of 3 surveys and is worth 1 point of EC.

      • The Scheme Art Contest Voting survey is due Tuesday, 8/7 @ 11:59 PM.
      • The final course survey and official course evaluation are due Friday, 8/10 @ 11:59 PM.
    • HW 07 is due Tuesday, 8/7 @ 11:59 PM.
    • Scheme project is due Tuesday, 8/7 @ 11:59 PM.

      • There was an error in Q8 that caused Q20 to fail. See piazza for how to fix it. This only applies to the extra credit.
    • Submit Ants composition revisions by Wednesday, 8/8 @ 11:59 PM.
    Friday, August 3
    • HW 07 is due Tuesday, 8/7 @ 11:59pm.
    • Scheme project is due Tuesday, 8/7 @ 11:59 PM.

      • Submit by Monday, 8/6 @ 11:59 PM for 1 point of EC.
      • There was an error in Q8 that caused Q20 to fail. See piazza for how to fix it. This only applies to the extra credit.
    • Submit Ants composition revisions by Wednesday, 8/8 @ 11:59 PM.
    • Scheme contest has been released! Submissions are due on Saturday, 8/4.
    Tuesday, July 31
    • HW 07 is due Tuesday, 8/7 @ 11:59pm.
    • Scheme project is due Tuesday, 8/7 @ 11:59 PM.

      • Submit by Monday, 8/6 @ 11:59 PM for 1 point of EC.
      • There was an error in Q8 that caused Q20 to fail. See piazza for how to fix it. This only applies to the extra credit.
    • Scheme contest has been released! Submissions are due on Saturday, 8/4.
    • Sign up for drop-in mentoring tutoring here
    • If you're enrolled in a reoccurring mentoring section, please fill out this survey
    • Guerrilla section on Friday 12:30 - 2:30 PM in 521 Cory.
    • Homework party on Friday 2:30 - 5 PM in 521 Cory.
    Monday, July 30
    • HW 06 is due 7/31 @ 11:59pm.
    • Scheme project has been released!

      • Submit with Part II complete by Friday, 8/3.
      • Submit the entire project by Tuesday, 8/7. You will get an extra credit point for submitting the entire project by Monday, 8/6.
      • This project is a partner project so you may work and share code with one other person.
      • There was an error in Q8 that caused Q20 to fail. See piazza for how to fix it. This only applies to the extra credit.
    • Scheme contest has been released! Submissions are due on Saturday, 8/4.
    • Group midterm scores released! See Piazza for how to request a regrade.
    • Sign up for drop-in mentoring tutoring here
    • If you're enrolled in a reoccurring mentoring section, please fill out this survey
    • Guerrilla section on Friday 12:30 - 2:30 PM in 521 Cory.
    • Homework party on Friday 2:30 - 5 PM in 521 Cory.
    Friday, July 27
    • HW 06 is due 7/31 @ 11:59pm.
    • Scheme project has been released!

      • Submit with Part I complete by Monday, 7/30.
      • Submit with Part II complete by Friday, 8/3.
      • Submit the entire project by Tuesday, 8/7. You will get an extra credit point for submitting the entire project by Monday, 8/6.
      • This project is a partner project so you may work and share code with one other person.
    • Scheme contest has been released! Submissions are due on Saturday, 8/4.
    • Maps composition released! Revisions due Friday 7/27 @ 11:59pm.
    • Group midterm scores released! See Piazza for how to request a regrade.
    • Sign up for 1 on 1 tutoring through CS 370 here
    • Sign up for drop-in mentoring tutoring here
    • Complete the Lab 12 Data survey (not for points but for fun!) here
    • If you're enrolled in a reoccurring mentoring section, please fill out this survey
    • Guerrilla section on Friday 12 - 2 PM in 521 Cory.
    • Homework party on Friday 2 - 5 PM in 521 Cory.
    Thursday, July 26
    • HW 06 is due 7/31 @ 11:59pm.
    • Scheme project has been released!

      • Submit with Part I complete by Monday, 7/30.
      • Submit with Part II complete by Friday, 8/3.
      • Submit the entire project by Tuesday, 8/7. You will get an extra credit point for submitting the entire project by Monday, 8/6.
      • This project is a partner project so you may work and share code with one other person.
    • Maps composition released! Revisions due Friday 7/27 @ 11:59pm.
    • Group midterm scores released! See Piazza for how to request a regrade.
    • Sign up for 1 on 1 tutoring through CS 370 here
    • Sign up for drop-in mentoring tutoring here
    • Complete the Lab 12 Data survey (not for points but for fun!) here
    • If you're enrolled in a reoccurring mentoring section, please fill out this survey
    • Guerrilla section on Friday 12 - 2 PM in 521 Cory.
    • Homework party on Friday 2 - 5 PM in 521 Cory.
    Wednesday, July 25
    • Maps composition released! Revisions due Friday 7/27 @ 11:59pm.
    • Group midterm scores released! See Piazza for how to request a regrade.
    • Ants has been released!

      • 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.
    • Sign up for 1 on 1 tutoring through CS 370 here
    • Sign up for drop-in mentoring tutoring here
    • Complete the Lab 12 Data survey (not for points but for fun!) here
    • If you're enrolled in a reoccurring mentoring section, please fill out this survey
    • Guerrilla section on Friday 12 - 2 PM in 521 Cory.
    • Homework party on Friday 2 - 5 PM in 521 Cory.
    Monday, July 23
    • Maps composition released! Revisions due Friday 7/27 @ 11:59pm.
    • Group midterm scores released! See Piazza for how to request a regrade.
    • HW 05 is due Tuesday 7/24 @ 11:59pm.
    • Congratulations on finishing the midterm (solutions)!

      • Walkthrough video can be found here.
      • You should have received an email with your score.
    • Ants has been released!

      • 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.
    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 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: Object-Oriented Programming, Mutable Functions
    Tue 7/24
    Fri
    7/20
    Guerrilla 05: Object-Oriented Programming, Nonlocal, Mutable Trees
    Evaluation Mon
    7/23
    Lab 10: Iterators & Generators
    Fri 7/27

    Mentoring 08: Mutable Trees, Mutable Functions
    Tue
    7/24
    Disc 10: Streams, Tail Recursion
    Wed
    7/25
    Lab 11: Interpreters
    Fri 7/27
    HW 06: Lazy Evaluation, Tail Recursion, Macros
    Tue 7/31
    Thu
    7/26
    Disc 11: Interpreters, Macros
    Mentoring 09: Iterators & Generators, Streams
    Scheme
    Tue 8/7
    Fri
    7/27
    Guerrilla 06: Iterators & Generators, Streams, Tail Recursion, Interpreters Scheme Contest
    Sat 8/4
    Paradigms Mon
    7/30
    Lab 12: SQL
    Fri 8/3

    Mentoring 10: Interpreters, Macros
    Tue
    7/31
    Disc 12: SQL
    Wed
    8/1
    Lab 13: Final Review
    Fri 8/3
    HW 07: SQL
    Tue 8/7
    Thu
    8/2
    Disc 13: Final Review
    Mentoring 11: SQL, Final Review
    Fri
    8/3
    Guerrilla 07: Macros, SQL
    Applications Mon
    8/6
    Mock Exam
    Mentoring 12: Final Review HW 08: Survey
    Fri 8/10
    Tue
    8/7
    Disc 14: TA Appreciation Day
    Wed
    8/8
    Conclusion
    Thu
    8/9
    Final (6 - 9 PM)