Lectures
Click on a lecture to see the video if it is available. Videos are restricted to a valid Cornell netid login. However, slides and demo code may be downloaded without a Cornell netid.
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 2, 2021 | handout | 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 a function definition. In this lecture we do the same for classes. More › |
October 28, 2021 | 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 26, 2021 | handout | slides | demos |
Nested Lists and Dictionaries
![]() |
This lecture references Lesson 18 and Videos 19.1-19.7. This presentation explores the last built-in (as opposed to user-defined) types in this course. These types are often used to store data in files. More › |
October 21, 2021 | 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 19, 2021 | handout | slides | demos |