CS 61A: Structure and Interpretation of Computer Programs
Spring 2023, Instructors: John DeNero, Hany Farid
Friday, April 28
- Scheme project due Friday, 4/28.
 - Homework 10 Due Tuesday 5/2.
 - Homework 11 Due Thursday 5/4.
 Final exam Tuesday 5/9 11:30am.
- Read the logistics post.
 - Alteration request form due Monday 5/1.
 - The mt1, mt2, and final study guides will be provided.
 
Week 15 Class Material
- 
Lecture 36: Aggregation
 - 
Lecture 37: Final Examples
 - 
Lecture 38: Conclusion
 - Week 15 Readings: 
 - Disc 13: Final Review
 
Wednesday, April 26
Scheme project due Friday, 4/28.
- Early submission point for submitting by Thursday, 4/27.
 
- Homework 10 Due Tuesday 5/2.
 Final exam Tuesday 5/9 11:30am.
- Read the logistics post.
 - Alteration request form due Monday 5/1.
 - The mt1, mt2, and final study guides will be provided.
 
Week 15 Class Material
- 
Lecture 36: Aggregation
 - 
Lecture 37: Final Examples
 - 
Lecture 38: Conclusion
 - Week 15 Readings: 
 - Disc 13: Final Review
 
Monday, April 24
- Optional Scheme Recursive Art Contest entries due Tuesday 4/25.
 Scheme project due Friday, 4/28.
- Checkpoint 2 due Tuesday, 4/25.
 - Early submission point for submitting by Thursday, 4/27.
 
- Lecture schedule updated to include Final Examples on Wed 4/26.
 
Week 15 Class Material
- 
Lecture 36: Aggregation
 - 
Lecture 37: Final Examples
 - 
Lecture 38: Conclusion
 - Week 15 Readings: 
 - Disc 13: Final Review
 
Friday, April 21
- Midterm 2 regrade requests due Friday 4/21.
 - Optional Scheme Recursive Art Contest entries due Tuesday 4/25.
 Scheme project due Friday, 4/28.
- Checkpoint 1 due Friday, 4/21.
 - Checkpoint 2 due Tuesday, 4/25.
 - Early submission point for submitting by Thursday, 4/27.
 
Week 14 Class Material
- 
Lecture 33: Interpreters
 - 
Lecture 34: SQL
 - 
Lecture 35: Tables
 - Week 14 Readings:
 - Disc 12: Interpreters, SQL
 
Wednesday, April 19
- Homework 9 due Thursday 4/20.
 - Midterm 2 regrade requests due Friday 4/21.
 - Optional Scheme Recursive Art Contest entries due Tuesday 4/25.
 Scheme project due Friday, 4/28.
- Checkpoint 1 due Friday, 4/21.
 - Checkpoint 2 due Tuesday, 4/25.
 - Early submission point for submitting by Thursday, 4/27.
 
Week 14 Class Material
- 
Lecture 33: Interpreters
 - 
Lecture 34: SQL
 - 
Lecture 35: Tables
 - Week 14 Readings:
 - Disc 12: Interpreters, SQL
 
Monday, April 17
- Homework 9 due Thursday 4/20.
 - Midterm 2 regrade requests due Friday 4/21.
 - Optional Scheme Recursive Art Contest entries due Tuesday 4/25.
 Scheme project due Friday, 4/28.
- Checkpoint 1 due Friday, 4/21.
 - Checkpoint 2 due Tuesday, 4/25.
 - Early submission point for submitting by Thursday, 4/27.
 
Week 14 Class Material
- 
Lecture 33: Interpreters
 - 
Lecture 34: SQL
 - 
Lecture 35: Tables
 - Week 14 Readings:
 - Disc 12: Interpreters, SQL
 
Friday, April 14
- Homework 9 due Thursday 4/20.
 - Midterm 2 regrade requests due Friday 4/21.
 - Optional Scheme Recursive Art Contest entries due Tuesday 4/25.
 
Week 13 Class Material
- 
Lecture 30: Scheme
 - 
Lecture 31: Scheme Lists
 - 
Lecture 32: Calculator
 - Week 13 Readings:
 - Disc 11: Scheme, Scheme Lists
 
