
| June 7 | The practice midterm is out. Attempt it and submit on Gradescope before July 6th. Reach out to your TAs for help. Midterm dat moved to July 12th. |
| Lab 3 is out and due on July 4 at 11:59 PM CAT. | |
| Homework 2 is out and due on July 2 at 11:59 PM CAT. | |
| Proj 1: The Game of HOG deadline has been extended and now due on June 26 at 11:59 PM CAT. | |
| Lab 1 autograder is live on Gradescope and the lab is now due on June 14 at 11:59 PM CAT. | |
| For those who are behind on Lab 0, continue working on it and rewach out to TAs for help. | |
| Read note01 to help you prepare for the first week's materials | |
| Please make sure that you are signed up on both Piazza and Gradescope. If not, reach out to the course staff for help. |
| Week | Date | Lecture Topic | Reading | Lab/Discussion | Homework | Project |
|---|---|---|---|---|---|---|
| 1 | Sun June 1 | New Students Orientation (Zoom Recording)(slides) | Lab 0: WorkFlow and Python Basics
Due Fri June 6
|
Mon June 02 | Course Overview (Video)(slide01) | |
| Wed June 4 | Expressions (Video)(slide02)(code02.py)(note01)(shakespeare.txt) | |||||
| Friday June 6 | Names and Functions (Video)(slide03)(code03.py)(note01) | |||||
| 2 | Mon June 9 | Control (Video)(slide04)(code04.py)(note01) |
Due Fri Jun 13
|
|||
| Wed June 11 | Higher Order Functions and Lambda Expressions (Video)(slide05)(code05.py)(note01) | Homework 1: Variables, Functions and Control
Due Fri Jun 20
|
||||
| Fri June 13 | Recursion (Video)(slide06)(code06.py) |
Due Fri June 20
|
Due Mon June 23
|
|||
| 3 | Mon June 16 | Tree Recursion (Video 1)(Video 2)(slide07)(code07.py) | ||||
| Wed June 18 | Data Abstraction (Video)(slide08)(code08.py) | |||||
| Fri June 20 | Sequences (Video)(slide09)(code09.py) | |||||
| 4 | Mon June 23 | Trees (Video)(slide10)(code10.py) | ||||
| Wed June 25 | Mutable Values | Lab 3: Lists, Abstraction, Recursion
Due Fri July 4
|
Due Wed July 2
|
|||
| Fri June 27 | Mutable Functions | |||||
| 5 | Mon June 30 | Objects and Classes | ||||
| Wed July 2 | Object Oriented Programming | Lab 4: Object Oriented Programming and Nonlocal
Due Tue July 30
|
||||
| Fri July 4 | Inheritance | |||||
| Sat July 5 | Midterm Review(Video) |
Due Sun July 6
|
||||
| 6 | Mon July 7 | Iterators and Generators | ||||
| Wed July 9 | Representation | |||||
| Fri July 11 | Composition | |||||
| Sat July 12 | Midterm Exam | |||||
| 7 | Mon July 14 | Hierachy |
Due Sun July 21
|
|||
| Wed July 16 | Efficiency | |||||
| Fri July 18 | Exceptions | |||||
| 8 | Mon July 21 | Declarative Programming | ||||
| Wed July 23 | Tables | |||||
| Fri July 25 | Recursive Select |
Due Wed August 6
|
||||
| 9 | Mon July 28 | Aggregation | ||||
| Wed July 30 | Regular Expressions | |||||
| Fri Aug 1 | Special Topic: Ray Tracing | |||||
| Sat Aug 2 | Final Exam Review | |||||
| 10 | Mon Aug 4 | Special Topic: TBD | ||||
| Wed Aug 6 | Special Topic: TBD | |||||
| Fri Aug 8 | Special Topic: TBD | |||||
| Sat Aug 9 | Final Exam | |||||
| 12 | Sat Aug 16 | Graduation |
| Sunday | Monday | Tuesday | Wednesday | Thursday | Friday | Saturday | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 9:00 | |||||||||||||||||||||
| 9:30 | |||||||||||||||||||||
| 10:00 | |||||||||||||||||||||
| 10:30 | |||||||||||||||||||||
| 11:00 | |||||||||||||||||||||
| 11:30 | |||||||||||||||||||||
| 12:00 | |||||||||||||||||||||
| 12:30 | |||||||||||||||||||||
| 13:00 | |||||||||||||||||||||
| 13:30 | |||||||||||||||||||||
| 14:00 | |||||||||||||||||||||
| 14:30 | |||||||||||||||||||||
| 15:00 | |||||||||||||||||||||
| 15:30 | |||||||||||||||||||||
| 16:00 | |||||||||||||||||||||
| 16:30 | |||||||||||||||||||||
| 17:00 | |||||||||||||||||||||
| 17:30 | |||||||||||||||||||||
| 18:00 | |||||||||||||||||||||
| 18:30 | |||||||||||||||||||||
| 19:00 | |||||||||||||||||||||
| 19:30 | |||||||||||||||||||||
| 20:00 | |||||||||||||||||||||