Site overview

All the materials are designed for the beginning programmer. They are intended to be self-contained. No previous experience is assumed.

Each module consists of a sequence of videos and exercises. It is recommended that they be completed in the order given.

video lesson icon

Language-independent videos

These videos present the concepts taught in a module that are universal to almost all programming languages. Keeping these separate from details of Python helps make it clear which ideas are transferable to other languages. They can also be useful for review or for learning another language.

python video icon

Python-specific videos

Here the concepts specific to Python are discussed, often with demonstrations of examples using a Python panel. Many of these examples are also available for you to load into a Python panel for your own further investigations and modifications.

exploration icon

Explorations

These hands-on exercises guide you through the concepts covered in the videos, giving you a chance to deepen your knowledge. Many have optional hints to check if you get stuck. All provide you with feedback on your work, which is automatically checked.

quickclick icon

Quickclicks

Each question can be answered by selecting the correct choice or choices or by filling in the answer in the box provided. Like the explorations, these are designed to increase, not test, your knowledge. Don't expect to get the correct answers right away. Using the feedback from incorrect answers is a good way to learn.