๐Ÿ’ป

Coding

Make games, animations and apps โ€” learn to think like a coder.

121 lessons

๐Ÿš€ Primary

Ages 7-10

โ“CodingAges 7-10A Quiz Game in ScratchA step-by-step primary lesson on building a quiz game in Scratch: ask questions with the ask block, check the answer wit๐ŸŽฌCodingAges 7-10Animations and Costumes in ScratchA step-by-step primary lesson on animation in Scratch: how costumes make a sprite seem to move, switch costumes in a loo๐Ÿ“CodingAges 7-10Coordinates and Movement in ScratchA clear primary lesson on coordinates and movement in Scratch: understand the x and y grid, move sprites with go to and ๐Ÿ”’CodingAges 7-10Cybersecurity and Strong PasswordsA coding lesson for ages 7-10: learn what cybersecurity means, why strong passwords matter, how to make one, and simple ๐Ÿ›CodingAges 7-10Debugging: Finding MistakesA primary-school coding lesson on debugging: learn what a bug is, why code goes wrong, and easy steps to find and fix miโœ๏ธCodingAges 7-10Drawing with the Pen in ScratchA step-by-step primary lesson on the Pen blocks in Scratch: add the Pen extension, pen down and up, set pen colour and s๐ŸŸขCodingAges 7-10Events and Buttons in ScratchA primary-school coding lesson on Scratch events: learn how hat blocks start code when you click the flag, press a key, ๐Ÿ“ŠCodingAges 7-10Flowcharts and PseudocodeA coding lesson for ages 7-10: learn how flowcharts and pseudocode help you plan a program before you code it, with shap๐ŸฑCodingAges 7-10Getting Started with ScratchA beginner Scratch coding lesson for kids ages 7-10: learn what Scratch is, how to snap blocks together, move a sprite, ๐ŸงฑCodingAges 7-10Introduction to Block CodingA friendly primary lesson on block coding: learn how drag-and-drop blocks work, the main block types, why blocks snap to๐ŸŽฎCodingAges 7-10Making a Game in ScratchA step-by-step primary lesson on making your first game in Scratch: move a sprite, catch falling objects, keep score wit๐ŸงฉCodingAges 7-10Making a Maze Game in ScratchA step-by-step primary lesson on making a maze game in Scratch: draw a maze, move a sprite with arrow keys, stop at wall๐Ÿ”€CodingAges 7-10Making Decisions with IfA primary-school coding lesson on if statements: learn how code makes choices using if, else, and conditions, with Scrat๐ŸŽตCodingAges 7-10Making Music in ScratchA step-by-step primary lesson on the Music blocks in Scratch: add the Music extension, play notes and drums, set the tem๐Ÿ”คCodingAges 7-10Scratch vs Text CodingA friendly primary lesson comparing block coding in Scratch with text coding like Python: what is the same, what is diff๐Ÿ–ฅ๏ธCodingAges 7-10The History of ComputersA coding lesson for ages 7-10: travel through the history of computers, from counting tools and giant machines to the ph๐Ÿ”ขCodingAges 7-10Variables and Score in ScratchA step-by-step primary lesson on variables in Scratch: make a variable, set and change a score, show it on the stage, re๐Ÿ“ฆCodingAges 7-10Variables: Boxes for InformationA primary-school coding lesson on variables: learn how a variable is a labeled box that stores information, how to chang๐Ÿ“œCodingAges 7-10What Is a Program?A clear primary lesson explaining what a computer program is: a list of instructions a computer follows in order. Real e

๐Ÿ”ฌ Middle

Ages 11-13

