PY101 · Winter 2026-27
From zero to your first real programs: 11 modules, labs, quizzes and a capstone project.
11 modules107 lessons14 assignments10 quizzes
A complete beginner course in Python programming: variables, decisions, loops, data structures, functions, files and errors, libraries and object-oriented programming, finishing with a capstone project. 11 modules, weekly practice labs, quizzes, discussions and graded assignments. No previous programming experience needed.
Lessons marked Free preview can be read without paying.
11. Getting Started with Python
12 lessons ▸
-
▶ Module 1 overviewFree preview
-
▶ Course schedule and gradingFree preview
-
▶ Welcome and how this course worksFree preview
-
🔒 What is Python and why learn it
-
🔒 Installing Python and setting up your editor
-
🔒 Your first programs: print, comments and errors
-
🔒 The Official Python Tutorial (optional reading)
-
🔒 Python Tutor: watch your code run step by step
-
🔒 Google Colab: run Python in your browser
-
🔒 Module 1 practice lab
-
🔒 Module 1 review: takeaways and common mistakes
-
🔒 Module 1 solutions
22. Variables, Data Types and Operators
10 lessons ▸
-
🔒 Module 2 overview
-
🔒 Variables and assignment
-
🔒 Numbers and arithmetic operators
-
🔒 Booleans, comparisons and None
-
🔒 Converting between types and common errors
-
🔒 How variables really work: names and values
-
🔒 Reading a traceback step by step
-
🔒 Module 2 practice lab
-
🔒 Module 2 review: takeaways and common mistakes
-
🔒 Module 2 solutions
33. Strings, Input and Output
8 lessons ▸
-
🔒 Module 3 overview
-
🔒 Strings: creating, indexing and slicing
-
🔒 String methods
-
🔒 Formatting output with f-strings
-
🔒 Getting input from the user
-
🔒 Module 3 practice lab
-
🔒 Module 3 review: takeaways and common mistakes
-
🔒 Module 3 solutions
44. Making Decisions
7 lessons ▸
-
🔒 Module 4 overview
-
🔒 if, elif and else
-
🔒 Combining conditions and truthiness
-
🔒 Nested conditions and the match statement
-
🔒 Module 4 practice lab
-
🔒 Module 4 review: takeaways and common mistakes
-
🔒 Module 4 solutions
55. Loops: Repeating Work
9 lessons ▸
-
🔒 Module 5 overview
-
🔒 while loops
-
🔒 for loops and range
-
🔒 break, continue and loop else
-
🔒 Nested loops and loop patterns
-
🔒 Tracing a loop by hand
-
🔒 Module 5 practice lab
-
🔒 Module 5 review: takeaways and common mistakes
-
🔒 Module 5 solutions
66. Data Structures: Lists, Tuples, Dictionaries and Sets
10 lessons ▸
-
🔒 Module 6 overview
-
🔒 Lists
-
🔒 List comprehensions and nested lists
-
🔒 Tuples and unpacking
-
🔒 Dictionaries
-
🔒 Sets
-
🔒 Putting it together: student records
-
🔒 Module 6 practice lab
-
🔒 Module 6 review: takeaways and common mistakes
-
🔒 Module 6 solutions
77. Functions: Reusable Building Blocks
12 lessons ▸
-
🔒 Module 7 overview
-
🔒 Defining and calling functions
-
🔒 Parameters in depth
-
🔒 Parameter traps and type hints (stretch)
-
🔒 Scope, docstrings and good design
-
🔒 Recursion
-
🔒 Functions as values: lambda, sorted, map and filter (stretch)
-
🔒 Tracing function calls and the call stack
-
🔒 Testing your functions with assert
-
🔒 Module 7 practice lab
-
🔒 Module 7 review: takeaways and common mistakes
-
🔒 Module 7 solutions
88. Files and Errors: Saving Data and Handling Problems
9 lessons ▸
-
🔒 Module 8 overview
-
🔒 Reading and writing text files
-
🔒 CSV and JSON
-
🔒 Exceptions and error handling
-
🔒 Debugging and testing your thinking
-
🔒 Where is my file? Paths and the working directory
-
🔒 Module 8 practice lab
-
🔒 Module 8 review: takeaways and common mistakes
-
🔒 Module 8 solutions
99. Modules and Libraries: Standing on the Shoulders of Others
8 lessons ▸
-
🔒 Module 9 overview
-
🔒 Importing and the standard library
-
🔒 Writing your own modules
-
🔒 Virtual environments and pip
-
🔒 Using a third-party package
-
🔒 Module 9 practice lab
-
🔒 Module 9 review: takeaways and common mistakes
-
🔒 Module 9 solutions
1010. Object-Oriented Programming
11 lessons ▸
-
🔒 Module 10 overview
-
🔒 Classes and objects
-
🔒 Special methods
-
🔒 Class attributes, class methods and static methods
-
🔒 Encapsulation and properties
-
🔒 Inheritance and polymorphism
-
🔒 Composition and dataclasses (stretch)
-
🔒 Following an object through a program
-
🔒 Module 10 practice lab
-
🔒 Module 10 review: takeaways and common mistakes
-
🔒 Module 10 solutions
1111. Professional Practice and Capstone Project
11 lessons ▸
-
🔒 Module 11 overview
-
🔒 Writing clean code with PEP 8
-
🔒 Testing your code
-
🔒 Planning and building a project
-
🔒 Where to go next
-
🔒 Module 11 practice lab
-
🔒 Module 11 review: takeaways and common mistakes
-
🔒 Module 11 solutions
-
🔒 The Python Tutorial (official)
-
🔒 PEP 8: Style Guide for Python Code
-
🔒 Python Standard Library reference