Zoom Archive

Click on a title to expand a Zoom presentation.

Sep. 3 › Course Overview
In this class we give an overview of the course and its expectations. While it will be recorded, everyone should strive to attend.   Watch ›

September 3, 2020 slides no demos
Sep. 8 › Visualizing Variables
In this class we do some interactive demos in which try to understand how to visualize and work with variables.   Watch ›

September 8, 2020 slides no demos
Sep. 10 › Functions and Modules
In this class we talk about how to import optional features into Python. We also show how to make program files we can run.   Watch ›

September 10, 2020 slides no demos
Sep. 15 › User-Defined Functions
In this class we will review how functions are defined, and how we visualize their execution.   Watch ›

September 15, 2020 slides no demos
Sep. 17 › Strings
In this class we review how to process text in Python. These techniques we are reinforcing will be used in the first assignment.   Watch ›

September 17, 2020 slides demos
Sep. 22 › Specifications and Testing
Both specifications and testing are critical for the first assignment. But many students struggle with them because they are so “fuzzy”.   Watch ›

September 22, 2020 slides demos
Sep. 24 › Conditionals
In this session we review conditionals, focusing on how we visualize them. This will be important for the second assignemnt.   Watch ›

September 24, 2020 slides demos
Sep. 29 › Algorithm Design
In this session we do a deep dive in how we might design a series of functions to acomplish a single task.   Watch ›

September 29, 2020 slides demos
Oct. 1 › Objects
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 ›

October 1, 2020 slides no demos
Oct. 6 › Memory in Python
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 ›

October 6, 2020 slides no demos
Oct. 8 › Asserts and Error Handling
In this session we review how we read error messages in Python. We also show how to both create errors and how to recover from them.   Watch ›

October 8, 2020 slides demos
Oct. 13 › Lists (and Sequences)
In this session we review the two new sequence data types: tuples, and lists. This is the last material on the first prelim.   Watch ›

October 13, 2020 slides demos
Oct. 15 › For-Loops
In this session, we review the for-loop, which is the next control structure. This is the last control structure we will need for a while.   Watch ›

October 15, 2020 slides no demos
Oct. 20 › Recursion
Recursion is a powerful programming tool and one of the fundamental principles of computer science. It is used in many advanced algorithms.   Watch ›

October 20, 2020 slides demos
Oct. 22 › More Recursion
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 ›

October 22, 2020 slides demos
Oct. 27 › Nested Lists and Dictionaries
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 ›

October 27, 2020 slides demos
Oct. 29 › Classes
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 ›

October 29, 2020 slides demos
Nov. 3 › Object-Oriented Design
In ths presentation, we will spend the time creating several example classes. This is another major part of the next exam.   Watch ›

November 3, 2020 slides demos
Nov. 5 › Inheritance
In this presentation, we continue with several of the classes that we worked on last time. But this time, we create subclasses of them.   Watch ›

November 5, 2020 slides demos
Nov. 10 › Operators and Abstraction
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 ›

November 10, 2020 slides demos
Nov. 12 › Dynamic Typing
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 ›

November 12, 2020 slides demos
Dec. 1 › GUI Applications
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 ›

December 1, 2020 slides demos
Dec. 3 › Generators
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 ›

December 3, 2020 slides demos
Dec. 8 › Coroutines
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 ›

December 8, 2020 slides demos
Dec. 10 › Course Wrap-Up
Given that pre-enroll is this weekend, we end the course with a discussion of where to go from here.   Watch ›

December 10, 2020 slides no demos