← All courses

Start here

Developer Foundations

Learn what code is, how your computer and the web work, how to debug a small website, and how to publish it safely.

Built forTotal beginners, students, founders, and vibe coders who want the missing mental model.
StatusIn progress
Account neededNo

By the end

Not just watched. Understood and built.

Navigate files, VS Code, and a terminal without panic.

Explain how source code becomes visible output.

Understand the frontend, API, database, and cloud flow.

Build a small HTML, CSS, and JavaScript website.

Investigate errors with logs and browser tools.

Use basic Git, accessibility, security, and deployment checks.

The lesson rhythm

You will always know what to do next.

Every lesson follows the same calm loop, so new concepts feel familiar.

  1. 01

    Understand

    Start with one plain-English mental model.

  2. 02

    See

    Compare a real example with its visible result.

  3. 03

    Try

    Make one small change and predict what happens.

  4. 04

    Break + verify

    Repair a mistake and prove the fix with evidence.

Project ladder

Build proof, not tutorial clutter.

Each project produces something you can show, test, explain, and improve.

01

First profile card

A semantic, responsive card with one clear interaction.

02

My Learning Quest

A published mini-site with progress, accessibility checks, Git history, and a README.

Complete course map

Every lesson has a purpose, practice task, and mistake clinic.

Open one level at a time. Only the first published lesson is marked Start; the rest are being written and tested.

Level 0Computer ConfidenceMeet the machine, files, editor, and terminal without assuming you know developer language.7 lessons
  1. 001What code actually is15 minStart
    Understand

    Separate written instructions, a running program, and visible output.

    Try it

    Predict and run one tiny Python instruction, then change its message.

    Common mistake

    Thinking code is the finished app—or that AI-generated code is automatically correct.

    Open this lesson
  2. 002Source code, running programs, and output10 minStart
    Understand

    Understand the edit, save, run, and observe loop.

    Try it

    Change a greeting, save the file, run it again, and confirm the output changed.

    Common mistake

    Editing without saving or looking at an older running version.

    Open this lesson
  3. 003Hardware, operating systems, and apps10 minStart
    Understand

    See the layers between a physical machine and the software you use.

    Try it

    Sort a keyboard, Windows, Chrome, and a website into the correct layers.

    Common mistake

    Calling Windows the computer or confusing a browser with a website.

    Open this lesson
  4. 004Files, folders, and extensions12 minStart
    Understand

    Create a tidy project and recognize common file types.

    Try it

    Create my-first-site/index.html and confirm the editor recognizes HTML.

    Common mistake

    Creating index.html.txt or scattering project files across Downloads.

    Open this lesson
  5. 005Paths and your current folder12 minStart
    Understand

    Read relative and absolute paths and know which folder a command uses.

    Try it

    Connect index.html to images/logo.svg and make the image load.

    Common mistake

    Using the wrong slash, letter case, or working directory.

    Open this lesson
  6. 006VS Code without getting lost12 minStart
    Understand

    Use Explorer, Search, Problems, the editor, and the integrated terminal.

    Try it

    Open a whole project folder and make one saved heading change.

    Common mistake

    Opening one loose file instead of the project folder.

    Open this lesson
  7. 007The terminal without fear14 minStart
    Understand

    Read a shell prompt and run safe navigation commands.

    Try it

    Use pwd, ls, mkdir, and cd to create and enter a practice folder.

    Common mistake

    Copying the $ prompt, using the wrong shell command, or assuming silence means failure.

    Open this lesson
