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.

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

More Recursion

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

Recursion

Recursion

This lecture references Videos 17.1-17.5.

Recursion is a powerful programming tool and one of the fundamental principles of computer science. It is used in many advanced algorithms.    More ›

October 12, 2023 handout slides demos

Nested Lists

Nested Lists

This lecture references Lesson 18.

This lecture explores lists in greater depth, both literally and metaphorically, As lists can contain any object, they can also contain other lsits.    More ›

October 5, 2023 handout slides demos