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.

Operators and Abstraction

Operators and Abstraction

This lecture references Videos 23.1-23.7.

Now that we have covered everything we need for Assignment 6, it is time to return to classes. In this lecture we will talk about the mysterious double-underscore methods that we keep seeing in Python.    More ›

November 6, 2025 handout slides demos

Inheritance

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 slides demos

Object-Oriented Design

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

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

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