Learning path
A guided order to learn this domain. Pick your language — Python is ready now, more are coming.
Python pathAvailable now
The complete beginner path. Follow these in order and you go from "never coded" to writing real, structured Python programs.
1What is Python? conceptUnderstand what Python is and why it is the best first language.→2Setting Up Python conceptGet Python running on your machine and write your first line.→3Variables and Types in Python conceptLearn how programs remember things — the building blocks of all code.→4Control Flow and Loops in Python conceptMake programs decide and repeat — the heartbeat of every program.→5Number Guessing Game projectYour first real program: combine input, decisions, and loops into a game.→6Functions and Scope in Python conceptPackage code into reusable pieces — stop repeating yourself.→7String Methods in Python conceptWork with text confidently — the most common data you will handle.→8Calculator projectBuild a tool using functions and input handling.→9Object-Oriented Python in Python conceptModel real things as objects — how big programs stay organised.→10Error Handling in Python conceptStop programs crashing — handle the unexpected gracefully.→11To-Do List projectTie it together: a real app with data, functions, and persistence.→
JavaScript pathComing soon
Java pathComing soon
Go pathComing soon
Rust pathComing soon
Browse everything in Foundations
Python
45 ways to learn Foundations in Python — concepts, modules, and projects.
Start here 5
What is Python?
Python is the world's most popular programming language for beginners and professionals alike. Here's what it
conceptSetting Up Python
Install Python, pick an editor, and write your first program. From zero to running code in under 10 minutes.
conceptVariables and Types in Python
Python has no type declarations — assign a value and Python figures out the rest. But that doesn't mean it's c
conceptControl Flow and Loops in Python
Python's for loop iterates over anything iterable. Its match/case handles structured data. Here's the complete
conceptFunctions and Scope in Python
Functions are first-class objects in Python — they can be passed around, returned, and wrapped. Here's everyth
conceptWorking with text & data 5
String Methods in Python
Python strings come with over 40 built-in methods for searching, splitting, transforming, and validating text
conceptf-strings in Python
f-strings (formatted string literals) embed expressions directly inside string literals using {} — the fastest
conceptComprehensions in Python
List, dict, set, and generator comprehensions — Python's concise syntax for building collections from iter
conceptIterators and Iterables in Python
An iterable is anything you can loop over; an iterator is the object that does the actual stepping. Understand
conceptGenerators in Python
A generator is a function that uses yield to produce a sequence of values lazily — one at a time, on demand —
conceptWriting cleaner code 6
Lambda Functions in Python
A lambda is a small anonymous function written in a single expression — most useful as a throwaway argument to
conceptStructural Pattern Matching (match/case)
The match statement (Python 3.10+) matches a value against patterns that describe the structure of data — far
conceptThe Walrus Operator (:=) in Python
The walrus operator := assigns a value to a variable as part of a larger expression — letting you capture and
conceptDecorators in Python
A decorator is a function that wraps another function to extend or modify its behaviour without changing its s
conceptClosures in Python
A closure is a function that remembers and accesses variables from its enclosing scope even after that scope h
conceptContext Managers in Python
A context manager is an object that sets up and tears down a resource automatically using the with statement —
conceptStructuring programs 6
Object-Oriented Python in Python
Classes, instances, dunder methods, properties, dataclasses — Python's complete object model in one place.
conceptDataclasses in Python
The @dataclass decorator auto-generates __init__, __repr__, and __eq__ from type-annotated fields — the modern
conceptEnumerations (enum) in Python
An enum is a set of named constant values bound to a single type — replacing scattered magic numbers and strin
conceptAbstract Base Classes (abc) in Python
An abstract base class defines an interface that subclasses must implement — Python’s way of declaring "every
conceptThe Python Data Model (Dunder Methods)
The data model is the set of special "dunder" methods (__init__, __len__, __getitem__, and dozens more) that l
conceptModules & Packages in Python
How Python's import system works — modules, packages, __init__.py, the module search path, pip, and virtua
conceptRobustness 4
Error Handling in Python
Exceptions are events, not catastrophes. Python's error handling model makes catching, raising, and recovering
conceptThe Python Exception Hierarchy
Every Python exception is a class in a single inheritance tree rooted at BaseException — understanding that tr
conceptFile I/O in Python
Reading and writing files in Python — the open() function, file modes, text vs binary, encodings, and the with
conceptType Hints in Python
Optional static typing for Python — annotations, the typing module, Optional and Union, generics, Protocols, a
conceptProjects to build 11
Number Guessing Game
Your very first program with a memory and a decision: the computer picks a secret number, and you guess until
projectCalculator
A command-line calculator in Python with all arithmetic operations, a dispatch table pattern, history, and cle
projectWord Counter
A text analysis tool in Python that counts words, finds top words, removes stopwords, and draws an ASCII bar c
projectTo-Do List
A persistent command-line to-do list in Python — add, complete, delete, and list tasks saved to a JSON file th
projectContact Book
A persistent command-line contact book in Python — add, search, edit, and delete contacts saved to JSON with e
projectPassword Generator
A cryptographically secure password and passphrase generator in Python using the secrets module, argparse CLI,
projectUnit Converter
A multi-category unit converter in Python — length, weight, temperature, volume, speed, area — with a conversi
projectFlashcard App
A flashcard study app with spaced repetition in Python — cards get easier intervals when you know them and har
projectBudget Tracker
A personal budget tracker in Python — add income and expenses, view summaries by category and month, with JSON
projectQuiz Engine
A fully featured quiz engine in Python — multiple choice questions, shuffled order, per-question timing, score
projectText Adventure Game
A text adventure game in Python with rooms, items, locked doors, inventory, and a win condition — built with O
projectJavaScript
Foundations in JavaScript — concepts, modules, and projects. Coming soon.
Java
Foundations in Java — concepts, modules, and projects. Coming soon.
Go
Foundations in Go — concepts, modules, and projects. Coming soon.
Rust
Foundations in Rust — concepts, modules, and projects. Coming soon.