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

Nested Lists and Dictionaries

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 20, 2022 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 18, 2022 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 13, 2022 handout slides demos

For-Loops

For-Loops

This lecture references Videos 16.1-16.7.

Lists (and sequences) come with their own special control structure: the for-loop. This is the last traditional control structure we will see for a while.    More ›

October 4, 2022 handout slides demos