Learn Python by writing real Python
Every exercise is run by real Python (CPython 3.14, compiled to WebAssembly), inside your browser, on your own device. The lessons follow the University of Helsinki's Python Programming MOOC, from your first print to classes, recursion, regular expressions and games with pygame, with their own explanations and exercises.
All 65 modules are online: 58 following the MOOC (Introduction to Programming and the Advanced Course in Programming) and 7 extra modules of Python Arena's own (Data structures and algorithms), with 276 steps and 828 challenges.
- Module 1: Printing and comments
- Module 2: Information from the user
- Module 3: Variables and f-strings
- Module 4: Arithmetic operations
- Module 5: Conditional statements
- Module 6: Programming terminology
- Module 7: More conditionals
- Module 8: Combining conditions
- Module 9: Simple loops
- Module 10: Loops with conditions
- Module 11: Working with strings
- Module 12: More loops
- Module 13: Defining functions
- Module 14: More functions
- Module 15: Lists
- Module 16: Definite iteration
- Module 17: Print statement formatting
- Module 18: More strings and lists
- Module 19: More lists
- Module 20: References
- Module 21: Dictionary
- Module 22: Tuple
- Module 23: Reading files
- Module 24: Writing files
- Module 25: Handling errors
- Module 26: Local and global variables
- Module 27: Modules
- Module 28: Randomness
- Module 29: Times and dates
- Module 30: Data processing
- Module 31: Creating your own modules
- Module 32: More Python features
- Module 33: Objects and methods
- Module 34: Defining classes
- Module 35: Defining methods
- Module 36: More examples of classes
- Module 37: Objects and references
- Module 38: Objects as attributes
- Module 39: Encapsulation
- Module 40: Class attributes
- Module 41: Class hierarchies
- Module 42: Access modifiers
- Module 43: Object oriented programming techniques
- Module 44: Developing a larger application
- Module 45: List comprehensions
- Module 46: More comprehensions
- Module 47: Recursion
- Module 48: More recursion examples
- Module 49: Functions as arguments
- Module 50: Generators
- Module 51: Functional programming
- Module 52: Regular expressions
- Module 53: Pygame
- Module 54: Animation
- Module 55: Events
- Module 56: More pygame techniques
- Module 57: Game project
- Module 58: Your own game
- Module 59: Complexity and searching Extra
- Module 60: Sorting algorithms Extra
- Module 61: Hash tables Extra
- Module 62: Trees and heaps Extra
- Module 63: Graphs Extra
- Module 64: Recursion and backtracking Extra
- Module 65: Dynamic programming Extra
- All modules
Practice: Deathmatch drills, the daily challenge and a placement quiz.
Interview prep: interview questions to drill, the modules on data structures and algorithms, which technique fits which problem, and what Python's operations cost.
Projects: larger programs built over several milestones.
Pro Track: after the course, projects to build on your own computer with Python and pytest tests.