Wednesday, April 12
- Homework 8 due Thursday 4/13.
 - Midterm 2 regrade requests due Friday 4/21.
 
Week 13 Class Material
- 
Lecture 30: Scheme
 - 
Lecture 31: Scheme Lists
 - 
Lecture 32: Calculator
 - Week 13 Readings:
 - Disc 11: Scheme, Scheme Lists
 
Monday, April 10
- Homework 8 due Thursday 4/13.
 
Week 13 Class Material
- 
Lecture 30: Scheme
 - 
Lecture 31: Scheme Lists
 - 
Lecture 32: Calculator
 - Week 13 Readings:
 - Disc 11: Scheme, Scheme Lists
 
Wednesday, April 5
Midterm 2 is Friday 4/7 7pm-9pm
- Complete the alteration request form for any special arrangements.
 - The midterm 1 study guide and midterm 2 study guide will be provided.
 
- No discussion this week.
 - No lecture on Friday 4/7.
 
Week 12 Class Material
- 
Lecture 28: Ethics and Bias in Computer Science
 - 
Lecture 29: Data Examples
 - Week 12 Readings: 
 
Monday, April 3
Midterm 2 is Friday 4/7 7pm-9pm
- Complete the alteration request form by Monday 4/3 for any special arrangements.
 - The midterm 1 study guide and midterm 2 study guide will be provided.
 
- No discussion this week.
 - No lecture on Friday 4/7.
 
Week 12 Class Material
- 
Lecture 28: Ethics and Bias in Computer Science
 - 
Lecture 29: Data Examples
 - Week 12 Readings: 
 
Wednesday, March 22
Ants project is due Friday 3/24.
- Early submission bonus point 3/23.
 - A test was missing from 
ok --scoreuntil 12:32pm Tuesday 3/14! Re-download the project or just replace yourproj03.ok. 
Midterm 2 is Friday 4/7 7pm-9pm
- Complete the alteration request form by Monday 4/3 for any special arrangements.
 
- Ask us anything during lecture 2pm Friday 3/24 in Wheeler. This session will not be recorded.
 
Week 10 Class Material
- 
Lecture 25: Trees 2
 - 
Lecture 26: Linked Lists
 - Lecture 27: Ask Us Anything (Optional)
 - Week 10 Readings: 
 - Disc 09: Linked Lists, Efficiency, Mutable Trees
 
Monday, March 20
Ants project is due Friday 3/24.
- Early submission bonus point 3/23.
 - A test was missing from 
ok --scoreuntil 12:32pm Tuesday 3/14! Re-download the project or just replace yourproj03.ok. 
Week 10 Class Material
- 
Lecture 25: Trees 2
 - 
Lecture 26: Linked Lists
 - Lecture 27: Ask Us Anything (Optional)
 - Week 10 Readings: 
 - Disc 09: Linked Lists, Efficiency, Mutable Trees
 
Friday, March 17
Ants project is due Friday 3/24.
- Checkpoint 1 due Friday 3/17.
 - Checkpoint 2 due Tuesday 3/21.
 - Early submission bonus point 3/23.
 - A test was missing from 
ok --scoreuntil 12:32pm Tuesday 3/14! Re-download the project or just replace yourproj03.ok. 
Week 9 Class Material
- 
Lecture 22: Inheritance
 - 
Lecture 23: Representation
 - 
Lecture 24: Efficiency
 - Week 9 Readings:
 - Disc 08: OOP, Inheritance, String Representation
 
Wednesday, March 15
- Homework 6 is due Thursday 3/16.
 Ants project is due Friday 3/24.
- Checkpoint 1 due Friday 3/17.
 - Checkpoint 2 due Tuesday 3/21.
 - Early submission bonus point 3/23.
 - A test was missing from 
ok --scoreuntil 12:32pm Tuesday 3/14! Re-download the project or just replace yourproj03.ok. 
Week 9 Class Material
- 
Lecture 22: Inheritance
 - 
Lecture 23: Representation
 - 
Lecture 24: Efficiency
 - Week 9 Readings:
 - Disc 08: OOP, Inheritance, String Representation
 
