Free lessons on HTML, CSS, JavaScript, Python, algorithms, and more — written for students, not robots.
54 lessons
Learn what HTML is and build your first web page from scratch using tags, headings, paragraphs, and links.
Learn how to create forms with text inputs, buttons, checkboxes, and dropdowns to collect information from users.
Learn how to style your HTML with colors, fonts, spacing, and layouts using CSS.
Master Flexbox to create responsive layouts — centering, spacing, and aligning elements without hacks.
Learn variables, data types, functions, and how to make your web pages respond to user actions.
Learn to store, access, and manipulate lists of data using JavaScript arrays and their powerful built-in methods.
Learn how to use JavaScript to change HTML elements, respond to clicks, and build interactive web pages.
Learn Python fundamentals — variables, types, loops, and functions. The most beginner-friendly programming language.
Learn to use Python dictionaries to store and retrieve data using keys — like a real-world dictionary but for code.
Understand how Python stores different kinds of information — numbers, text, true/false values, and more. Written for complete beginners.
Learn how Python makes choices using if, elif, and else — the building blocks of smart programs that react to different situations.
Learn how to use for loops and while loops to make Python repeat tasks for you — from counting to processing lists of data.
Learn how to store, access, and manipulate groups of data with Python lists — one of the most important tools in programming.
Learn how to create your own functions in Python — reusable blocks of code that make your programs organized, shorter, and easier to fix.
Learn how to get information from users with input() and display results beautifully with print() and f-strings.
Understand what algorithms are, why they matter, and how to think about solving problems step by step.
Learn how Bubble Sort, Selection Sort, and the built-in sort work — and why some are faster than others.
A step-by-step framework for approaching coding challenges — from understanding the problem to testing your solution.
Learn systematic debugging techniques — how to find and fix bugs without randomly changing code and hoping.
Understand what happens when you type a URL — servers, browsers, HTTP, DNS, and how it all fits together.
Learn to build websites that look great on phones, tablets, and desktops using media queries and flexible layouts.
Discover what code really is, why computers need it, and how a few lines of text can make amazing things happen.
Learn about strings, numbers, booleans, and more — the building blocks that every programming language uses to store information.
Understand the difference between frontend (what you see) and backend (what happens behind the scenes) in websites and apps.
Learn what databases are, why every app needs one, and how they organize information — explained simply for beginners.
Understand what actually happens when you type a web address and hit Enter — servers, requests, DNS, and how it all connects.
Discover what artificial intelligence really is, how it differs from regular programming, and where you encounter AI every day.
Learn how chatbots understand your messages and generate responses, from simple rule-based bots to modern AI assistants.
Understand how machine learning models are trained with data, what training and testing means, and why data quality matters.
Explore the important ethical questions around AI, including bias, privacy, and what it means to build technology responsibly.
Learn how to write better prompts to get more useful and accurate responses from AI assistants like ChatGPT.
Learn about the game loop, the fundamental concept that makes every video game tick, update, and render frame by frame.
Learn how to move game characters on screen using coordinates, velocity, and keyboard input in JavaScript.
Learn how games detect when objects overlap, from simple rectangle collision to the math behind hit detection.
Learn how to track score, lives, levels, and game state to turn a simple demo into a real game with progression.
Discover what data really is, explore the different types of data all around you, and learn how people use it every day.
Learn how data is stored in tables and CSV files, and how to read and create your own data files.
Learn how to turn boring numbers into beautiful charts that tell a story, using Python and simple visualization libraries.
Learn how data scientists ask good questions, find answers in data, and avoid common mistakes in data analysis.
Learn what version control is, why every developer uses Git, and how it saves you from losing your work forever.
Master the commit workflow: staging changes, writing good commit messages, and building a clean project history.
Learn how to push your code to GitHub, clone other projects, and collaborate with other developers online.
Discover what APIs are, why they matter, and how they let different apps and services communicate with each other.
Learn what JSON is, how to read and write it, and why it is the most popular format for sending data between apps.
Learn how to use JavaScript's fetch function to get real data from APIs and display it on a web page.
Learn how passwords protect your accounts, what encryption is, and why 'password123' is a terrible password.
Learn about common hacking techniques like phishing and social engineering, and how understanding them helps you stay safe.
Build your personal cybersecurity toolkit with practical tips for keeping your accounts, devices, and information safe.
Follow the journey of an app from a lightbulb moment to a finished product, and learn the steps real developers follow.
Learn how to plan your app's interface using wireframes, and why designing on paper saves hours of coding time.
Learn the MVP approach that startups use to build products fast, get real feedback, and avoid wasting time on features nobody wants.
Discover how programmers approach problems differently and develop the logical thinking skills that make coding easier.
Learn to plan your programs with pseudocode and flowcharts before writing actual code, making complex problems simpler.
Master decomposition, the most important skill in programming: breaking complex problems into small, solvable pieces.