PYTHON SERIES · 46 lessons
From absolute beginner to working pro, Python end-to-end.
10 weeks Basic, 10 weeks Intermediate, 10 weeks Advanced, plus 16 practice projects. Pick the track that fits your level and progress step by step. Total beginners should start at Week 1 of the Basic track; learners with experience in another language can jump straight to Intermediate. The track wraps up with 16 console projects designed to cement real, hands-on experience.
Basic
10 weeks
Week 1 — Getting Started with Python
Learn what Python is, install Python 3.10+ and VS Code, run your first print statement, and understand the difference between REPL and script mode.
Week 2 — Variables & Data Types
Explore Python's four core data types, learn how to assign variables, use type() to inspect values, and perform basic type conversions.
Week 3 — Operators & I/O
Master Python's arithmetic, comparison, and logical operators, format output with f-strings, and build interactive programs with input().
Week 4 — Conditionals
Control program flow with if/elif/else blocks. Learn nested conditions, the ternary expression, and how to structure complex decision logic.
Week 5 — Loops
Automate repetitive tasks with for and while loops. Master range(), break, continue, and the rarely-known loop else clause.
Week 6 — Lists & Tuples
Work with Python's most-used sequence types. Master list CRUD operations, slicing syntax, common list methods, and tuple unpacking.
Week 7 — Dictionaries & Sets
Use dictionaries for key-value storage and sets for unique collections. Learn dict comprehensions, set algebra, and when to choose each structure.
Week 8 — String Methods & Formatting
Strings are immutable sequences with a rich method library. Learn to slice, search, replace, split, join, and format text for real-world use.
Week 9 — Functions
Functions let you name and reuse blocks of logic. Learn def, return, default arguments, keyword arguments, and variable scope (LEGB rule).
Week 10 — Basic Capstone: CLI To-Do App
Combine everything from weeks 1–9 into a full command-line to-do application with add, list, complete, and delete commands. Optionally persist tasks to a JSON file.
Intermediate
10 weeks
Week 1 — Advanced Functions
Go beyond basic def: write anonymous functions with lambda, understand closures, handle variable-length arguments, and use functools tools like partial and lru_cache.
Week 2 — Comprehensions & Generators
Write concise, readable data transformations with list, dict, and set comprehensions. Then step into generators and yield for memory-efficient iteration.
Week 3 — Modules & Packages
Organize code into reusable modules and packages. Understand how Python's import system works, create your own packages, and manage dependencies with pip.
Week 4 — Standard Library
The Python standard library has batteries included. Learn the most useful modules: datetime for time, pathlib for files, collections for advanced data structures, and itertools for efficient looping.
Week 5 — Exception Handling
Write robust programs by handling errors gracefully. Learn the full try/except/else/finally pattern, re-raise exceptions, and define custom exception classes.
Week 6 — File I/O
Persist data to disk with Python's file I/O. Read and write plain text, CSV, and JSON files using context managers, the csv module, and json module.
Week 7 — OOP Part 1: Classes & Instances
Model real-world entities with classes. Learn to define attributes in __init__, write instance methods, use properties for validation, and simplify data classes with @dataclass.
Week 8 — OOP Part 2: Inheritance & Dunder Methods
Extend classes with inheritance, call parent methods with super(), implement polymorphism, and customize object behavior with dunder (magic) methods.
Week 9 — Regular Expressions
Unlock powerful text-matching with regular expressions. Learn pattern syntax, groups, lookahead/lookbehind, and use re.findall, re.sub, and re.fullmatch for text extraction and cleaning.
Week 10 — Intermediate Capstone: Text Analysis Tool
Combine the intermediate track skills to build a command-line text analysis tool that reads files, tokenizes text, computes statistics, and produces a formatted report.
Advanced
10 weeks
Week 1 — Type Hints & Dataclasses
Add static type information to Python code with type hints, use TypeVar for generic functions, model data with @dataclass, and define structural subtypes with Protocol.
Week 2 — Decorators & Context Managers
Master decorators for cross-cutting concerns like logging, caching, and timing. Then implement reusable context managers with both the class-based and contextlib.contextmanager approaches.
Week 3 — Iterators & Generators
Implement the iterator protocol from scratch, write memory-efficient generators with yield, compose pipelines with yield from, and use generator's send() for two-way communication.
Week 4 — Threading & Multiprocessing
Write concurrent programs with threading and multiprocessing. Understand the GIL, synchronize shared state with Lock and Queue, and use concurrent.futures for a clean high-level API.
Week 5 — Asyncio
Write asynchronous programs with asyncio. Understand coroutines, tasks, the event loop, and use aiohttp for non-blocking HTTP requests.
Week 6 — Testing with pytest
Write professional tests with pytest. Use fixtures for setup/teardown, parametrize for data-driven tests, mock external dependencies, and measure code coverage.
Week 7 — Web Scraping
Extract structured data from web pages ethically. Use requests for HTTP and BeautifulSoup for parsing HTML. Implement rate limiting, respect robots.txt, and cache results.
Week 8 — NumPy & Pandas
Accelerate numerical computation with NumPy arrays and explore tabular data with Pandas. Combine them with Matplotlib to visualize results.
Week 9 — Packaging & Distribution
Turn your Python code into a distributable package. Learn pyproject.toml, build tools (hatch/setuptools), create CLI entry points, and publish to PyPI (or TestPyPI).
Week 10 — Advanced Capstone: Async REST Client
Combine the full advanced track into a production-grade async REST API client library, complete with type hints, retry logic, caching, pytest test suite, and a pip-installable package.
Practice Projects
16 projects · Console projects by difficulty (★ ~ ★★★★)
Project 1 — Rock Paper Scissors
Build a best-of-3 Rock Paper Scissors game against the computer with input validation and a running win/loss record.
Project 2 — Number Guessing Game
Guess the secret number with too-high/too-low hints. Add difficulty levels (attempts limit) and a high-score leaderboard.
Project 3 — Calculator
Build a command-line calculator that parses infix expressions (+, -, *, /, **, %) and handles division-by-zero and invalid input gracefully.
Project 4 — Unit Converter
Convert between common units (length, weight, temperature) using a menu-driven CLI. Extend the conversion table with new units without changing the core logic.
Project 5 — To-Do List App
Build a full-featured to-do list with priorities, due dates, categories, and JSON file persistence.
Project 6 — Vocabulary Quiz
Create an interactive vocabulary quiz that shuffles questions, tracks performance per word, and prioritizes words you get wrong (basic spaced repetition).
Project 7 — Contacts Manager
Build an object-oriented contacts manager with name, phone, email, and tags. Support search, sort, and CSV/JSON export.
Project 8 — BMI Tracker
Track BMI over time with a history log, trend analysis, and an ASCII chart of weight progression.
Project 9 — Budget Tracker
Track income and expenses by category. Generate monthly summaries, spending breakdowns, and savings rate reports — all stored in CSV.
Project 10 — Library Manager
Manage a book library with borrow/return tracking, member accounts, overdue detection, and full-text search.
Project 11 — Diary App
Write encrypted daily journal entries, search past entries by keyword or date, and export to Markdown.
Project 12 — Text Adventure Game
Build a text adventure game with rooms, items, NPCs, and a simple command parser. Load the world map from a JSON file.
Project 13 — Argparse CLI Tool
Build a professional command-line tool with argparse subcommands, a config file, logging, and a pip-installable entry point.
Project 14 — CSV Report CLI
Analyse a CSV file from the command line: filter rows, compute statistics, and generate HTML and Markdown reports using Pandas and Jinja2 templates.
Project 15 — Markov Chain Chatbot
Build a text generator chatbot using Markov chains. Train it on any text corpus and generate statistically plausible responses.
Project 16 — TUI App with curses / textual
Build a terminal user interface (TUI) for one of your earlier projects. Use curses for low-level control or the modern textual framework for high-level widgets.