Monday, March 13
- All office hours are online only Monday 3/13 and Tuesday 3/14.
 - Homework 6 is due Thursday 3/16.
 Ants project is due Friday 3/24.
- Checkpoint 1 due Friday 3/17.
 - Checkpoint 2 due Tuesday 3/21.
 - Early submission bonus point 3/23.
 
Week 9 Class Material
- 
Lecture 22: Inheritance
 - 
Lecture 23: Representation
 - 
Lecture 24: Efficiency
 - Week 9 Readings:
 - Disc 08: OOP, Inheritance, String Representation
 
Friday, March 10
- Homework 6 is due Thursday 3/16.
 
Week 8 Class Material
- 
Lecture 19: Objects
 - 
Lecture 20: Objects 2
 - 
Lecture 21: Objects 3
 - Week 8 Readings:
 - Disc 07: Object-Oriented Programming
 
Wednesday, March 8
- Homework 5 is due Thursday 3/9.
 No live lecture on Wednesday 3/8
- Watch the 5 lecture videos before attending discussion section.
 
Week 8 Class Material
- 
Lecture 19: Objects
 - 
Lecture 20: Objects 2
 - 
Lecture 21: Objects 3
 - Week 8 Readings:
 - Disc 07: Object-Oriented Programming
 
Monday, March 6
- Homework 5 is due Thursday 3/9.
 - No live lecture on Wednesday 3/8; videos will be posted to cs61a.org.
 
Week 8 Class Material
- 
Lecture 19: Objects
 - 
Lecture 20: Objects 2
 - 
Lecture 21: Objects 3
 - Week 8 Readings:
 - Disc 07: Object-Oriented Programming
 
Friday, March 3
- Homework 5 is due Thursday 3/9.
 
Week 7 Class Material
- 
Lecture 16: Iterators
 - 
Lecture 17: Generators
 - 
Lecture 18: Gates & Circuits (Optional)
 - Week 7 Readings:
 - Disc 06: Mutability, Iterators, Generators
 
Wednesday, March 1
- Homework 4 is due Thursday 3/2.
 
Week 7 Class Material
- 
Lecture 16: Iterators
 - 
Lecture 17: Generators
 - 
Lecture 18: Gates & Circuits (Optional)
 - Week 7 Readings:
 - Disc 06: Mutability, Iterators, Generators
 
Monday, February 27
- Homework 4 is due Thursday 3/2.
 - Please submit something to Gradescope for Lab 5, even if you were excused.
 - Just for fun: a bonus video lecture on how to use trees to represent language structure.
 
Week 7 Class Material
- 
Lecture 16: Iterators
 - 
Lecture 17: Generators
 - 
Lecture 18: Gates & Circuits (Optional)
 - Week 7 Readings:
 - Disc 06: Mutability, Iterators, Generators
 
Friday, February 24
- Project 2 (C.A.T.S.) is due Friday 2/24.
 - Homework 4 is due Thursday 3/2.
 
Week 6 Class Material
- 
Lecture 14: Trees
 - 
Lecture 15: Mutability
 - Week 6 Readings:
 - Disc 05: Trees
 
Wednesday, February 22
Project 2 (C.A.T.S.) is due Friday 2/24.
- Early submission bonus point for finishing by Thursday 2/23.
 
Week 6 Class Material
- 
Lecture 14: Trees
 - 
Lecture 15: Mutability
 - Week 6 Readings:
 - Disc 05: Trees
 
Friday, February 17
- Homework 3 deadline extended to Friday 2/17.
 Project 2 (C.A.T.S.) is due Friday 2/24.
- Checkpoint (Phase 1) due Tuesday 2/21.
 - Early submission bonus point for finishing by Thursday 2/23.
 
Week 5 Class Material
- 
Lecture 11: Sequences
 - 
Lecture 12: Containers
 - 
Lecture 13: Data Abstraction
 - Week 5 Readings:
 - Disc 04: Tree Recursion, Python Lists
 
Wednesday, February 15
- Midterm 1 regrade requests are due Wednesday 2/15.
 Homework 3 deadline extended to Friday 2/17.
