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 01

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.

InterpreterInstallationREPLComments
WEEK 02

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.

intfloatstrbooltype()
WEEK 03

Week 3 — Operators & I/O

Master Python's arithmetic, comparison, and logical operators, format output with f-strings, and build interactive programs with input().

ArithmeticComparisonLogicalf-stringsinput()
WEEK 04

Week 4 — Conditionals

Control program flow with if/elif/else blocks. Learn nested conditions, the ternary expression, and how to structure complex decision logic.

ifelifelsenestedternary
WEEK 05

Week 5 — Loops

Automate repetitive tasks with for and while loops. Master range(), break, continue, and the rarely-known loop else clause.

forwhilerangebreakcontinueelse
WEEK 06

Week 6 — Lists & Tuples

Work with Python's most-used sequence types. Master list CRUD operations, slicing syntax, common list methods, and tuple unpacking.

IndexingSlicingMethodsUnpacking
WEEK 07

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.

CRUDIterationComprehensionSet Operations
WEEK 08

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.

MethodsSlicingformat()f-stringsencode
WEEK 09

Week 9 — Functions

Functions let you name and reuse blocks of logic. Learn def, return, default arguments, keyword arguments, and variable scope (LEGB rule).

defreturnArgumentsDefaultsScope
WEEK 10

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.

ReviewIntegrationFile persistence

Intermediate

10 weeks

WEEK 01

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.

lambdaClosures*args**kwargsfunctools
WEEK 02

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.

ListDictSetGenerator expressionsyield
WEEK 03

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.

importfrompip__all____init__.py
WEEK 04

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.

datetimepathlibcollectionsitertoolsrandom
WEEK 05

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.

tryexceptelsefinallyraiseCustom exceptions
WEEK 06

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.

openreadwritewithCSVJSONpathlib
WEEK 07

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.

class__init__MethodsPropertiesdataclass
WEEK 08

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.

Inheritancesuper()Polymorphism__str____eq____len__
WEEK 09

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.

re modulePatternsGroupsFlagsfindallsub
WEEK 10

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.

CLIFile I/OOOPRegexStatistics

Advanced

10 weeks

WEEK 01

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.

AnnotationsTypeVarGenericdataclassProtocol
WEEK 02

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.

functools.wrapsStackingClass decorators__enter____exit__
WEEK 03

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.

__iter____next__yieldyield fromsend()
WEEK 04

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.

ThreadProcessLockQueueconcurrent.futures
WEEK 05

Week 5 — Asyncio

Write asynchronous programs with asyncio. Understand coroutines, tasks, the event loop, and use aiohttp for non-blocking HTTP requests.

async/awaitEvent loopgatheraiohttpasyncio.Queue
WEEK 06

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.

pytestFixturesparametrizeMockCoverage
WEEK 07

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.

requestsBeautifulSoupRate limitingrobots.txtCaching
WEEK 08

Week 8 — NumPy & Pandas

Accelerate numerical computation with NumPy arrays and explore tabular data with Pandas. Combine them with Matplotlib to visualize results.

ndarrayBroadcastingDataFrameGroupByMatplotlib
WEEK 09

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).

pyproject.tomlhatchwheelPyPIentry_points
WEEK 10

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.

asyncioaiohttpTyped APIpytestpackaging

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.

ConditionalsLoopsrandom
★

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.

RandomInputLoops+1 more
★

Project 3 — Calculator

Build a command-line calculator that parses infix expressions (+, -, *, /, **, %) and handles division-by-zero and invalid input gracefully.

String parsingFunctionsError handling
★

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.

DictionariesFunctionsInput menus
★★

Project 5 — To-Do List App

Build a full-featured to-do list with priorities, due dates, categories, and JSON file persistence.

ListsDictsFunctions+1 more
★★

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).

DictsRandomScore tracking+1 more
★★

Project 7 — Contacts Manager

Build an object-oriented contacts manager with name, phone, email, and tags. Support search, sort, and CSV/JSON export.

OOPJSONSearch+2 more
★★

Project 8 — BMI Tracker

Track BMI over time with a history log, trend analysis, and an ASCII chart of weight progression.

FunctionsOOPHistory+1 more
★★★

Project 9 — Budget Tracker

Track income and expenses by category. Generate monthly summaries, spending breakdowns, and savings rate reports — all stored in CSV.

OOPCSVCategories+1 more
★★★

Project 10 — Library Manager

Manage a book library with borrow/return tracking, member accounts, overdue detection, and full-text search.

OOPJSONSearch+1 more
★★★

Project 11 — Diary App

Write encrypted daily journal entries, search past entries by keyword or date, and export to Markdown.

File I/OEncryptionSearch+1 more
★★★

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.

OOPState machineJSON maps+1 more
★★★★

Project 13 — Argparse CLI Tool

Build a professional command-line tool with argparse subcommands, a config file, logging, and a pip-installable entry point.

argparsesubcommandsConfig+1 more
★★★★

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.

pandasargparseJinja2+1 more
★★★★

Project 15 — Markov Chain Chatbot

Build a text generator chatbot using Markov chains. Train it on any text corpus and generate statistically plausible responses.

Markov chainsText processingProbability
★★★★

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.

cursestextualWidgets+1 more
Call NowEnroll Now