๐ป
Coding
Make games, animations and apps โ learn to think like a coder.
121 lessons
๐งธ Early Years
Ages 4-6
๐คGiving Instructions to a RobotAn early-years coding lesson for ages 4-6: learn how to give clear step-by-step instructions to a robot, why order matte๐ฅPatterns and CodingA warm early-years coding lesson about patterns: spot, copy, and make patterns with colors, shapes and sounds, and see h๐ขSequences: Putting Steps in OrderAn early-years coding lesson on sequences: learn how computers do steps in order, why the order matters, and practice wiโก๏ธSequencing with ArrowsAn early-years coding lesson on sequencing with arrows: use up, down, left and right arrows to guide a character step by๐งญUnplugged Coding: Coding Without a ComputerA fun early-years lesson on unplugged coding: learn to code with no screen using arrows, steps and simple games. Build r๐What Is an Algorithm?A simple coding lesson for ages 4-6: learn what an algorithm is, how it is a list of steps in order, with everyday examp๐ปWhat Is Coding?A friendly first coding lesson for ages 4-6: learn what coding is, how computers follow instructions, and why code is li
๐ Primary
Ages 7-10
โA 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๐ฌAnimations 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๐Coordinates 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 ๐Cybersecurity and Strong PasswordsA coding lesson for ages 7-10: learn what cybersecurity means, why strong passwords matter, how to make one, and simple ๐Debugging: 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โ๏ธDrawing 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๐ขEvents 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, ๐Flowcharts and PseudocodeA coding lesson for ages 7-10: learn how flowcharts and pseudocode help you plan a program before you code it, with shap๐ฑGetting Started with ScratchA beginner Scratch coding lesson for kids ages 7-10: learn what Scratch is, how to snap blocks together, move a sprite, ๐งฑIntroduction to Block CodingA friendly primary lesson on block coding: learn how drag-and-drop blocks work, the main block types, why blocks snap to๐ฎMaking 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๐งฉMaking 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๐Making Decisions with IfA primary-school coding lesson on if statements: learn how code makes choices using if, else, and conditions, with Scrat๐ตMaking 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๐คScratch vs Text CodingA friendly primary lesson comparing block coding in Scratch with text coding like Python: what is the same, what is diff๐ฅ๏ธThe History of ComputersA coding lesson for ages 7-10: travel through the history of computers, from counting tools and giant machines to the ph๐ขVariables 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๐ฆVariables: Boxes for InformationA primary-school coding lesson on variables: learn how a variable is a labeled box that stores information, how to chang๐What 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
๐กBroadcasting Messages in ScratchA step-by-step middle-school lesson on broadcasts in Scratch: how 'broadcast' and 'when I receive' let sprites talk to e๐งฎBuilding a Calculator in PythonBuild a working calculator in Python step by step: read numbers with input, do the four operations, handle the divide-by๐จBuilding 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๐งบCatch 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๐ฏCloning 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๐งฉCreating Custom Blocks in ScratchA middle-school Scratch coding lesson on custom blocks: learn to make your own blocks with My Blocks, add inputs, avoid ๐จCSS Colours and FontsA friendly middle-school lesson on CSS colours and fonts: set text and background colours with names, hex and rgb, choos๐ฒBuild 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 ๐งฉFunctions: Reusable Blocks of CodeA middle-school coding lesson on functions: learn how to define and call functions, pass arguments, return values, and wโฉ๏ธFunctions That Return ValuesUnderstand how Python functions return values: the difference between return and print, capturing results in variables, โฝGravity 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๐ขHow Computers Store Data (Binary)Discover how computers store everything as binary: bits and bytes, why machines use only 0s and 1s, how numbers, letters๐ผ๏ธHow 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๐How Sound Is Stored DigitallyLearn how computers turn sound into numbers using sampling, sample rate and bit depth, why CD audio uses 44,100 samples ๐ง How the CPU WorksMeet the CPU, the brain of the computer: learn the fetch-decode-execute cycle, what registers and the clock do, how bill๐How the Internet WorksHow the internet works explained simply: IP addresses, packets, servers and clients, DNS, and what happens when you open๐HTML Forms and InputsA clear, hands-on lesson on HTML forms and inputs for middle-school coders: build a form with text boxes, email fields, ๐ท๏ธIntroduction to HTML TagsA beginner-friendly introduction to HTML tags: headings, paragraphs, links, images, lists and the page skeleton. Learn h๐Lists and ArraysLearn what lists and arrays are: how computers store many values in one place, how to add, read, and change items by the๐๏ธLoading 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๐Loops: 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 ๐Build 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๐ฎMaking a Platformer in ScratchA step-by-step middle-school lesson on building a platformer in Scratch: left and right movement, gravity, jumping with ๐Making 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๐ณNested 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๐ขBuild 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โ๏ธPython Comparison and LogicLearn Python comparison and logic: ==, !=, <, >, the True and False booleans, and the and, or, not operators. Build cond๐Python For LoopsLearn Python for loops: loop over lists and strings, use range() to count, build running totals with an accumulator, and๐Python: if, elif, elseMaster Python decisions with if, elif and else: comparison operators, branching, why elif beats stacked ifs, chained conโจ๏ธPython Input and OutputLearn Python input and output: print() with sep and end, reading text with input(), converting strings to numbers with i๐Python Lists in DepthGo deeper with Python lists: indexing, slicing, append, insert, remove, sort and reverse, len, and looping with for. Mas๐Python Loops and ListsCombine Python loops and lists: use a for loop to visit every item, build lists, count and total values, and use range()๐ขPython Numbers and MathLearn Python numbers and math: integers, floats, the arithmetic operators, floor division, modulo, exponents, operator o๐Python While LoopsMaster Python while loops: how a condition controls repetition, updating the loop variable, avoiding infinite loops, bre๐ฒRandom Numbers and Games in PythonMake Python games unpredictable with the random module: use randint, choice, shuffle and random to roll dice, pick cardsโBuild Rock Paper Scissors in PythonCode the classic Rock Paper Scissors game in Python against the computer. Learn input, random.choice, comparing strings ๐ฅ๏ธWhat 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โ๏ธWorking with Text and StringsLearn how to work with text and strings in Python: create strings, join them, slice them, change case, find and replace,๐งนWriting Clean Code and CommentsLearn to write clean Python code: clear variable names, helpful comments and docstrings, avoiding repetition with functi
๐ Teen
Ages 14-18
๐บ๏ธA Text Adventure Game in PythonBuild a text adventure game in Python: design rooms with dictionaries, move the player with input, track inventory and w๐Making 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โฑ๏ธBig 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๐Boolean Logic and Logic GatesLearn Boolean logic and the AND, OR and NOT logic gates that power every computer. Build truth tables, combine gates, an๐Build a Simple Web Page with HTMLA teen HTML tutorial: build your first web page from scratch. Learn tags, headings, paragraphs, links, images, and lists๐Building 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โBuilding a Quiz App in PythonA teen-friendly Python project: build a working quiz app from scratch using variables, lists, dictionaries, loops, condiโ
Building 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๐งฑClasses and Objects in Python: An Intro to OOPLearn object-oriented programming in Python: define classes, create objects, use __init__, attributes and methods, with ๐Computer Networks and ProtocolsComputer networks and protocols explained: LANs vs the internet, how routers and switches move data, and key protocols l๐Conditionals in PythonMaster conditionals in Python: if, elif, and else, comparison and logical operators, and nested conditions. Make your pr๐CSS Flexbox BasicsA practical teen tutorial on CSS Flexbox: turn a container into a flex container, control direction, justify-content, al๐ฒCSS Grid Layout BasicsLearn CSS Grid: build two-dimensional layouts with grid-template-columns, rows, gap, fr units, repeat() and grid spanninโจCSS Transitions and AnimationsBring web pages to life with CSS: smooth hover transitions, the transition property, transform, and full @keyframes anim๐๏ธIntroduction 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๐
Dates 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๐Dictionaries in PythonLearn dictionaries in Python: store data as key-value pairs, look up and update values, loop over items, and avoid KeyEr๐Encryption and Keeping Data SafeEncryption explained for teens: plaintext vs ciphertext, the Caesar cipher, symmetric vs public-key encryption, hashing,๐งตF-Strings and String Formatting in PythonMaster Python f-strings: embed variables, run expressions, format numbers and decimals, pad and align text, with clear l๐ชขBuild 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๐๏ธHow Data Is CompressedHow data compression works: lossless vs lossy, run-length encoding, Huffman coding, and why JPEG and MP3 throw data away๐How 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โจIntroduction to JavaScriptAn introduction to JavaScript: variables, data types, functions, conditionals, arrays, and making web pages interactive ๐ณJavaScript and the DOMLearn how JavaScript and the DOM work together: select elements, change text and styles, respond to clicks with event li๐JavaScript Conditionals in DepthGo beyond basic if statements: master comparison operators, ===, logical AND/OR/NOT, else if chains, truthy and falsy va๐ฑ๏ธJavaScript Events and ClicksA practical teen tutorial on JavaScript events: listen for clicks and other user actions with addEventListener, write ev๐งฉJavaScript Functions in DepthMaster JavaScript functions: parameters and arguments, return values, default parameters, arrow functions, scope and clo๐JavaScript Loops and ArraysA clear teen tutorial on JavaScript loops and arrays: store lists of values, read them by index, and process every item ๐จJavaScript Variables and FunctionsA teen-friendly JavaScript tutorial on variables and functions: declare with let and const, work with strings and numberฮปLambda, Map and Filter in PythonLearn Python lambda functions plus map and filter: write tiny anonymous functions, transform and filter lists, compare w๐Line 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๐Build a Password Generator in PythonCode a strong, random password generator in Python. Choose a length, mix letters, digits and symbols, and build the pass๐ก๏ธPython Error Handling (try/except)Learn Python error handling with try and except: catch exceptions, handle specific error types, validate user input, and๐งฉPython Functions and ParametersMaster Python functions and parameters: define functions with def, pass arguments, use default and keyword parameters, r๐Python List ComprehensionsLearn Python list comprehensions: build a new list in one readable line, add an if filter, transform items, and know whe๐๏ธNested Lists and Dictionaries in PythonLearn to nest data in Python: lists inside lists (grids), dictionaries inside dictionaries, and lists of dictionaries fo๐คPython String Methods Deep DiveGo deeper with Python string methods: case conversion, strip, replace, split and join, find and count, startswith and en๐งทPython Tuples and SetsLearn Python tuples and sets: immutable tuples, tuple unpacking, returning multiple values, plus sets for unique items a๐ขPython Turtle GraphicsA teen-friendly Python tutorial on turtle graphics: draw shapes and patterns with a virtual pen, use loops and functions๐The 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๐Reading 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, ๐Recursion ExplainedUnderstand recursion: how a function can call itself, why every recursion needs a base case, and how the call stack work๐Recursion in Python: Functions That Call ThemselvesUnderstand recursion in Python: base cases, recursive cases, the call stack, factorial and countdown examples, plus when๐ผ๏ธResponsive Images and Media QueriesMake images and layouts adapt to any screen: fluid images, the srcset and sizes attributes, the picture element, and med๐ฑResponsive Web Design BasicsA teen-friendly tutorial on responsive web design: use the viewport meta tag, relative units, flexible layouts with flex๐๏ธSemantic HTML ElementsLearn semantic HTML: use header, nav, main, section, article, aside and footer to give your pages meaning, better access๐Sorting and Searching AlgorithmsLearn the classic sorting and searching algorithms: linear vs binary search, bubble and selection sort, how Big-O descri๐จStyling Web Pages with CSSLearn CSS to style web pages: selectors, colors, fonts, spacing with the box model, and layout basics. Make plain HTML l๐ฆThe CSS Box Model ExplainedMaster the CSS box model: content, padding, border and margin, plus box-sizing: border-box and why elements take the spa๐Using Python Libraries (modules)Learn how Python libraries and modules work: import the standard library, use math, random, datetime and statistics, pic๐Version Control with Git: The BasicsGet started with Git version control: understand repositories, the staging area, commits, and a clean workflow. Learn in๐๏ธWhat Are Data Structures?Explore data structures in computer science: arrays, linked lists, stacks, queues, hash tables, and trees. Learn how eac๐What Is an API?A clear teen explainer on APIs: what an Application Programming Interface is, how requests and responses work, what JSON๐Working with CSV Data in PythonRead and write spreadsheet-style data in Python with the csv module: parse rows, use DictReader and DictWriter, total a ๐๏ธWorking 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๐Your First Python ProgramA teen-friendly Python tutorial: write your first program, use print, variables, input, and basic math, and understand h