- No office hours on Friday, so finish it by Thursday if you want help.
 
Project 2 (C.A.T.S.) is due Friday 2/24.
- Checkpoint (Phase 1) due Tuesday 2/21.
 - Early submission bonus point for finishing by Thursday 2/23.
 
Week 5 Class Material
- 
Lecture 11: Sequences
 - 
Lecture 12: Containers
 - 
Lecture 13: Data Abstraction
 - Week 5 Readings:
 - Disc 04: Tree Recursion, Python Lists
 
Monday, February 13
- Midterm 1 regrade requests are due Wednesday 2/15.
 Homework 3 deadline extended to Friday 2/17.
- No office hours on Friday, so finish it by Thursday if you want help.
 - Homework party Tuesday 5pm-7pm in Warren 101B
 - Lots of other office hours are available.
 
Week 5 Class Material
- 
Lecture 11: Sequences
 - 
Lecture 12: Containers
 - 
Lecture 13: Data Abstraction
 - Week 5 Readings:
 - Disc 04: Tree Recursion, Python Lists
 
Friday, February 10
- Project 1: Hog is due Friday 2/10.
 - Midterm 1 regrade requests are due Wednesday 2/15.
 - Homework 3 is due Thursday 2/16.
 
Week 4 Class Material
- 
Lecture 9: Recursion
 - 
Lecture 10: Tree Recursion
 - Week 4 Readings:
 - Disc 03: Recursion
 
Wednesday, February 8
Project 1: Hog is due Friday 2/10.
- Project party Wednesday 5pm-7pm in 101B Warren Hall.
 - Earn an early submission bonus point for submitting by Thursday 2/9.
 
Week 4 Class Material
- 
Lecture 9: Recursion
 - 
Lecture 10: Tree Recursion
 - Week 4 Readings:
 - Disc 03: Recursion
 
Friday, February 3
Midterm 1 is 7pm-9pm on Monday 2/6.
- You will receive a seat assignment on Sunday or Monday.
 - You may bring one two-sided sheet of handwritten notes that you create yourself.
 - We will provide the Midterm 1 Study Guide and scratch paper.
 - The Friday 2/3 videos playlist covers different example problems than live lecture.
 - No lecture on Monday 2/6.
 - The midterm 1 exam alteration request form is still open (but no guarantee we can accommodate requests at this point).
 
Project 1: Hog is due Friday 2/10.
- Checkpoint (Phase 1) due Tuesday 2/7.
 - Project party Tuesday 5pm-7pm in 101B Warren Hall.
 - Earn an early submission bonus point for submitting by Thursday 2/9.
 
Week 3 Class Material
- 
Lecture 6: Higher-Order Environments
 - 
Lecture 7: Functional Abstraction
 - 
Lecture 8: Midterm Review
 - Week 3 Readings:
 - Disc 02: Environment Diagrams, Higher-Order Functions
 
Wednesday, February 1
- Homework 2 is due Thursday 2/2 @ 11:59pm.
 Midterm 1 is 7pm-9pm on Monday 2/6 in various locations across campus.
- Complete the midterm 1 exam alteration request form by Thursday 2/2 @ 11:59pm for DSP accommodations, left-handed desks, alternate times, mask-required rooms, and any other exam-related requests.
 - You may bring one two-sided sheet of handwritten notes that you create yourself.
 - We will provide the Midterm 1 Study Guide and scratch paper.
 - Friday 2/3 lecture will be used for review and practice.
 - Friday 2/3 review playlist (posted already) will be different from what we cover in live lecture.
 - No lecture on Monday 2/6.
 - Exam scores should be released by Wednesday 2/8.
 
Project 1: Hog is due Friday 2/10.
- Earn an early submission bonus point for submitting by Thursday 2/9.
 - Checkpoint (Phase 1) due Tuesday 2/7.
 - Great practice for the midterm!
 
- Optional lecture video: how to use higher-order functions to generate sound.
 
Week 3 Class Material
- 
Lecture 6: Higher-Order Environments
 - 
Lecture 7: Functional Abstraction
 - 
