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) |