๐Ÿ“กCodingAges 11-13Broadcasting Messages in ScratchA step-by-step middle-school lesson on broadcasts in Scratch: how 'broadcast' and 'when I receive' let sprites talk to e๐ŸงฎCodingAges 11-13Building a Calculator in PythonBuild a working calculator in Python step by step: read numbers with input, do the four operations, handle the divide-by๐ŸŽจCodingAges 11-13Building a Drawing App in ScratchA step-by-step middle-school lesson on building a drawing app in Scratch with the pen: draw with the mouse, lift the pen๐ŸงบCodingAges 11-13Catch the Falling Objects Game in ScratchA step-by-step middle-school lesson on building a catch-the-falling-objects game in Scratch: a basket you move, apples t๐Ÿ‘ฏCodingAges 11-13Cloning Sprites in ScratchA step-by-step middle-school lesson on clones in Scratch: how 'create clone', 'when I start as a clone', and 'delete thi๐ŸงฉCodingAges 11-13Creating Custom Blocks in ScratchA middle-school Scratch coding lesson on custom blocks: learn to make your own blocks with My Blocks, add inputs, avoid ๐ŸŽจCodingAges 11-13CSS Colours and FontsA friendly middle-school lesson on CSS colours and fonts: set text and background colours with names, hex and rgb, choos๐ŸŽฒCodingAges 11-13Build a Dice Roller in PythonCode a virtual dice roller in Python. Roll one die or many, choose how many sides, add up the total and show ASCII dice ๐ŸงฉCodingAges 11-13Functions: Reusable Blocks of CodeA middle-school coding lesson on functions: learn how to define and call functions, pass arguments, return values, and wโ†ฉ๏ธCodingAges 11-13Functions That Return ValuesUnderstand how Python functions return values: the difference between return and print, capturing results in variables, โšฝCodingAges 11-13Gravity and Bouncing Physics in ScratchA step-by-step middle-school lesson on simple physics in Scratch: make a ball fall with gravity using a velocity variabl๐Ÿ”ขCodingAges 11-13How Computers Store Data (Binary)Discover how computers store everything as binary: bits and bytes, why machines use only 0s and 1s, how numbers, letters๐Ÿ–ผ๏ธCodingAges 11-13How Images Are Stored: Pixels and ColourDiscover how computers store images as a grid of pixels, how RGB colour and hex codes work, what resolution and bit dept๐Ÿ”ŠCodingAges 11-13How Sound Is Stored DigitallyLearn how computers turn sound into numbers using sampling, sample rate and bit depth, why CD audio uses 44,100 samples ๐Ÿง CodingAges 11-13How the CPU WorksMeet the CPU, the brain of the computer: learn the fetch-decode-execute cycle, what registers and the clock do, how bill๐ŸŒCodingAges 11-13How the Internet WorksHow the internet works explained simply: IP addresses, packets, servers and clients, DNS, and what happens when you open๐Ÿ“CodingAges 11-13HTML Forms and InputsA clear, hands-on lesson on HTML forms and inputs for middle-school coders: build a form with text boxes, email fields, ๐Ÿท๏ธCodingAges 11-13Introduction to HTML TagsA beginner-friendly introduction to HTML tags: headings, paragraphs, links, images, lists and the page skeleton. Learn h๐Ÿ“‹CodingAges 11-13Lists and ArraysLearn what lists and arrays are: how computers store many values in one place, how to add, read, and change items by the๐Ÿ—‚๏ธCodingAges 11-13Loading Data into Python with Lists and DictionariesGet real data into Python: build it as lists, dictionaries and lists-of-dicts, then loop, filter, count and summarise it๐Ÿ”CodingAges 11-13Loops: Making the Computer RepeatA middle-school coding lesson on loops: learn what loops are, how for and while loops work, why they save time, and see ๐Ÿ“CodingAges 11-13Build a Mad Libs Game in PythonCode a funny Mad Libs word game in Python. Collect nouns, verbs and adjectives with input, slot them into a story with f๐ŸŽฎCodingAges 11-13Making a Platformer in ScratchA step-by-step middle-school lesson on building a platformer in Scratch: left and right movement, gravity, jumping with ๐Ÿ“CodingAges 11-13Making a Pong Game in ScratchA step-by-step middle-school lesson on building Pong in Scratch: a bouncing ball, a paddle you control with the mouse, b๐Ÿ”ณCodingAges 11-13Nested Loops and PatternsA middle-school coding lesson on nested loops: learn how a loop inside a loop works, why the inner loop runs fully for e๐Ÿ”ขCodingAges 11-13Build a Number Guessing Game in PythonCode a complete number guessing game in Python: the computer picks a secret number, you guess, and it gives higher/lowerโš–๏ธCodingAges 11-13Python Comparison and LogicLearn Python comparison and logic: ==, !=, <, >, the True and False booleans, and the and, or, not operators. Build cond๐Ÿ”CodingAges 11-13Python For LoopsLearn Python for loops: loop over lists and strings, use range() to count, build running totals with an accumulator, and๐Ÿ”€CodingAges 11-13Python: if, elif, elseMaster Python decisions with if, elif and else: comparison operators, branching, why elif beats stacked ifs, chained conโŒจ๏ธCodingAges 11-13Python Input and OutputLearn Python input and output: print() with sep and end, reading text with input(), converting strings to numbers with i๐Ÿ“‹CodingAges 11-13Python Lists in DepthGo deeper with Python lists: indexing, slicing, append, insert, remove, sort and reverse, len, and looping with for. Mas๐Ÿ”CodingAges 11-13Python Loops and ListsCombine Python loops and lists: use a for loop to visit every item, build lists, count and total values, and use range()๐Ÿ”ขCodingAges 11-13Python Numbers and MathLearn Python numbers and math: integers, floats, the arithmetic operators, floor division, modulo, exponents, operator o๐Ÿ”CodingAges 11-13Python While LoopsMaster Python while loops: how a condition controls repetition, updating the loop variable, avoiding infinite loops, bre๐ŸŽฒCodingAges 11-13Random Numbers and Games in PythonMake Python games unpredictable with the random module: use randint, choice, shuffle and random to roll dice, pick cardsโœŠCodingAges 11-13Build Rock Paper Scissors in PythonCode the classic Rock Paper Scissors game in Python against the computer. Learn input, random.choice, comparing strings ๐Ÿ–ฅ๏ธCodingAges 11-13What Is an Operating System?What is an operating system? Learn how the OS manages the CPU, memory, files, and devices, what a kernel does, and exampโœ๏ธCodingAges 11-13Working with Text and StringsLearn how to work with text and strings in Python: create strings, join them, slice them, change case, find and replace,๐ŸงนCodingAges 11-13Writing Clean Code and CommentsLearn to write clean Python code: clear variable names, helpful comments and docstrings, avoiding repetition with functi