Level 1Think Like a ProgramLearn the few mental models that appear in almost every programming language.7 lessons
  1. 008Values, variables, and types12 minStart
    Understand

    See variables as clear names attached to values of different kinds.

    Try it

    Store a score and add two, then compare the number 3 with the text "3".

    Common mistake

    Expecting text and numbers to behave exactly the same.

    Open this lesson
  2. 009Decisions, repetition, and functions14 minStart
    Understand

    Recognize conditions, loops, and reusable actions.

    Try it

    Write pseudocode that returns Pass when a score reaches five.

    Common mistake

    Confusing assignment with comparison or creating an endless loop.

    Open this lesson
  3. 010Input, process, output, and state12 minStart
    Understand

    Trace what software receives, changes, remembers, and displays.

    Try it

    Follow a counter click from zero to one and label each stage.

    Common mistake

    Thinking the screen changes without underlying data changing.

    Open this lesson
  4. 011Languages, syntax, and error messages10 minStart
    Understand

    Understand that languages have different jobs and grammar rules.

    Try it

    Match an HTML tag, a CSS selector, and a JavaScript statement to their files.

    Common mistake

    Mixing syntax from different languages in the same file.

    Open this lesson
  5. 012Interpreters, compilers, and runtimes12 minStart
    Understand

    Understand what turns source code into work the computer can perform.

    Try it

    Match browser to JavaScript, Python to its runtime, and a compiled app to machine instructions.

    Common mistake

    Assuming a computer directly understands every source file.

    Open this lesson
  6. 013Packages, dependencies, versions, and environments14 minStart
    Understand

    Understand reused code and why projects lock compatible versions.

    Try it

    Find a package name, version, and lockfile in a sample project.

    Common mistake

    Blindly installing the newest or an invented package.

    Open this lesson
  7. 014Frontend, backend, API, database, and cloud16 minStart
    Understand

    Build one complete mental picture of a modern app.

    Try it

    Trace a button through the frontend, API, database, response, and updated screen.

    Common mistake

    Putting secrets in frontend code or treating an API as a database.

    Open this lesson
Level 2Meet the WebBuild a small website while learning what the browser and server are actually doing.9 lessons
  1. 015Internet, web, browser, and server10 minPlanned
    Understand

    Distinguish the network, the web, a browser, and a server.

    Try it

    Arrange browser, internet, server, and response in the correct order.

    Common mistake

    Treating Chrome, Google, the internet, and the web as synonyms.

    Detailed lesson page publishing in progress.
  2. 016URLs, domains, DNS, paths, and queries12 minPlanned
    Understand

    Read a web address one part at a time.

    Try it

    Label the protocol, domain, path, query, and fragment in a sample URL.

    Common mistake

    Confusing a domain name with a complete URL.

    Detailed lesson page publishing in progress.
  3. 017Requests, responses, HTTP, and HTTPS14 minPlanned
    Understand

    Understand how a browser asks a server for something and receives a result.

    Try it

    Match status 200, 404, and 500 to success, missing resource, and server failure.

    Common mistake

    Treating every failed page as the same type of coding error.

    Detailed lesson page publishing in progress.
  4. 018Your browser's developer tools14 minPlanned
    Understand

    Use Elements, Console, and Network as evidence.

    Try it

    Temporarily change a heading in Elements and watch it reset after refresh.

    Common mistake

    Believing a DevTools edit changed the real source file.

    Detailed lesson page publishing in progress.
  5. 019Build your first HTML document15 minPlanned
    Understand

    Create a valid page with a title, heading, and paragraph.

    Try it

    Write and open a complete index.html document in the browser.

    Common mistake

    Incorrect nesting, missing closing tags, or the wrong file extension.

    Detailed lesson page publishing in progress.
  6. 020Meaningful HTML: text, links, images, and controls16 minPlanned
    Understand

    Choose elements for meaning, not just appearance.

    Try it

    Build a profile card with a heading, paragraph, link, image text, and button.

    Common mistake

    Making everything a div or using a button where a link belongs.

    Detailed lesson page publishing in progress.
  7. 021CSS selectors, colour, spacing, and the cascade16 minPlanned
    Understand

    Style the page predictably with small reusable rules.

    Try it

    Add colour, padding, and a border to a card class.

    Common mistake

    A missing stylesheet link, selector mismatch, or forgotten unit.

    Detailed lesson page publishing in progress.
  8. 022The box model, layout, and responsive design18 minPlanned
    Understand

    Create a layout that adapts instead of breaking.

    Try it

    Use max-width, padding, auto margins, and wrapping at phone size.

    Common mistake

    Fixed desktop widths, unnecessary absolute positioning, or clipped text.

    Detailed lesson page publishing in progress.
  9. 023JavaScript, the DOM, and events18 minPlanned
    Understand

    Add one interaction you can explain from click to screen update.

    Try it

    Make a button increment a visible count from zero to one to two.

    Common mistake

    Selecting the wrong element or loading the script too early.

    Detailed lesson page publishing in progress.