Lecture 8: Midterm Review
 - Week 3 Readings:
 - Disc 02: Environment Diagrams, Higher-Order Functions
 
Monday, January 30
- Homework 2 is due Thursday 2/2 @ 11:59pm.
 Please submit all lab assignments, but your Gradescope autograder score on the lab assignment doesn't matter for grading unless you are in mega lab.
- New self-checkoff form in Lab should save everybody time.
 - Lab assignments are published early in case you want to get started in advance.
 
Midterm 1 is 7pm-9pm on Monday 2/6 in various locations across campus.
- Complete the midterm 1 exam alteration request form by Thursday 2/2 @ 11:59pm for DSP accommodations, left-handed desks, alternate times, mask-required rooms, and any other exam-related requests.
 - You may bring one two-sided sheet of handwritten notes that you create yourself.
 - We will provide the Midterm 1 Study Guide and scratch paper.
 - Friday 2/3 lecture will be used for review and practice.
 - No lecture on Monday 2/6.
 - Exam scores should be released by Wednesday 2/8.
 
Project 1: Hog is due Friday 2/10.
- Earn an early submission bonus point for submitting by Thursday 2/9.
 - Checkpoint (Phase 1) due Tuesday 2/7.
 - Great practice for the midterm!
 
Week 3 Class Material
- 
Lecture 6: Higher-Order Environments
 - 
Lecture 7: Functional Abstraction
 - 
Lecture 8: Midterm Review
 - Week 3 Readings:
 - Disc 02: Environment Diagrams, Higher-Order Functions
 
Friday, January 27
- Homework 2 is due Thursday 2/2 @ 11:59pm.
 - Please submit all lab assignments, but your Gradescope autograder score on the lab assignment doesn't matter for grading unless you are in mega lab.
 Midterm 1 is 7pm-9pm on Monday 2/6 in various locations across campus.
- Complete the midterm 1 exam alteration request form by Thursday 2/2 @ 11:59pm for DSP accommodations, left-handed desks, alternate times, mask-required rooms, and any other exam-related requests.
 - You will be assigned a seat, probably on Sunday 2/5.
 - 40 points, and you can recover up to 90% (up to 36 out of 40) by doing well on the final.
 
Week 2 Class Material
- 
Lecture 3: Control
 - 
Lecture 4: Environments
 - 
Lecture 5: Higher-Order Functions
 - Week 2 Readings:
 - Disc 01: Control, Environment Diagrams
 
Wednesday, January 25
Homework 1 is due Thursday 1/26 @ 11:59pm.
- Come to drop-in office hours to work with the staff & other students.
 - Join the office hours queue when you get there: oh.cs61a.org.
 - Request an extension if you need it: go.cs61a.org/extensions.
 
Week 2 Class Material
- 
Lecture 3: Control
 - 
Lecture 4: Environments
 - 
Lecture 5: Higher-Order Functions
 - Week 2 Readings:
 - Disc 01: Control, Environment Diagrams
 
Monday, January 23
Come to lab section, finish Lab 0 if you haven't yet, finish Lab 1, and then get checked off.
- Change/choose your section on sections.cs61a.org.
 - If you finish everything (including the optional lab questions), you can get checked off and leave early.
 
Homework 1 is due Thursday 1/26 @ 11:59pm.
- Come to drop-in office hours to work with the staff & other students.
 - Join the office hours queue here: oh.cs61a.org.
 - Homework party Tuesday 5-7pm in 101B Warren Hall.
 - Request an extension if you need it: go.cs61a.org/extensions.
 
- There's an Ed thread for lecture questions every lecture.
 
Week 2 Class Material
- 
Lecture 3: Control
 - 
Lecture 4: Environments
 - 
Lecture 5: Higher-Order Functions
 - Week 2 Readings:
 - Disc 01: Control, Environment Diagrams
 
Friday, January 20
Lab 0 is a take-home lab to get you set up. Try it this week!
- Come to lab section next week if you get stuck.
 
Homework 1 is due Thursday 1/26 @ 11:59pm.
- Questions 1 & 2 are based on today's lecture.
 - Questions 3 & 4 are based on Monday's lecture.
 - Lab 1 next week is designed to prepare you to complete this homework.
 
