🐍

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