Level 3Debug and VerifyStop guessing. Learn to reproduce problems, read evidence, and prove a fix.7 lessons
  1. 024A clean project workspace and README12 minPlanned
    Understand

    Organize code, assets, and simple project instructions.

    Try it

    Build a clear file tree and explain the job of every file.

    Common mistake

    Names such as final-final2.js or no instructions at all.

    Detailed lesson page publishing in progress.
  2. 025Run locally, refresh, and understand caching14 minPlanned
    Understand

    Know which local version you are looking at and when a browser may reuse old files.

    Try it

    Open the correct local project and compare a normal refresh with a hard refresh.

    Common mistake

    Wrong folder, wrong port, unsaved file, or cached output.

    Detailed lesson page publishing in progress.
  3. 026How to read an error message14 minPlanned
    Understand

    Extract the message, file, line number, and useful stack frame.

    Try it

    Fix a missing parenthesis using the exact reported location.

    Common mistake

    Reading only the words something went wrong.

    Detailed lesson page publishing in progress.
  4. 027The debugging loop16 minPlanned
    Understand

    Reproduce, isolate, form a hypothesis, change one thing, and verify.

    Try it

    Repair a broken button through one controlled experiment.

    Common mistake

    Random edits or changing five things at once.

    Detailed lesson page publishing in progress.
  5. 028Console logs and breakpoints16 minPlanned
    Understand

    Pause and inspect what the program believed at one moment.

    Try it

    Compare a counter value before and after a click.

    Common mistake

    Logging passwords or burying useful evidence in noisy logs.

    Detailed lesson page publishing in progress.
  6. 029Network and API debugging16 minPlanned
    Understand

    Inspect a request's URL, method, status, payload, and response.

    Try it

    Find a 404 caused by one incorrect endpoint path.

    Common mistake

    Blaming the interface before checking the server response.

    Detailed lesson page publishing in progress.
  7. 030Tests, formatting, linting, and builds18 minPlanned
    Understand

    Understand what each check proves and what it cannot prove.

    Try it

    Run mobile, keyboard, empty-input, console, lint, test, and build checks.

    Common mistake

    Assuming works on my machine or a green build proves everything.

    Detailed lesson page publishing in progress.
Level 4Save, Collaborate, and Ship SafelyUse Git, accessibility, security, previews, and deployment without risking the project.10 lessons
  1. 031Backups, version control, Git, and GitHub are different10 minPlanned
    Understand

    Give backups, local history, and remote collaboration their correct jobs.

    Try it

    Classify a zip backup, local Git repository, and GitHub remote.

    Common mistake

    Assuming GitHub replaces every backup or that Git and GitHub are identical.

    Detailed lesson page publishing in progress.
  2. 032Modified, staged, and committed14 minPlanned
    Understand

    Understand Git's three everyday file states.

    Try it

    Edit, inspect, stage, commit, and return to a clean status.

    Common mistake

    Staging secrets or committing without reviewing the diff.

    Detailed lesson page publishing in progress.
  3. 033Read diffs, history, and recover carefully14 minPlanned
    Understand

    Inspect added and removed lines before accepting or undoing work.

    Try it

    Explain a tiny diff and locate its commit in project history.

    Common mistake

    Running destructive recovery commands copied from AI.

    Detailed lesson page publishing in progress.
  4. 034GitHub repositories, READMEs, issues, and licenses14 minPlanned
    Understand

    Understand the parts of a public open-source project.

    Try it

    Find source files, README, Issues, Actions, license, and history.

    Common mistake

    Thinking a public repository lets strangers overwrite main.

    Detailed lesson page publishing in progress.
  5. 035Branches, remotes, push, pull, and pull requests16 minPlanned
    Understand

    Follow a safe collaboration path from branch to reviewed merge.

    Try it

    Create one focused branch and review its pull-request diff.

    Common mistake

    Working directly on main or merging failed checks.

    Detailed lesson page publishing in progress.
  6. 036Accessibility: meaning, labels, alt text, and keyboard use16 minPlanned
    Understand

    Make functionality usable without a mouse or sight.

    Try it

    Repair an unlabeled input and a clickable div that cannot be reached by keyboard.

    Common mistake

    Treating placeholders as labels or accessibility as a later extra.

    Detailed lesson page publishing in progress.
  7. 037Accessible visuals: contrast, focus, zoom, and motion16 minPlanned
    Understand

    Keep interfaces readable, calm, and usable when text grows.

    Try it

    Test focus, zoomed text, and a reduced-motion fallback.

    Common mistake

    Colour-only status, faint text, removed focus outlines, or forced motion.

    Detailed lesson page publishing in progress.
  8. 038Security basics for every beginner18 minPlanned
    Understand

    Protect secrets, validate input, check permissions, and review dependencies.

    Try it

    Move a demo API key out of browser code and into a server environment variable.

    Common mistake

    Believing .env repairs a key already committed to Git history.

    Detailed lesson page publishing in progress.
  9. 039Local, preview, and production environments14 minPlanned
    Understand

    Separate experimental work from the system real users depend on.

    Try it

    Choose the preview environment for a risky change and explain why.

    Common mistake

    Mixing test and production credentials or data.

    Detailed lesson page publishing in progress.
  10. 040Deploy, verify, and roll back with GitHub and Vercel18 minPlanned
    Understand

    Publish deliberately and inspect the experience users actually receive.

    Try it

    Push, inspect a preview, test mobile and links, then promote or revert.

    Common mistake

    Assuming a successful deployment means the feature works.

    Detailed lesson page publishing in progress.
