A self-paced course for learners who know Python basics and want to write code that is clearer, easier to test, and ready for larger applications.
The course uses simple language first and then explains the engineering details. A school student can follow the examples in order, while a working developer can study the design notes, failure cases, and trade-offs.
You should be able to write a small Python program using variables, conditions, loops, strings, collections, functions, files, exceptions, and modules. You do not need to be an expert.
If several words in that sentence are unfamiliar, complete Python Basic first. Intermediate lessons deliberately build on those foundations.
- Read the Learning Guide.
- Complete Setup, including the readiness check.
- Follow the lessons in order using the Course Map.
- Type and change the examples instead of only reading them.
- Solve all ten practice problems in each lesson.
- Open one hint only after making a real attempt.
- Complete the projects and final assessment.
| Stage | Open |
|---|---|
| Course orientation | Learning Guide |
| Installation and readiness | Setup |
| Chapter 1 | Pythonic Python |
| Chapter 2 | Advanced Functions |
| Chapter 3 | Iterators and Generators |
| Chapter 4 | Decorators and Context Managers |
| Chapter 5 | Object-Oriented Python |
| Chapter 6 | Dataclasses and the Data Model |
| Chapter 7 | Modules, Packages, and Environments |
| Chapter 8 | Files and Serialization |
| Chapter 9 | Errors, Logging, and Testing |
| Chapter 10 | Regular Expressions |
| Chapter 11 | APIs and HTTP |
| Chapter 12 | SQLite and Databases |
| Chapter 13 | Command-Line Applications |
| Chapter 14 | Concurrency |
| Final practice | Projects · Interview Problems · Final Assessment |
- A simple mental picture before technical words
- Complete examples with explanations and expected behavior
- Important Python rules, common mistakes, and production cautions
- Bug Hunter exercises for learning to debug calmly
- Ten on-page practice problems
- Numbered hints and solution ideas, collapsed by default on the website
- A homework task and a checkpoint
- Data-processing pipelines using generators
- Reusable decorators and context managers
- Tested services with replaceable dependencies
- Safe JSON, CSV, API, and SQLite programs
- A command-line application with a clean architecture
- A measured concurrent file processor
Use this order:
- Say what the program should do in one sentence.
- Run the smallest example from the lesson.
- Read the final line of the error and find its line number.
- Print or inspect the values just before the failure.
- Open one matching hint.
- Ask for help with the code, input, full error, and what you already tried.
00-setup/— installation, virtual environment, and readiness check- Numbered folders — lessons in learning order
projects/— guided applications that combine lessonsinterview-problems/— mixed design and coding practicequizzes/— final assessment and review criteriaproblem-solving/— optional future printable archives; main practice stays in lessons