Free to read ยท Three levels
Python: from first programs to maintainable systems
A complete bilingual theory course in Python programming, with traced examples, worked exercises, and reliable engineering practices.
Start learningIn this course
Learn Python by reasoning about names, objects, control flow, and contracts before scaling to modules, tests, data pipelines, and maintainable interfaces. Each level contains six substantial lessons with explained examples, common failures, worked exercises, and official references.
Runnable examples are self-contained and use only the Python standard library. They use synthetic data and temporary or in-memory storage, with an explicit Python 3.11 baseline and version-specific discussion where newer interpreter behavior matters.
What you will learn
- Trace values, mutation, control flow, and function calls accurately.
- Build validated record pipelines and focused regression tests.
- Use protocols, generators, decorators, and context managers deliberately.
- Choose concurrency with explicit lifetime and build assumptions.
- Measure performance and maintain safe, documented package APIs.
Your learning path
Three levels
Foundations
Build and trace small programs with explicit values, control flow, functions, collections, and files.
- Running Python and reasoning about a program
- Values, types, and expressions
- Decisions, loops, and invariants
- Functions, contracts, and scope
- Collections and Unicode text
- Files and structured data
Reliable programs
Organize modules, validate records, model state, and verify behavior through focused tests.
- Modules, packages, and isolated environments
- Errors, exceptions, and debugging
- Testing contracts with the standard library
- Comprehensions and iterator pipelines
- Classes, dataclasses, and ownership
- Reliable records, CSV, and time
Maintainable systems
Design behavioral interfaces, manage lazy and concurrent work, measure costs, and protect package boundaries.
- Protocols, special methods, and type contracts
- Generators, delegation, and bounded streams
- Decorators and resource contexts
- Async, threads, processes, and the GIL
- Profiling, algorithmic cost, and memory
- Maintainable packages, safe boundaries, and APIs
Who this is for
- New programmers willing to trace small examples.
- Developers strengthening testing, data processing, and API design.
Before you start
- Basic computer and text-editor skills.
- Python 3.11 or later for running examples; no external packages are needed.