Level 5Capstone: My Learning QuestPlan, build, test, publish, and explain one small website without hiding behind AI.6 lessons
  1. 041Plan the project and acceptance checks16 minPlanned
    Understand

    Define the user, outcome, files, and six clear requirements.

    Try it

    Write Given/When/Then checks for a learning-progress button.

    Common mistake

    Asking AI for a complete app before deciding what complete means.

    Detailed lesson page publishing in progress.
  2. 042Build the semantic HTML24 minPlanned
    Understand

    Create meaningful page structure and real content first.

    Try it

    Make the page understandable even with its stylesheet disabled.

    Common mistake

    Designing empty containers before writing the content.

    Detailed lesson page publishing in progress.
  3. 043Create readable, responsive CSS26 minPlanned
    Understand

    Add hierarchy, spacing, focus states, and a mobile layout.

    Try it

    Make the page work around 320 pixels wide and on desktop.

    Common mistake

    Overdecorating before layout and readability are stable.

    Detailed lesson page publishing in progress.
  4. 044Add one JavaScript interaction24 minPlanned
    Understand

    Handle a click, update state, and render the result.

    Try it

    Mark one of three learning quests complete and update the count.

    Common mistake

    Letting AI add a framework for a tiny interaction.

    Detailed lesson page publishing in progress.
  5. 045Debug and audit the finished project24 minPlanned
    Understand

    Collect evidence for function, mobile, keyboard, accessibility, and security.

    Try it

    Complete a release checklist with a result for every check.

    Common mistake

    Asking whether it looks okay instead of testing defined behaviour.

    Detailed lesson page publishing in progress.
  6. 046Commit, publish, verify, and explain18 minPlanned
    Understand

    Create a useful commit, README, deployment, and honest reflection.

    Try it

    Publish a working URL and explain every file plus one bug you fixed.

    Common mistake

    Shipping code you cannot explain or failing to verify production.

    Detailed lesson page publishing in progress.

Developer Foundations · Level 0 + Level 1

Your published learning path

0 of 14 published lessons completed.

0% of the published path complete

Level 0

Computer Confidence

0/7 · 0%
  1. 1
    What code actually isCourse lesson 1 · Unlocked
  2. 2
    Source code, running programs, and outputCourse lesson 2 · Locked
  3. 3
    Hardware, operating systems, and appsCourse lesson 3 · Locked
  4. 4
    Files, folders, and extensionsCourse lesson 4 · Locked
  5. 5
    Paths and your current folderCourse lesson 5 · Locked
  6. 6
    VS Code without getting lostCourse lesson 6 · Locked
  7. 7
    The terminal without fearCourse lesson 7 · Locked
Level 1

Think Like a Program

0/7 · 0%
  1. 1
    Values, variables, and typesCourse lesson 8 · Locked
  2. 2
    Decisions, repetition, and functionsCourse lesson 9 · Locked
  3. 3
    Input, process, output, and stateCourse lesson 10 · Locked
  4. 4
    Languages, syntax, and error messagesCourse lesson 11 · Locked
  5. 5
    Interpreters, compilers, and runtimesCourse lesson 12 · Locked
  6. 6
    Packages, dependencies, versions, and environmentsCourse lesson 13 · Locked
  7. 7
    Frontend, backend, API, database, and cloudCourse lesson 14 · Locked

Keep free learning visible

Learned something? Star the repo.

A GitHub star is a tiny thank-you that helps the next vibe coder discover these free lessons.

  • Free to learn
  • Open source
  • Built with learners
Open GitHub & starOn GitHub, tap Star near the top-right.