
Python
Start with print() and finish writing typed, tested, async Python. One project grows with you the whole way.
- 20 modules
- 133 lessons
- Shallows to Landfall
- Video + reading
What you'll be able to do
- Write clean programs that solve real everyday problems
- Structure code with functions, classes, and modules
- Use generators, decorators, and context managers with confidence
- Write typed, tested code that automated tools can check
- Use threads, processes, and async/await correctly
- Be fully prepared to build production APIs with FastAPI
The full syllabus
20 modules, from the Shallows down. Open any module to see its lessons. Free lessons open in full; the rest show what they will teach.
The Shallows
From zero to writing real little programs. No experience needed.
0Getting startedWhat Python is, setting up, and your first programs.Free6 lessons
1Values and variablesStoring, combining, and formatting data.7 lessons
2Making decisionsPrograms that choose what to do.6 lessons
3LoopsRepeating work without repeating code.5 lessons
4CollectionsLists, tuples, dictionaries, and sets — and how Python names really work.9 lessons
5FunctionsBreaking programs into named, reusable pieces.8 lessons
6Working with textStrings in depth, Unicode (including Amharic), and regular expressions.5 lessons
7Errors and debuggingReading, handling, and raising errors — and finding bugs fast.4 lessons
8Files, modules, and your environmentSaving data, organizing code, and using other people's code.9 lessons
9TestingProving your code works, automatically.5 lessons
Currents
Writing Python the way experienced developers do: objects, iteration, decorators, context managers, and types.
10Object-oriented PythonModeling things with classes, and making your objects feel built-in.9 lessons
11Iterators and generatorsWhat for really does, and producing values lazily.7 lessons
12Closures and decoratorsFunctions that wrap functions — the idea behind @app.get in FastAPI.7 lessons
13Context managersGuaranteed setup and cleanup with with.4 lessons
14Type hints and data modelingTypes that tools can check, and data models that validate themselves.10 lessons
- 14.1Why type hints?Soon
- 14.2Annotating variables and functionsSoon
- 14.3None, unions, and OptionalSoon
- 14.4Literal, Enum, and TypedDictSoon
- 14.5GenericsSoon
- 14.6Protocols and duck typingSoon
- 14.7Running a type checkerSoon
- 14.8DataclassesSoon
- 14.9Validation with PydanticSoon
- 14.10Project: Birr Ledger v3ProjectSoon
Deep Water
Concurrency, async, Python's object model, and professional practice.
15ConcurrencyDoing several things at once, and choosing the right tool for it.6 lessons
16Async Pythonasync and await from the ground up — how FastAPI handles many requests at once.8 lessons
17Python's object modelHow attributes, properties, and classes really work underneath.5 lessons
18Professional PythonThe tools and habits of working Python developers.8 lessons
Landfall
Crossing from Python to the web. Ends where the FastAPI course begins.
19Python meets the webHTTP, JSON, and APIs — the last step before FastAPI.5 lessons
The project that grows with you
Birr Ledger
A personal expense tracker that grows from a simple script into a typed, tested, async-capable package ready to become an API.
- Module 8v1. CLI script storing expenses in JSON
- Module 9Tested. Automated pytest test suite
- Module 10v2. Object-oriented design with Expense and Ledger classes
- Module 12Decorated. Timing and retry decorators
- Module 13Context. Atomic saves and safe file handling
- Module 14v3. Fully typed with dataclasses and Pydantic models
- Module 16Async. Concurrent live exchange rates fetching
- Module 18Package. Installable, linted, logged CLI package
- Module 19Capstone. Ready for the FastAPI course
Who it's for
- Complete beginners writing their first code
- Learners who know some Python but want to fill gaps and write idiomatic code
- Information Systems and Computer Science students preparing for backend or AI work
What you need
- A computer (Windows, macOS, or Linux) to install Python for later modules
- No prior coding experience needed; early lessons run directly in your browser
The full Python course
You enroll in Telegram. Pay with Telebirr or CBE, and the bot adds you to the course within minutes.
What's included
- Every video lesson with detailed step-by-step walkthroughs
- All projects with complete, documented reference solutions
- Private Telegram community group with direct peer discussions
- Direct Q&A help and code reviews from the instructor
Questions
All questionsCan I take this course on my phone?
Yes to start. The lessons and interactive code runner work directly in modern mobile browsers. For later modules with local virtual environments and testing, a laptop or desktop computer is recommended.
Do I need any previous coding experience?
No. The course starts from absolute zero in Module 0 and explains every foundational concept step by step.
How does payment and enrollment work?
You enroll through our Telegram bot using Telebirr or CBE bank transfer. Verification is automated, giving you access to the private Telegram channel and group.