This is an optional set of videos to help you get started with Python. However, all of this information can be found elsewhere on this website.
Watch ›
In this series of videos, we introduce the concept of a variable, and with it, the assignment statement. This is what many consider the start of real programming.
Watch ›
In this series of videos, we introduce the concept of a function call. Function calls provide us with even more expressions to enter in Python. In a few cases they will even give us additional commands.
Watch ›
In this series of videos, we show how to save our work into .py files called modules. This will require that we install a second program: a code editor.
Watch ›
Do we really need a series of videos about comments? Yes we do! As we see in this video series, proper documentation is even more important than code.
Watch ›
In this video series, we demonstrate the difference between program structure and program flow. We also introduce our first control structure: the conditional.
Watch ›
Your first assignment is very much do-this/do-that. In this video series we step back and see how we would design a complex program from the beginning.
Watch ›
Now that we have objects, we have all of the tools to properly visualize what is going on when we execute Python. In this lesson we see how everything fits together.
Watch ›
In this lesson we show how to use our understanding of Python memory to read error messages. We also show how to create our own error messages and why
Watch ›
In this lesson we introduce two more sliceable data types: tuples and lists. They are similar to strings, except that they can contain data other than text.
Watch ›
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.
Watch ›
In this lesson we introduce recursion, a powerful programming tool and one of the fundamental principles of computer science. It is used in many advanced algorithms.
Watch ›
Lists can contain anything – even other lists. In this lesson we show why this is so important and what we have to look out for when using nested lists.
Watch ›
This lesson introduces the dictionary, which is the last built-in (as opposed to user-defined) type in this course. Many people consider this to be the most important type in Python.
Watch ›
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.
Watch ›
In the video series on algorithm design, we talked about how to properly implement a a function definition. In this lesson we do the same for classes.
Watch ›
Subclasses an another major feature of object-oriented languages. They allow you to add features to a class without starting over from scratch.
Watch ›
Typing is the act of determining the type of a value. While we have used this a lot when enforcing preconditions, subclasses makes this a little more complicated.
Watch ›
Now that we understand typing, it is time to revist try-except statements. In this video series, we show how to customize our try-except to different error types.
Watch ›
In this series we introduce while-loops, which are an alternate form of iteration. This is the last true control-structure introduced in this course.
Watch ›
Now that we understand both loops and classes, we can make complex graphical applications. This will be the focus of the final assignemnt in the course.
Watch ›
Searching and sorting are two topics that are fundamental to computer science. In this video series we explore just a few examples of sorting algorithms.
Watch ›