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.

Advanced Error Handling

Advanced Error Handling

This lecture references Lesson 24, 25.

We saw how to handle errors in previous lecture. But now that we have classes, we can do so much more. This is why we are going to revist the topic.    More ›

November 9, 2023 handout slides demos

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 7, 2023 handout slides demos

While Loops

While Loops

This lecture references Lesson 26.

While there is still much to say about classes, today we take a break to cover one last form of iteration: the while-loop. We need to cover this in order for you to complete the current assignment.    More ›

November 2, 2023 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 ›

October 31, 2023 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 a function definition. In this lecture we do the same for classes.    More ›

October 26, 2023 handout slides demos