Sign up for a lab/discussion section on sections.cs61a.org.
- More spaces will open up tonight in case you don't have a section or need to switch.
 
Switching courses:
- You can request to enroll in Data 8 until Sunday 1/22 @ 11:59pm by filling out this form.
 - CS 10 strongly recommends new students join before Friday 1/27 and follow along on cs10.org. Join the waitlist (CalCentral) and fill out the CS 10 enrollment survey. Space is limited.
 - Join the Data C88C waitlist if you wish to enroll; there is a good chance that the waitlist will clear.
 
- Here is the archived Fall 2022 website.
 
Week 1 Class Material
- 
Lecture 1: Computer Science
 - 
Lecture 2: Functions
 - Week 1 Readings:
 - Disc 00: Getting Started
 
Wednesday, January 18
- Welcome to CS 61A!
 - Ed contains timely course announcements.
 - Discussion section begins this week! Find your section (and make changes) on sections.cs61a.org.
 Lab 0 is a take-home lab to get you set up. Try it this week!
- See the office hours calendar for help from the staff; 2pm-6pm Thursday 1/19 in 101B Warren & online.
 
- In-person lab section does not begin until Monday 1/23.
 - Here is the archived Fall 2022 website.
 
Week 1 Class Material
- 
Lecture 1: Computer Science
 - 
Lecture 2: Functions
 - Week 1 Readings:
 - Disc 00: Getting Started
 
Friday, January 13
- Welcome to CS 61A!
 - Ed contains timely course announcements.
 - Complete the section preference form by 11:59pm Sunday 1/15.
 - CS 61A does not use bCourses.
 - Discussion section begins Wednesday 1/18.
 - Lab section does not begin until Monday 1/23.
 - Here is the archived Fall 2022 website.
 
Week 1 Class Material
- 
Lecture 1: Computer Science
 - 
Lecture 2: Functions
 - Week 1 Readings:
 - Disc 00: Getting Started
 
Current Assignments
Calendar
| Week | Date | Lecture | Textbook | Lab & Discussion Links | Homework & Project | 
|---|---|---|---|---|---|
| 1 | Wed 1/18  | 
 | 
Disc 00: Getting Started
 Lab 00: Getting Started 
  Due
  Wed 1/25
 
 | 
||
| Fri 1/20  | 
HW 01: Functions, Control
 
  Due
  Thu 1/26
 
 | 
||||
| 2 | Mon 1/23  | 
Lab 01: Functions, Control
 
  Due
  Wed 1/25
 
 | 
|||
| Wed 1/25  | 
Disc 01: Control, Environment Diagrams | ||||
| Fri 1/27  | 
HW 02: Higher-Order Functions, Lambda Expressions
 
  Due
  Thu 2/2
 
 | 
||||
| 3 | Mon 1/30  | 
Lab 02: Higher-Order Functions, Lambda Expressions
 
  Due
  Wed 2/1
 
 | 
Hog
 
  Checkpt
  
  Tue 2/7
 
  Due
  Fri 2/10
 
 | 
||
| Wed 2/1  | 
 | 
Disc 02: Environment Diagrams, Higher-Order Functions | |||
| Fri 2/3  | 
 | 
Lab 03: Midterm Review (Optional)
 
  Due
  Mon 2/6
 
 | 
|||
| 4 | Mon 2/6  | 
No lecture: Midterm 1 (7pm-9pm) | |||
| Wed 2/8  | 
Disc 03: Recursion | ||||
| Fri 2/10  | 
HW 03: Recursion, Tree Recursion
 
  Due
  Fri 2/17
 
 | 
||||
| 5 | Mon 2/13  | 
Lab 04: Recursion, Tree Recursion, Python Lists
 
  Due
  Wed 2/15
 
 | 
|||
| Wed 2/15  | 
Disc 04: Tree Recursion, Python Lists | 
Cats
 
  Checkpt
  
  Tue 2/21
 
  Due
  Fri 2/24
 
 | 
|||
| Fri 2/17  | 
|||||
| 6 | Mon 2/20  | 
No Lecture: President's Day | 
Lab 05: Data Abstraction, Sequences
 
  Due
  Wed 2/22
 
 | 
