CS 61A: Structure and Interpretation of Computer Programs
Fall 2019
Instructor:
John DeNero
MW 2:10-3:00 in 1 Pimentel; F 2:10-3 in 105 Stanley
Final Exam is 3pm-6pm Thursday 12/19.
- Covers all course material through Friday 11/22.
- Bring up to 3 sheets of notes; we will provide 3 study guides (mt1, mt2, & final) and scratch paper.
- Screencasted review sessions by CS Mentors during RRR week regular lecture times & locations.
- Small topical review sessions will be announced on Piazza.
- Guerrilla section on streams and SQL 12pm-2pm Saturday 12/7 in Soda 271, 273, and 275.
- The CS 61A Project Fair is on Sunday 12/15.
Homework 11 due Friday 12/13 is worth 3 points!
- Complete the university course evaluation.
- Complete the 61A final online survey.
- Vote in the Scheme Recursive Art Contest.
- If all 3 are completed by at least 90% of students, then everyone who completed them gets an extra credit point!
Stay involved with 61A:
- Become an academic intern (lab assistant). Enrollment information will be posted to Piazza.
- Apply to CS 370: Introduction to Teaching Computer Science.
- Apply to CS Mentors.
- Apply to join the CS 61A course staff.
Update: Lecture videos will be posted for Friday 12/6 after all. (And they'll be good!)
- Stanley 105 (our Friday lecture hall) is very small
- A screencast of live lecture will be posted to bCourses/CalCentral shortly after lecture.
- Homework 10 is due Thurday 12/5.
- Guerrilla section on streams and SQL 12pm-2pm Saturday 12/7 in Soda 271, 273, and 275.
RRR week:
- screencasted review sessions by CS Mentors during the regular lecture times.
- vote on topical review sessions on piazza by Dec 5th 11:59pm: @2388
Optional Scheme Recursive Art Contest entries are due Monday 12/2.
- Please fill out the contest form in addition to submitting through ok.
- Homework 10 is due Thurday 12/5.
- The CS 61A Project Fair is on Sunday 12/15.
Update: Lecture videos will be posted for Friday 12/6 after all (and they'll be good!).
- Stanley 105 (our Friday lecture hall) is very small
- A screencast of live lecture will be posted to bCourses/CalCentral shortly after lecture.
- Guerrilla section on streams and SQL 12pm-2pm Saturday 12/7 in Soda 271, 273, and 275.
- RRR week: screencasted review sessions by CS Mentors during the regular lecture times.
Thanksgiving week is fully online:
- No live lab or office hours on Monday 11/25 or Tuesday 11/26.
- Video-only lecture Monday 11/25.
- Optional Scheme Recursive Art Contest entries are due Monday 12/2.
- Homework 10 is due Thurday 12/5.
- The CS 61A Project Fair is on Sunday 12/15.
- Scheme project is due Wednesday 11/20.
- Homework 9 is due Thurday 11/21.
Thanksgiving week is fully online:
- No live lab or office hours on Monday 11/25 or Tuesday 11/26.
- Video-only lecture Monday 11/25.
- Optional Scheme Recursive Art Contest entries are due Monday 12/2.
- Today (Wednesday 11/20) is your last chance to order a CS 61A shirt!
Scheme project is due Wednesday 11/20.
- Project party 6:30pm Monday 11/18 in 241 Cory.
- Complete the project by Tuesday 11/19 for an early submission bonus point.
- Homework 9 is due Thurday 11/21.
- No live lab or office hours during Thanksgiving week: 11/25 and 11/26.
- Video-only lecture Monday 11/25.
- Optional Scheme Recursive Art Contest entries are due Monday 12/2.
- Only 2 days left to order your CS 61A shirt! See Piazza for details.
Scheme project is due Wednesday 11/20.
- Complete the project by Tuesday 11/19 for an early submission bonus point.
- Guerrilla section on interpreters, tail recursion, and macros 12pm-2pm Saturday 11/16 in Soda 271, 273, and 275.
- Homework 9 is due Thurday 11/21.
- Optional Scheme Recursive Art Contest entries are due Monday 12/2.
- Only 5 days left to order your CS 61A shirt! See Piazza for details.
- Homework 8 is due Thurday 11/14 (very short).
Scheme project is due Wednesday 11/20.
- Checkpoint is due Thursday 11/14.
- Complete the project by Tuesday 11/19 for an early submission bonus point.
- Guerrilla section on interpreters, tail recursion, and macros 12pm-2pm Saturday 11/16 in Soda 271, 273, and 275.
- Optional Scheme Recursive Art Contest entries are due Monday 12/2.
- Order your CS 61A T-shirt today! See Piazza for details.
- Homework 8 is due Thurday 11/14 (very short).
- Cats composition revisions are due Tuesday 11/12.
Scheme project is due Wednesday 11/20.
- Checkpoint is due Thursday 11/14.
- Complete the project by Tuesday 11/19 for an early submission bonus point.
- Homework 7 is due Thursday 11/7.
- Cats composition revisions are due Tuesday 11/12.
Scheme project is due Wednesday 11/20.
- Complete the project by Tuesday 11/19 for an early submission bonus point.
- Checkpoint is due Thursday 11/14.
- The optional challenge version is posted.
Optional Project Fair 12:30-3:30 on Sunday 12/15.
- Register by Monday 11/16.
- Homework 6 and Lab 9 were extended to Monday 11/4.
- Please submit Midterm 2 regrade requests by Monday 11/4 (exam and solutions).
- Homework 7 is due Thursday 11/7.
- Cats composition revisions are due Tuesday 11/12.
Scheme project is due Wednesday 11/20.
- Complete the project by Tuesday 11/19 for an early submission bonus point.
- Checkpoint is due Thursday 11/14.
Optional Project Fair 12:30-3:30 on Sunday 12/15.
- Register by Monday 11/16.
- Homework 6 extended to Monday 11/4.
- Lab 9 extended to Monday 11/4.
- Homework 7 is due Thursday 11/7.
- Guerrilla section on Scheme this Saturday 11/2, 12pm-2pm in Soda 271, 273, 275.
- Please submit Midterm 2 regrade requests by Monday 11/4 (exam and solutions).
- Homework 6 extended to Friday 11/1.
- Please submit Midterm 2 regrade requests by Monday 11/4 (exam and solutions).
- Guerrilla section on Scheme this Saturday 11/2, 12pm-2pm in Soda 271, 273, 275.
- Video-only lecture Monday 10/28.
- Homework 6 extended to Friday 11/1.
- Students who missed lab on Monday are welcome to attend any lab on Tuesday or Wednesday.
Midterm 2 exam and solutions are posted.
- If you took the exam, you should have received an email from Gradescope with your graded exam.
- Please submit regrade requests by Monday 11/4.
- Video-only lecture Friday 10/25.
Homework 5 is due Tuesday 10/22.
- Homework party Monday 10/21 6:30pm-8pm in 241 Cory.
Midterm 2 is 8pm-10pm Thursday 10/24.
- Covers lecture content through Wednesday 10/16.
- You can bring two 2-sided sheets of handwritten notes.
We will provide:
- Midterm 1 Study Guide
- Midterm 2 Study Guide
- Scratch paper
- Seats assigned Wednesday 10/23.
- No lecture next Wednesday 10/23.
- No discussion section Wed 10/23 through Fri 10/25.
- Video-only lecture Friday 10/25.
The Ants Project deadline is extended to Friday 10/18.
- Extra office hours Friday 10/18 4pm-8pm in 430 Soda (Wozniak Lounge).
Guerrilla Section 12-2pm Saturday 10/19 in Soda 271, 273, 275.
- Topics covered: lists, mutation, trees, non-local assignment, linked lists, iterators, and generators.
- Homework 5 is due Tuesday 10/22.
Midterm 2 is 8pm-10pm Thursday 10/24.
- Covers lecture content through Wednesday 10/16.
- You can bring two 2-sided sheets of handwritten notes.
- Different treatment of orders of growth this semester.
- No
BTree
class covered in lecture this semester. - Seats assigned Wednesday 10/23.
- No lecture next Wednesday 10/23.
- No discussion section Wed 10/23 through Fri 10/25.
Guest additional topics lecture 5-6pm Wed 10/16 in 3106 Etcheverry.
- Rahul Arya describes how to build the GUI from the Cats project.
The Ants Project deadline is extended to Friday 10/18.
- Early submission bonus point deadline is extended to Thursday 10/17.
Guerrilla Section 12-2pm Saturday 10/19 in Soda 271, 273, 275.
- Topics covered: lists, mutation, trees, non-local assignment, linked lists, iterators, and generators.
- Homework 5 is due Tuesday 10/22.
Midterm 2 is 8pm-10pm Thursday 10/24.
- Covers lecture content through Wednesday 10/16.
- You can bring two 2-sided sheets of handwritten notes.
- Different treatment of orders of growth this semester.
- No
BTree
class covered in lecture this semester. - Seats assigned Wednesday 10/23.
- No lecture next Wednesday 10/23.
- No discussion section Wed 10/23 through Fri 10/25.
- Extra office hours Monday 10/14 3:30-6:30 in Soda 275.
Homework/Project party Monday 10/14 6:30-8pm in Cory 241.
- We will be prioritizing questions for Homework 4 and Phase 1&2 of Ants
- Homework 4 deadline is extended to Monday 10/14 @ 11:59pm due to class cancellations.
- Hog Composition Revision deadline is extended to Monday 10/14.
- Lab 6 deadline is extended to Monday 10/14.
The Ants Project deadline is extended to Friday 10/18.
- Checkpoint deadline is extended to Tuesday 10/15.
- Early submission bonus point deadline is extended to Thursday 10/17.
- Homework 5 is due Tuesday 10/22.
- Midterm 2 is 8pm-10pm Thursday 10/24.
- Lecture 19 (Friday 10/11) is an online-only lecture.
- Online office hours Friday 10/11 1pm-3pm.
- Extra office hours Monday 10/14 3:30-6:30 in Soda 275.
- Homework/Project party Monday 10/14 6:30-8pm in Cory 241.
- Extra office hours Friday 10/18, time and location TBD.
- Homework 4 deadline is extended to Monday 10/14 @ 11:59pm due to class cancellations.
- Hog Composition Revision deadline is extended to Monday 10/14.
- Lab 6 deadline is extended to Monday 10/14.
- All students will receive discussion attendance credit this week.
The Ants Project deadline is extended to Friday 10/18.
- Checkpoint deadline is extended to Tuesday 10/15.
- Early submission bonus point deadline is extended to Thursday 10/17.
- Online discussion section Friday 10/11 5pm-6:30pm.
- Lecture 18 (Wednesday 10/09) is an online-only lecture.
- Homework 4 deadline is extended to Monday 10/14 @ 11:59pm due to class cancellations.
- Hog Composition Revision deadline is extended to Monday 10/14.
- Lab 6 deadline is extended to Monday 10/14.
- All students will receive discussion attendance credit this week.
The Ants Project deadline is extended to Friday 10/18.
- Checkpoint deadline is extended to Tuesday 10/15.
- Early submission bonus point deadline is extended to Thursday 10/17.
- Guest lectures next Monday 10/7 (Catherine Cang) and Wednesday 10/9 (Kavi Gupta).
- Additional topics guest lecture next Wednesday 10/9 @ 5pm (Rahul Arya).
- Homework 4, due Thursday 10/10, is long and worth 4 points.
- Hog Composition Revisions are due Thursday 10/10.
The Ants Project is due Thursday 10/17.
- Checkpoint due Monday 10/14.
- Early submission bonus point for submitting by Wednesday 10/16.
- Guest lectures next Monday 10/7 (Catherine Cang) and Wednesday 10/9 (Kavi Gupta).
- Additional topics guest lecture next Wednesday 10/9 @ 5pm (Rahul Arya).
- Homework 4, due Thursday 10/10 (not this week), is long and worth 4 points.
- Hog Composition Revisions are due Thursday 10/10.
The Cats project is due Thursday 10/3 @ 11:59pm.
- Early submission bonus point for submitting by Wednesday 10/2.
- Some tips for implementing each function are posted to Piazza.
- Homework 4, due Thursday 10/10 (not this week), is long and worth 4 points.
- Hog Composition Revisions are due Thursday 10/10.
The Cats project is due Thursday 10/3 @ 11:59pm.
- Project party on Monday 9/30 @ 6:30-8:00pm in Cory 241
- Phase 1 checkpoint due Monday 9/30.
- Early submission bonus point for submitting by Wednesday 10/2.
- Some tips for implementing each function are posted to Piazza.
- Homework 4, due Thursday 10/10 (not this week), is long and worth 4 points.
- Hog Composition Revisions due Thursday 10/10; see details on Piazza
The Cats project is due Thursday 10/3 @ 11:59pm.
- Early submission bonus point for submitting by Wednesday 10/2.
- Phase 1 checkpoint due Monday 9/30.
- You may work with a partner on the whole project.
- Some tips for implementing each function are posted to Piazza.
Guerrilla Section on Saturday 9/28 12-2pm in Soda 271, 273, 275
- Topics: Recursion, Tree Recursion
- Homework 4, due Thursday 10/10 (not next week), is worth 4 points.
- Homework 3 is due Thursday 9/26 @ 11:59pm.
- Overflow lecture 13 on Thursday 9/26 @ 8:10pm in 306 Soda.
- Hog Contest awards will be presented Friday 9/28 in lecture.
The Cats project is due Thursday 10/3 @ 11:59pm.
- Phase 1 checkpoint due Monday 9/30.
- Early submission bonus point for submitting by Wednesday 10/2.
- You may work with a partner on the whole project.
- No additional topics lecture today.
Guerrilla Section on Saturday 9/28 12-2pm in Soda 271, 273, 275
- Topics: Recursion, Tree Recursion
- Midterm 1 regrade requests are due Monday 9/23 @ 11:59pm.
The completely optional Hog Strategy Contest ends 11:59pm on Monday 9/23.
- (nearly) live results are posted to hog-contest.cs61a.org.
The Cats project is due Thursday 10/3 @ 11:59pm.
- Phase 1 checkpoint due Monday 9/30.
- Early submission bonus point for submitting by Wednesday 10/2.
- You may work with a partner on the whole project.
- Midterm 1 regrade requests are due Monday 9/23 @ 11:59pm.
The completely optional Hog Strategy Contest ends 11:59pm on Monday 9/23.
- (nearly) live results are posted to hog-contest.cs61a.org.
- Homework 3 is due Thursday 9/26 @ 11:59pm.
The Midterm 1 exam and solution are posted.
- You should have received an email from Gradescope with your scored exam.
- Regrade requests are due Monday 9/23 @ 11:59pm.
The completely optional Hog Strategy Contest ends 11:59pm on Monday 9/23.
- (nearly) live results are posted to hog-contest.cs61a.org.
- Additional Topics Lecture 3 is 5-6pm Wednesday 9/18 in 3106 Etcheverry.
- Discussion sections do meet this week.
Guerrilla Section on Saturday 9/14 12-2pm in Soda 271, 273, 275
- Topics: Control, Environment Diagrams, Higher-Order Functions
- See Piazza Post for more details.
- CS Mentors sign-ups open 12:30pm Friday 9/13.
Midterm 1 is 7pm-9pm Monday 9/16. (No lecture that day.)
- Seat assignments will be sent Sunday 9/15.
- If you are left handed or need a special seat, let us know your seating preference by Sat 9/14.
- Let us know by Sat 9/14 if you have a time conflict using this form (even if you emailed us already).
- You may bring 1 sheet of notes. We will provide scratch paper and the Midterm 1 Study Guide.
- See Piazza for more Midterm 1 information.
- The completely optional Hog Strategy Contest ends 11:59pm on Monday 9/23.
The Hog project is due Thursday 9/12 @ 11:59pm.
- Complete the whole project by Wednesday 9/11 to earn an early submission bonus point!
- Homework 2 is due Thursday 9/12 @ 11:59pm.
- Additional Topics Lecture 2 is 5-6pm Wednesday 9/11 in 3106 Etcheverry.
Guerrilla Section on Saturday 9/14 12-2pm in Soda 271, 273, 275
- Topics: Control, Environment Diagrams, Higher-Order Functions
- See Piazza Post for more details.
Midterm 1 is 7pm-9pm Monday 9/16. (No lecture that day.)
- Seat assignments will be sent Sunday 9/15.
- If you are left handed or need a special seat, let us know your seating preference by Sat 9/14.
- Let us know by Sat 9/14 if you have a time conflict using this form (even if you emailed us already).
- You may bring 1 sheet of notes. We will provide scratch paper and the Midterm 1 Study Guide.
- See Piazza for more Midterm 1 information.
Alternate times for this week's lectures:
- Lecture 6 @ 8pm Monday 9/9 in 150 Wheeler
- Lecture 7 @ 8pm Wednesday 9/11 in 150 Wheeler
- Lecture 8 @ 8pm Thursday 9/12 in 150 Wheeler
The Hog project is due Thursday 9/12 @ 11:59pm.
- Complete the whole project by Wednesday 9/11 to earn an early submission bonus point!
- Checkpoint 1 (Phase 1 out of 3) is due Monday 9/9 @ 11:59pm. Solve this part by yourself and then
python3 ok --submit
. - You can work with a partner on Phases 2 & 3 once you have submitted Phase 1 on your own.
- Homework 2 is due Thursday 9/12 @ 11:59pm.
Guerrilla Section on Saturday 9/14 12-2pm in Soda 271, 273, 275
- Topics: Control, Environment Diagrams, Higher-Order Functions
- See Piazza Post for more details.
- Midterm 1 is 7pm-9pm Monday 9/16. (No lecture that day.)
- Additional Topics Lecture 2 is 5-6pm Wednesday 9/11 in 3106 Etcheverry.
Alternate times for this week's lectures:
- Lecture 6 @ 8pm Monday 9/9 in 150 Wheeler
- Lecture 7 @ 8pm Wednesday 9/11 in 150 Wheeler
- Lecture 8 @ 8pm Thursday 9/12 in 150 Wheeler
The Hog project is due Thursday 9/12 @ 11:59pm.
- Complete the whole project by Wednesday 9/11 to earn an early submission bonus point!
- Checkpoint 1 (Phase 1 out of 3) is due Monday 9/9 @ 11:59pm. Solve this part by yourself and then
python3 ok --submit
. - You can work with a partner on Phases 2 & 3 once you have submitted Phase 1 on your own.
- Homework 2 is due Thursday 9/12 @ 11:59pm.
- Midterm 1 is 7pm-9pm Monday 9/16. (No lecture that day.)
- Homework 1 is due Thursday 9/5 @ 11:59pm.
The Hog project is due Thursday 9/12 @ 11:59pm.
- Complete the whole project by Wednesday 9/11 to earn an early submission bonus point!
- Checkpoint 1 (Phase 1 out of 3) is due Monday 9/9 @ 11:59pm. Solve this part by yourself and then
python3 ok --submit
. - You can work with a partner on Phases 2 & 3 once you have submitted Phase 1 on your own.
- The first Additional Topics lecture will be held 5-6 Wednesday 9/4 in 3106 Etcheverry.
- Find a partner and meet advisors at the CS 61A student mixers: Wed 9/4 1:30-3 and Thurs 9/5 3:30-5 in Wozniak Lounge (Soda 430).
- Come to office hours for help. No appointment necessary.
- Homework 1 is due Thursday 9/5 @ 11:59pm.
The Hog project is due Thursday 9/12 @ 11:59pm.
- Checkpoint 1 (Phase 1 out of 3) is due Monday 9/9 @ 11:59pm. Solve this part by yourself.
- You can work with a partner on Phases 2 & 3 once you have submitted Phase 1 on your own.
- Complete the whole project by Wednesday 9/11 to earn an early submission bonus point.
Lab 1 will be held on Tuesday 9/3 and Wednesday 9/4.
- Students who would normally have lab on Monday 9/2 should instead attend a bring-your-own-computer lab on Tuesday 9/3, either 11-12:30, 12:30-2, or 3:30-5 in Wozniak Lounge (Soda 430). If you can't do that, try to attend any other lab on Tuesday or Wednesday.
- Please fill out this info request form about CS 47A by 11:59pm Monday 9/2 if you think you should pass out of CS 61A because you know the content already.
- John DeNero has extended office hours this week in 781 Soda: 1-2 Tuesday, 11-1 Wednesday, and 11-1 Thursday.
- The first Additional Topics lecture will be held 5-6 Wednesday 9/4 in 3106 Etcheverry.
- Find a partner and meet advisors at the CS 61A student mixers: Wed 9/4 1:30-3 and Thurs 9/5 3:30-5 in Wozniak Lounge (Soda 430).
- More lab and discussion section signup slots are now available.
- Homework 1 is due Thursday 9/5 @ 11:59pm. It is based on lectures 1, 2, and 3.
Lab 0 is a take-home tutorial on how to set up your computer.
- Try to finish before lab next week, but if you don't, come to lab for help.
Lab 1 will be held on Tuesday 9/3 and Wednesday 9/4.
- Students who would normally have lab on Monday 9/2 should instead attend a bring-your-own-computer lab on Tuesday 9/3, either 11-12:30 or 12:30-2 in Wozniak Lounge (Soda 430). If you can't do that, try to attend any other lab on Tuesday or Wednesday.
- Lecture 2 (Fri 8/30) will be held 2:10pm-3pm in Zellerbach Hall.
Lecture 3 (Mon 9/2) is online only: just a set of videos posted to cs61a.org with no live lecture (because of the holiday).
- Videos will be released Friday 8/30 so that you can get started on Homework 1.
- Lecture 4 (Wed 9/4) will be held twice: 2pm in 1 Pimentel and 8pm in 150 Wheeler. Every enrolled student will get an email early next week with instructions on where to go. If you're not enrolled but want to come, you must come to the 8pm lecture (or watch videos).
- More lab and discussion section signup slots will open up over the weekend. If you're not signed up yet, we will email you when slots open up.
- Please fill out this info request form about CS 47A by 11:59pm Monday 9/2 if you think you should pass out of CS 61A because you know the content already.
Office Hours:
- Drop-in office hours to help with lab 0 are 3:10-4 Friday 8/30 in Soda 373.
- John DeNero's office hours start next Tuesday, 9/3. His weekly office hours are 1-2 Tuesdays and 11-12 Wednesday.
- Next week only, John DeNero will hold extra office hours 12-1 Wednesday and 11-1 Thursday.
- Individual appointments with John DeNero are available on denero.org/meet.html.
- Course staff office hours will begin next Tuesday 9/3. The schedule will be posted soon.
- Welcome to CS 61A!
- Join Piazza for announcements and answers to your questions.
- The first (Wed 8/28) and second (Fri 8/30) lectures will be held 2:10pm-3pm in Zellerbach Hall.
- Sign up for lab and discussion sections starting 2pm Monday 8/26.
- Lab 0 is a take-home tutorial on how to set up your computer.
Office Hours:
- The staff will hold drop-in office hours to help with lab 0 from 3:10-4 Friday 8/30 in Soda 373.
- John DeNero's office hours start next Tuesday, 9/3. His weekly office hours are 1-2 Tuesdays and 11-12 Wednesday.
- Next week only, John DeNero will hold extra office hours 12-1 Wednesday and 11-1 Thursday.
- Individual appointments with John DeNero are available on denero.org/meet.html.
- Course staff office hours will begin next Tuesday 9/3. The schedule will be posted soon.
- Lecture on Monday 9/2 is online only, just a set of videos posted to cs61a.org with no live lecture (because of the holiday).
Students who would normally have lab on Monday 9/2 should instead either attend:
- One of the two special bring-your-own-computer lab sessions at 11-12:30 or 12:30-2 in Wozniak Lounge (Soda 430) on Tuesday 9/3.
- Any lab on Tuesday or Wednesday if you want to use our computers or can't attend either of the special labs above.
- Welcome to CS 61A!
- Join Piazza for announcements and answers to your questions.
- The first (Wed 8/28) and second (Fri 8/30) lectures will be held 2:10pm-3pm in Zellerbach Hall.
- Sign up for lab and discussion sections starting 2pm Monday 8/26.
- The Summer 2019 website has moved to su19.cs61a.org.
Week | Date | Lecture | Textbook | Lab and Discussion Links | Homework & Project |
---|---|---|---|---|---|
1 | Mon 8/26 |
Lab 00: Getting Started
Fri 9/6
|
|||
Wed 8/28 |
Functions
|
|
Disc 00: Getting Started
|
||
Fri 8/30 |
Names
|
HW 01
Thu 9/5
|
|||
2 | Mon 9/2 |
Control
|
Lab 01: Variables & Functions, Control
Fri 9/6
|
Hog
Thu 9/12
|
|
Wed 9/4 |
Higher-Order Functions
|
Disc 01: Environment Diagrams, Control
|
|||
Fri 9/6 |
Environments
|
HW 02
Thu 9/12
|
|||
3 | Mon 9/9 |
Iteration
|
|
Lab 02: Higher-Order Functions, Lambda Expressions
Fri 9/13
|
|
Wed 9/11 |
Design
|
|
Disc 02: Higher-Order Functions
|
Hog Contest
Mon 9/23
|
|
Fri 9/13 |
Function Examples
|
|
Guerrilla 00: Higher-Order Functions, Environment Diagrams, Control
|
||
4 | Mon 9/16 |
Midterm 1 (7-9 PM) | |||
Wed 9/18 |
Recursion
|
Disc 03: Recursion
|
HW 03
Thu 9/26
|
||
Fri 9/20 |
Tree Recursion
|
||||
5 | Mon 9/23 |
Containers
|
Lab 04: Recursion, Python Lists
Fri 9/27
|
Cats
Thu 10/3
|
|
Wed 9/25 |
Data Abstraction
|
Disc 04: Tree Recursion
|
|||
Fri 9/27 |
Trees
|
Guerrilla 01: Recursion, Tree Recursion
|
HW 04
Mon 10/14
|
||
6 | Mon 9/30 |
Mutable Values
|
Lab 05: Data Abstraction, Trees
Fri 10/4
|
||
Wed 10/2 |
Mutable Functions
|
Disc 05: Trees, Mutability, Nonlocal
|
|||
Fri 10/4 |
Iterators
|
||||
7 | Mon 10/7 |
Objects
|
Lab 06: Nonlocal, Object-Oriented Programming
Mon 10/14
|
Ants
Fri 10/18
|
|
Wed 10/9 |
Inheritance
|
Disc 06: Mutability, Object-Oriented Programming
|
|||
Fri 10/11 |
Representation
|
HW 05
Tue 10/22
|
|||
8 | Mon 10/14 |
Composition
|
Lab 07: Iterators & Generators, Linked Lists, Mutable Trees
Fri 10/18
|
||
Wed 10/16 |
Efficiency
|
Disc 07: Linked Lists, Trees, Iterators & Generators
|
|||
Fri 10/18 |
Decomposition
|
|
Guerrilla 02: Python Lists, Data Abstraction, Trees, Nonlocal, Iterators & Generators, Object-Oriented Programming, Mutable Trees
|
||
9 | Mon 10/21 |
Data Examples
|
|
Lab 08: Midterm Review
Fri 10/25
|
|
Wed 10/23 |
No Lecture: MT2 on Thursday | ||||
Thu 10/24 |
Midterm 2 (8-10 PM) | ||||
Fri 10/25 |
Users
|
|
HW 06
Mon 11/4
|
||
10 | Mon 10/28 |
Scheme
|
Lab 09: Scheme
Fri 11/1
|
||
Wed 10/30 |
Exceptions
|
Disc 09: Scheme
|
|||
Fri 11/1 |
Calculator
|
Guerrilla 03: Scheme
|
HW 07
Thu 11/7
|
||
11 | Mon 11/4 |
Interpreters
|
Lab 10: Interpreters
Fri 11/8
|
Scheme
Wed 11/20
Scheme Challenge Version
Wed 11/20
|
|
Wed 11/6 |
Tail Calls
|
Disc 10: Interpreters, Tail Recursion
|
|||
Fri 11/8 |
Macros
|
|
HW 08
Thu 11/14
|
||
12 | Mon 11/11 |
No Lecture: Veterans' Day |
Lab 11: Macros
Fri 11/15
|
||
Wed 11/13 |
Streams
|
|
Disc 11: Streams, Macros
|
Scheme Contest
Mon 12/2
|
|
Fri 11/15 |
Declarative Programming
|
Guerrilla 04: Tail Recursion, Interpreters, Macros
|
HW 09
Thu 11/21
|
||
13 | Mon 11/18 |
Tables
|
Lab 12: Streams, SQL
Fri 11/22
|
||
Wed 11/20 |
Aggregation
|
Disc 12: SQL
|
|||
Fri 11/22 |
Databases
|
HW 10
Thu 12/5
|
|||
14 | Mon 11/25 |
Distributed Data
|
|
Lab 13: More SQL (optional)
Fri 11/29
|
|
Wed 11/27 |
No Lecture: Thanksgiving | ||||
Fri 11/29 |
No Lecture: Thanksgiving | ||||
15 | Mon 12/2 |
Natural Language
|
|
Lab 14: Final Review
Fri 12/6
|
|
Wed 12/4 |
Final Examples
|
|
Disc 14: Final Review
|
||
Thu 12/5 |
Scheme Gallery
Mon 12/2
|
||||
Fri 12/6 |
Conclusion
|
|
Guerrilla 05: Streams, SQL
|
HW 11
Fri 12/13
|
|
16 | Thu 12/19 |
Final (3-6 PM) |