๐ŸŽ“ Teen

Ages 14-18

๐Ÿ—บ๏ธCodingAges 14-18A Text Adventure Game in PythonBuild a text adventure game in Python: design rooms with dictionaries, move the player with input, track inventory and w๐Ÿ“ŠCodingAges 14-18Making a Bar Chart in Python with MatplotlibTurn numbers into a picture: install matplotlib, draw a bar chart from your data, add titles and labels, colour the barsโฑ๏ธCodingAges 14-18Big O and Algorithm SpeedLearn Big O notation and how to measure algorithm speed: O(1), O(n), O(n squared) and O(log n), why it matters as data g๐Ÿ”ŒCodingAges 14-18Boolean Logic and Logic GatesLearn Boolean logic and the AND, OR and NOT logic gates that power every computer. Build truth tables, combine gates, an๐ŸŒCodingAges 14-18Build a Simple Web Page with HTMLA teen HTML tutorial: build your first web page from scratch. Learn tags, headings, paragraphs, links, images, and lists๐Ÿš€CodingAges 14-18Building a Landing Page from ScratchBuild a complete, responsive landing page with HTML and CSS: a hero section, feature cards, a call-to-action and a footeโ“CodingAges 14-18Building a Quiz App in PythonA teen-friendly Python project: build a working quiz app from scratch using variables, lists, dictionaries, loops, condiโœ…CodingAges 14-18Building a To-Do List AppA step-by-step teen project: build a working to-do list app with HTML, CSS and JavaScript. Add tasks, store them in an a๐ŸงฑCodingAges 14-18Classes and Objects in Python: An Intro to OOPLearn object-oriented programming in Python: define classes, create objects, use __init__, attributes and methods, with ๐Ÿ”ŒCodingAges 14-18Computer Networks and ProtocolsComputer networks and protocols explained: LANs vs the internet, how routers and switches move data, and key protocols l๐Ÿ”€CodingAges 14-18Conditionals in PythonMaster conditionals in Python: if, elif, and else, comparison and logical operators, and nested conditions. Make your pr๐Ÿ“CodingAges 14-18CSS Flexbox BasicsA practical teen tutorial on CSS Flexbox: turn a container into a flex container, control direction, justify-content, al๐Ÿ”ฒCodingAges 14-18CSS Grid Layout BasicsLearn CSS Grid: build two-dimensional layouts with grid-template-columns, rows, gap, fr units, repeat() and grid spanninโœจCodingAges 14-18CSS Transitions and AnimationsBring web pages to life with CSS: smooth hover transitions, the transition property, transform, and full @keyframes anim๐Ÿ—„๏ธCodingAges 14-18Introduction to Databases and TablesLearn what a database is, how tables store data in rows and columns, primary keys, relationships, and how to read and wr๐Ÿ“…CodingAges 14-18Dates and Times in Python with datetimeWork with dates and times in Python using the datetime module: get today, build specific dates, find differences with ti๐Ÿ“’CodingAges 14-18Dictionaries in PythonLearn dictionaries in Python: store data as key-value pairs, look up and update values, loop over items, and avoid KeyEr๐Ÿ”CodingAges 14-18Encryption and Keeping Data SafeEncryption explained for teens: plaintext vs ciphertext, the Caesar cipher, symmetric vs public-key encryption, hashing,๐ŸงตCodingAges 14-18F-Strings and String Formatting in PythonMaster Python f-strings: embed variables, run expressions, format numbers and decimals, pad and align text, with clear l๐ŸชขCodingAges 14-18Build a Hangman Game in PythonBuild a complete Hangman word-guessing game in Python step by step: pick a secret word, track guessed letters, limit wro๐Ÿ—œ๏ธCodingAges 14-18How Data Is CompressedHow data compression works: lossless vs lossy, run-length encoding, Huffman coding, and why JPEG and MP3 throw data away๐ŸŒCodingAges 14-18How Web Browsers WorkSee what really happens when you open a web page: the URL, DNS, the request and response, and how the browser parses HTMโœจCodingAges 14-18Introduction to JavaScriptAn introduction to JavaScript: variables, data types, functions, conditionals, arrays, and making web pages interactive ๐ŸŒณCodingAges 14-18JavaScript and the DOMLearn how JavaScript and the DOM work together: select elements, change text and styles, respond to clicks with event li๐Ÿ”€CodingAges 14-18JavaScript Conditionals in DepthGo beyond basic if statements: master comparison operators, ===, logical AND/OR/NOT, else if chains, truthy and falsy va๐Ÿ–ฑ๏ธCodingAges 14-18JavaScript Events and ClicksA practical teen tutorial on JavaScript events: listen for clicks and other user actions with addEventListener, write ev๐ŸงฉCodingAges 14-18JavaScript Functions in DepthMaster JavaScript functions: parameters and arguments, return values, default parameters, arrow functions, scope and clo๐Ÿ”CodingAges 14-18JavaScript Loops and ArraysA clear teen tutorial on JavaScript loops and arrays: store lists of values, read them by index, and process every item ๐ŸŸจCodingAges 14-18JavaScript Variables and FunctionsA teen-friendly JavaScript tutorial on variables and functions: declare with let and const, work with strings and numberฮปCodingAges 14-18Lambda, Map and Filter in PythonLearn Python lambda functions plus map and filter: write tiny anonymous functions, transform and filter lists, compare w๐Ÿ“ˆCodingAges 14-18Line Charts in Python with MatplotlibPlot line charts in Python with Matplotlib: draw a single line, add titles and labels, plot multiple lines with a legend๐Ÿ”CodingAges 14-18Build a Password Generator in PythonCode a strong, random password generator in Python. Choose a length, mix letters, digits and symbols, and build the pass๐Ÿ›ก๏ธCodingAges 14-18Python Error Handling (try/except)Learn Python error handling with try and except: catch exceptions, handle specific error types, validate user input, and๐ŸงฉCodingAges 14-18Python Functions and ParametersMaster Python functions and parameters: define functions with def, pass arguments, use default and keyword parameters, r๐Ÿ“CodingAges 14-18Python List ComprehensionsLearn Python list comprehensions: build a new list in one readable line, add an if filter, transform items, and know whe๐Ÿ—‚๏ธCodingAges 14-18Nested Lists and Dictionaries in PythonLearn to nest data in Python: lists inside lists (grids), dictionaries inside dictionaries, and lists of dictionaries fo๐Ÿ”คCodingAges 14-18Python String Methods Deep DiveGo deeper with Python string methods: case conversion, strip, replace, split and join, find and count, startswith and en๐ŸงทCodingAges 14-18Python Tuples and SetsLearn Python tuples and sets: immutable tuples, tuple unpacking, returning multiple values, plus sets for unique items a๐ŸขCodingAges 14-18Python Turtle GraphicsA teen-friendly Python tutorial on turtle graphics: draw shapes and patterns with a virtual pen, use loops and functions๐Ÿ”CodingAges 14-18The while-else Pattern in PythonLearn Python's unusual while-else loop: the else block runs only when the loop finishes without a break. See how it clea๐Ÿ“„CodingAges 14-18Reading and Writing Files in PythonLearn to read and write text files in Python: open files safely with the with statement, use read, readlines and write, ๐Ÿ”CodingAges 14-18Recursion ExplainedUnderstand recursion: how a function can call itself, why every recursion needs a base case, and how the call stack work๐Ÿ”CodingAges 14-18Recursion in Python: Functions That Call ThemselvesUnderstand recursion in Python: base cases, recursive cases, the call stack, factorial and countdown examples, plus when๐Ÿ–ผ๏ธCodingAges 14-18Responsive Images and Media QueriesMake images and layouts adapt to any screen: fluid images, the srcset and sizes attributes, the picture element, and med๐Ÿ“ฑCodingAges 14-18Responsive Web Design BasicsA teen-friendly tutorial on responsive web design: use the viewport meta tag, relative units, flexible layouts with flex๐Ÿ—๏ธCodingAges 14-18Semantic HTML ElementsLearn semantic HTML: use header, nav, main, section, article, aside and footer to give your pages meaning, better access๐Ÿ”CodingAges 14-18Sorting and Searching AlgorithmsLearn the classic sorting and searching algorithms: linear vs binary search, bubble and selection sort, how Big-O descri๐ŸŽจCodingAges 14-18Styling Web Pages with CSSLearn CSS to style web pages: selectors, colors, fonts, spacing with the box model, and layout basics. Make plain HTML l๐Ÿ“ฆCodingAges 14-18The CSS Box Model ExplainedMaster the CSS box model: content, padding, border and margin, plus box-sizing: border-box and why elements take the spa๐Ÿ“šCodingAges 14-18Using Python Libraries (modules)Learn how Python libraries and modules work: import the standard library, use math, random, datetime and statistics, pic๐Ÿ”€CodingAges 14-18Version Control with Git: The BasicsGet started with Git version control: understand repositories, the staging area, commits, and a clean workflow. Learn in๐Ÿ—‚๏ธCodingAges 14-18What Are Data Structures?Explore data structures in computer science: arrays, linked lists, stacks, queues, hash tables, and trees. Learn how eac๐Ÿ”ŒCodingAges 14-18What Is an API?A clear teen explainer on APIs: what an Application Programming Interface is, how requests and responses work, what JSON๐Ÿ“ŠCodingAges 14-18Working with CSV Data in PythonRead and write spreadsheet-style data in Python with the csv module: parse rows, use DictReader and DictWriter, total a ๐Ÿ—‚๏ธCodingAges 14-18Working with JSON in Python: Save and Load DataLearn to read and write JSON in Python with the json module: json.dumps, json.loads, json.dump and json.load, plus a wor๐ŸCodingAges 14-18Your First Python ProgramA teen-friendly Python tutorial: write your first program, use print, variables, input, and basic math, and understand h