||
| Wed 2/22  | 
Disc 05: Trees | ||||
| Fri 2/24  | 
HW 04: Trees, Data Abstraction
 
  Due
  Thu 3/2
 
 | 
||||
| 7 | Mon 2/27  | 
Lab 06: Mutability, Iterators
 
  Due
  Wed 3/1
 
 | 
|||
| Wed 3/1  | 
Disc 06: Mutability, Iterators, Generators | ||||
| Fri 3/3  | 
HW 05: Generators
 
  Due
  Thu 3/9
 
 | 
||||
| 8 | Mon 3/6  | 
Lab 07: Object-Oriented Programming
 
  Due
  Wed 3/8
 
 | 
|||
| Wed 3/8  | 
Disc 07: Object-Oriented Programming | ||||
| Fri 3/10  | 
HW 06: Object-Oriented Programming
 
  Due
  Thu 3/16
 
 | 
||||
| 9 | Mon 3/13  | 
Lab 08: OOP, Inheritance
 
  Due
  Wed 3/15
 
 | 
Ants
 
  Checkpt
  1
  Fri 3/17
 
  Checkpt
  2
  Tue 3/21
 
  Due
  Fri 3/24
 
 | 
||
| Wed 3/15  | 
Disc 08: OOP, Inheritance, String Representation | ||||
| Fri 3/17  | 
|||||
| 10 | Mon 3/20  | 
 | 
Lab 09: Mutable Trees, Efficiency
 
  Due
  Wed 3/22
 
 | 
||
| Wed 3/22  | 
 | 
Disc 09: Linked Lists, Efficiency, Mutable Trees | |||
| Fri 3/24  | 
Ask Us Anything (Optional) | 
 | 
HW 07: Linked Lists, Mutable Trees
 
  Due
  Thu 4/6
 
 | 
||
| 11 | Mon 3/27  | 
No Lecture: Spring Break | |||
| Wed 3/29  | 
No Lecture: Spring Break | ||||
| Fri 3/31  | 
No Lecture: Spring Break | ||||
| 12 | Mon 4/3  | 
 | 
Lab 10: Midterm Review (Optional)
 
  Due
  Wed 4/5
 
 | 
||
| Wed 4/5  | 
 | 
||||
| Fri 4/7  | 
No lecture: Midterm 2 (7pm-9pm) | ||||
| 13 | Mon 4/10  | 
Lab 11: Scheme
 
  Due
  Wed 4/12
 
 | 
HW 08: Scheme
 
  Due
  Thu 4/13
 
 | 
||
| Wed 4/12  | 
Disc 11: Scheme, Scheme Lists | ||||
| Fri 4/14  | 
HW 09: Scheme Lists
 
  Due
  Thu 4/20
 
(Optional) Scheme Contest 
  Due
  Tue 4/25
 
 | 
||||
| 14 | Mon 4/17  | 
Lab 12: Scheme Lists, Interpreters
 
  Due
  Wed 4/19
 
 | 
Scheme
 
  Checkpt
  1
  Fri 4/21
 
  Checkpt
  2
  Tue 4/25
 
  Due
  Fri 4/28
 
 | 
||
| Wed 4/19  | 
 | 
Disc 12: Interpreters, SQL | |||
| Fri 4/21  | 
 | 
||||
| 15 | Mon 4/24  | 
 | 
Lab 13: SQL
 
  Due
  Wed 4/26
 
 | 
HW 10: SQL
 
  Due
  Tue 5/2
 
 | 
|
| Wed 4/26  | 
 | 
Disc 13: Final Review | |||
| Fri 4/28  | 
 | 
HW 11: Finale
 
  Due
  Thu 5/4
 
Scheme Gallery 
  Due
  Thu 5/4
 
 | 
|||
| 16 | Mon 5/1  | 
No Lecture: RRR Week | |||
| Wed 5/3  | 
No Lecture: RRR Week | ||||
| Fri 5/5  | 
No Lecture: RRR Week | ||||
| 17 | Tue 5/9  | 
Final (11:30am-2:30pm) |