Lectures
Click on a lecture to see the summary of that day, together with optional reading or viewing. You can also download the slides and any demo code.
Because of recent changes in venue, we are not able record lectures in this course. You are expected to attend in order to learn the material. You may review the lesson videos recorded during COVID for supplemental instruction.
Inheritance
|
|
This lecture references Lesson 22. This lecture introduces subclasses, which can add extra functionality to an existing class. Subclasses and inheritance important parts of object-oriented programming. More › |
| November 4, 2025 | handout | no slides | demos |
Object-Oriented Design
|
|
This lecture references Videos 20.9-20.10 and Lesson 21. In the lecture on algorithm design, we talked about how to properly implement a function definition. In this lecture we do the same for classes. More › |
| October 30, 2025 | handout | slides | demos |
Classes
|
|
This lecture references Videos 20.1-20.8. Up until now, if we wanted to use objects, we imported a module that provided the class. In this lecture we finally learn how to create our own classes. More › |
| October 28, 2025 | handout | slides | demos |
Dictionaries
|
|
This lecture references Videos 19.1-19.7. This presentation explores the last built-in (as opposed to user-defined) type in this course. We also show how to store this data in files. More › |
| October 23, 2025 | handout | slides | demos |
More Recursion
|
|
This lecture references Videos 17.6-17.11. The divide-and-conquer examples we saw in the previous session were on the easy side. In this session we look at some much more challenging examples. More › |
| October 21, 2025 | handout | slides | demos |