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.

While Loops

While Loops

This lecture references Lesson 26.

Today we introduce while-loops, which are an alternate form of iteration. We show why they are different from for-loops, and when to use them.    More ›

November 10, 2022 handout slides demos

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

Operators and Abstraction

Operators and Abstraction

This lecture references Videos 23.1-23.7.

We have seen several mysterious double-underscore methods in Python classes. In this lecture show why these methods are so important.    More ›

November 3, 2022 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 1, 2022 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 27, 2022 handout slides demos