In this session we use the Python visualizer to help us better understand objects, a new type of data. For many students this is the first big difficulty jump in this course.
Watch ›
In this session we take a closer look at the three memory areas of Python. This will help us understand what the Python Tutor is showing when we write more complex programs in the future.
Watch ›
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.
Watch ›
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.
Watch ›
In this presentation, we review the class definition. We look at both the syntax (what must be present for the definition to work) and the semantics (how it is processed in Python).
Watch ›
in this presentation we review the Python data model, showing off the various operators we can define in Python. This is an area where Python is much more advanced than older object-oriented languages like Java.
Watch ›
Our last presentation on classes reviews the issue of typing, and why this has become much trickier with the introduction of subclasses. This is the last material convered in the second exam.
Watch ›
In this presentation we talk more about the game2d module that is used in the final assignment. This module contains all of the clases you will subclass.
Watch ›
In this presentation we will review, generators which lead into the last major topic of the course (coroutines). Once again, this will involve a lot of visualization.
Watch ›
Generators may seem like a weird detour for this late in the course. But in this presentation, we show how they are used in graphics and animation.
Watch ›