YOUR GUIDED LEARNING PATH

A clear path from your first page to a working project.

Follow six courses in order. Learn a concept, try its example, and complete a practice checkpoint when you are ready. Each subject stays in its own course.

Your first step starts here

— / 67 required steps complete · Saved in this browser.

Course 1 of 6 · HTML fundamentals

Start: Build your first HTML page →

Follow the recommended order or open any step. Optional previews, challenges, and playgrounds do not block completion.

Choose a course · HTML → CSS → Flexbox → CSS Grid → JavaScript → Local projects

1. HTML fundamentals

Build a complete HTML page with meaningful structure and accessible content. No CSS or JavaScript needed.

— / 15 required steps complete · 1 optional preview

Continue this course →

First step: Build your first HTML page

Before you begin: No coding experience needed. Start with your first HTML page.

Course steps
  1. 1 · LESSON
    Build your first HTML page

    Give a page a title, a heading, and a paragraph. Learn what the tags mean.

    Loading progress…
  2. 2 · LESSON
    Understand the basic HTML document

    Find the head and body, and give your page the settings a browser needs.

    Loading progress…
  3. 3 · LESSON
    Organize headings and paragraphs

    Give text a readable hierarchy with headings, paragraphs, and meaningful breaks.

    Loading progress…
  4. 5 · LESSON
    Group related information with lists

    Choose an ordered, unordered, or description list based on what your content means.

    Loading progress…
  5. 6 · LESSON
    Organize data in an HTML table

    Build a small table with a caption and headers that explain its cells.

    Loading progress…
  6. 7 · LESSON
    Make inputs easy to understand

    Connect labels to inputs and understand the difference between a form and a working service.

    Loading progress…
  7. 8 · LESSON
    Describe a page with semantic HTML

    Choose meaningful regions for navigation, main content, articles, and supporting information.

    Loading progress…
  8. 9 · PRACTICE
    Structure a study plan

    Turn plain text into headings, paragraphs, and a list.

    Loading progress…
  9. 10 · LESSON
    Make your HTML easier for everyone to use

    Review labels, link text, alternative text, and keyboard access with practical checks.

    Loading progress…
  10. 11 · LESSON
    Build a complete form with useful checks

    Extend basic inputs with grouped choices, a dropdown, a message, and browser validation.

    Loading progress…
  11. 12 · LESSON
    Add audio, video, and useful alternatives

    Use native media controls and provide captions or transcripts so the information stays available.

    Loading progress…
  12. 13 · OPTIONAL PREVIEW
    Meet browser APIs: a preview of JavaScript

    See how HTML provides a place for JavaScript to draw, remember values, or request location.

    Stay in HTML for the overview; revisit its JavaScript exercises after variables and events. Not required to finish this course.

    Loading progress…
  13. 14 · LESSON
    Display special characters and HTML as text

    Use character references when text would otherwise be interpreted as markup.

    Loading progress…
  14. 15 · LESSON
    Describe your page with titles and metadata

    Write useful page information for browser tabs, search previews, and shared links.

    Loading progress…
  15. 16 · PRACTICE
    Build your first complete HTML webpage

    Combine your HTML skills in a personal learning portfolio built in your own files.

    Loading progress…

2. CSS fundamentals

Style text and boxes, introduce layout systems, and make pages fit different screens.

— / 13 required steps complete

Continue this course →

First step: Style your first page

Before you begin: You will style HTML elements. Be comfortable with tags, attributes, and nesting first.

Recommended after HTML fundamentals.

Course steps
  1. 1 · LESSON
    Style your first page

    Connect CSS to HTML and read a rule as selector, property, and value.

    Loading progress…
  2. 2 · LESSON
    Choose elements with CSS selectors

    Target the intended elements, then understand which matching declaration wins.

    Loading progress…
  3. 3 · LESSON
    Choose colors and backgrounds

    Separate text from background color and build readable surfaces.

    Loading progress…
  4. 4 · LESSON
    Make text comfortable to read

    Choose fonts, size, line spacing, and emphasis with a clear reading hierarchy.

    Loading progress…
  5. 5 · LESSON
    Understand the space around a box

    Distinguish content, padding, border, and margin before sizing a card.

    Loading progress…
  6. 6 · PRACTICE
    Style a reading card

    Give a simple card readable text and comfortable spacing.

    Loading progress…
  7. 7 · LESSON
    Follow normal flow and positioning

    Understand display modes and offsets before using Flexbox and Grid.

    Loading progress…
  8. 8 · LESSON
    Arrange a row or column with Flexbox

    Separate container alignment from the sizing of its direct children.

    Loading progress…
  9. 9 · LESSON
    Arrange rows and columns with Grid

    Define tracks and place items using grid lines without confusing them with cells.

    Loading progress…
  10. 10 · LESSON
    Make a page fit small and large screens

    Combine flexible widths and media queries without shrinking text to force a fit.

    Loading progress…
  11. 11 · LESSON
    Add purposeful transitions and animations

    Animate a state change, recognize keyframes, and respect reduced-motion preferences.

    Loading progress…
  12. 12 · LESSON
    Reuse values with CSS custom properties

    Name shared design values, inherit them, and override a theme in one place.

    Loading progress…
  13. 13 · LESSON
    Style states and parts with clear CSS

    Distinguish pseudo-classes from pseudo-elements and finish with maintainable, accessible styles.

    Loading progress…

3. Flexbox

Arrange rows and columns, build navigation, and investigate flexible sizing.

— / 6 required steps complete

Continue this course →

First step: Keep nested axes and reading order straight

Before you begin: You will work with flexible layouts. Review CSS selectors, the box model, and basic layout first.

Recommended after CSS fundamentals.

Course steps
  1. 1 · LESSON
    Keep nested axes and reading order straight

    Reason about independent flex containers and visual order without repeating the basic row-and-column setup.

    Loading progress…
  2. 2 · LESSON
    Align individual items and separate groups

    Compare align-self, text baselines, and auto margins with container-wide alignment.

    Loading progress…
  3. 3 · PRACTICE
    Center a card with Flexbox

    Build a centered welcome card by writing the CSS yourself.

    Loading progress…
  4. 4 · LESSON
    Predict line breaks and align whole lines

    Calculate a wrapping threshold and separate line alignment from item alignment.

    Loading progress…
  5. 5 · PRACTICE
    Build a responsive navbar

    Arrange a brand and menu that adapt to small screens.

    Loading progress…
  6. 6 · LESSON
    Calculate growth, shrinkage, and minimum sizes

    Distinguish free-space shares from final widths and diagnose content that refuses to shrink.

    Loading progress…

4. CSS Grid

Control tracks and placement, then combine Flexbox and Grid in a landing page.

— / 6 required steps complete

Continue this course →

First step: Control the rows your grid creates automatically

Before you begin: You will arrange page sections in rows and columns. Bring your CSS box-model knowledge and Flexbox practice.

Recommended after Flexbox.

Course steps
  1. 1 · LESSON
    Control the rows your grid creates automatically

    Separate explicit track definitions from implicit tracks created by extra content.

    Loading progress…
  2. 2 · LESSON
    Budget track space and diagnose intrinsic overflow

    Calculate what remains after fixed tracks and gaps, then test the minimum behind 1fr.

    Loading progress…
  3. 3 · PRACTICE
    Build a responsive card grid

    Build three equal feature cards that stack on mobile.

    Loading progress…
  4. 4 · LESSON
    Predict placement gaps without changing reading order

    Compare ordinary and dense auto-placement when spanning items leave holes.

    Loading progress…
  5. 5 · LESSON
    Compare empty tracks in auto-fit and auto-fill

    Reveal the empty-track difference and protect a responsive minimum on very narrow screens.

    Loading progress…
  6. 6 · PRACTICE
    Build a complete landing page

    Combine a responsive navbar, centered hero, and feature grid in one page.

    Loading progress…

5. JavaScript

Work with values, respond to users, and handle stored and asynchronous data.

— / 21 required steps complete

Continue this course →

First step: Meet JavaScript and run your first script

Before you begin: You will add behavior to pages. Familiarity with HTML elements, forms, and basic CSS will help.

Recommended after CSS Grid.

Course steps
  1. 1 · LESSON
    Meet JavaScript and run your first script

    Add behavior to a page and see your first message in the Console.

    Loading progress…
  2. 2 · LESSON
    Store values with variables and data types

    Use let and const, recognize basic types, and follow a variable's scope.

    Loading progress…
  3. 3 · LESSON
    Combine values with operators and expressions

    Calculate results, compare values, and recognize conversion surprises.

    Loading progress…
  4. 4 · LESSON
    Choose a path with conditions

    Use if, else, and switch to make decisions from values.

    Loading progress…
  5. 5 · LESSON
    Repeat a task with loops

    Read a loop's start, condition, update, and stopping point.

    Loading progress…
  6. 6 · LESSON
    Give reusable work a function

    Define functions, pass arguments, and use returned values.

    Loading progress…
  7. 7 · LESSON
    Keep and transform a collection with arrays

    Read indexes, change items, and choose map, filter, or reduce.

    Loading progress…
  8. 8 · LESSON
    Describe one thing with an object

    Group named properties, read nested values, and add a method.

    Loading progress…
  9. 9 · LESSON
    Find and change page elements with the DOM

    Select existing elements and create new content safely.

    Loading progress…
  10. 10 · LESSON
    Respond to clicks, input, and form submissions

    Connect page events to callbacks, read current input, and update a message.

    Loading progress…
  11. 11 · PRACTICE
    Build a click counter

    Make buttons change a number with click events.

    Loading progress…
  12. 12 · PRACTICE
    Build a greeting form

    Read a name and respond when a form is submitted.

    Loading progress…
  13. 13 · LESSON
    Read modern JavaScript syntax

    Use templates, defaults, destructuring, and spread without hiding their meaning.

    Loading progress…
  14. 14 · LESSON
    Understand methods, references, and object copies

    Follow this, shared objects, shallow copies, and prototype lookup.

    Loading progress…
  15. 15 · LESSON
    Move data between objects and JSON text

    Serialize values, parse text, and check data before using it.

    Loading progress…
  16. 16 · LESSON
    Remember a preference with browser storage

    Save strings, restore validated data, and handle unavailable storage.

    Loading progress…
  17. 17 · LESSON
    Build a small to-do list

    Combine form events, text input, and DOM creation in a usable project.

    Loading progress…
  18. 18 · LESSON
    Understand asynchronous JavaScript

    Compare immediate work with callbacks scheduled for later.

    Loading progress…
  19. 19 · LESSON
    Handle a future result with promises

    Follow pending, fulfilled, and rejected results through a chain.

    Loading progress…
  20. 20 · LESSON
    Read asynchronous steps with async and await

    Await promise results and recover with try, catch, and finally.

    Loading progress…
  21. 21 · LESSON
    Request and check JSON with fetch

    Separate network failure, HTTP status, JSON parsing, and data validation.

    Loading progress…

6. Local projects

Connect files, run and debug local projects, then build a sample-weather interface.

— / 6 required steps complete

Continue this course →

First step: Organize your first website

Before you begin: You will connect and debug HTML, CSS, and JavaScript files. Complete the fundamentals before combining them here.

Recommended after JavaScript.

Course steps
  1. 1 · LESSON
    Organize your first website

    Give files clear homes and connect them with paths that work.

    Loading progress…
  2. 2 · PRACTICE
    Fix broken file paths

    Reconnect stylesheets, scripts, images, and links using a folder tree.

    Loading progress…
  3. 3 · LESSON
    Run your first project on your computer

    Take your practice out of Tuklas: open real files, make an edit, and see it in your browser.

    Loading progress…
  4. 4 · LESSON
    Find and fix a bug one step at a time

    Compare what you expected with what happened, investigate a cause, and test one small change.

    Loading progress…
  5. 5 · PRACTICE
    Fix this page

    Investigate three bugs in a small counter page.

    Loading progress…
  6. 6 · PRACTICE
    Build a weather interface with asynchronous data

    Build a sample-weather interface locally, with loading, missing-data, and error states.

    JavaScript capstone · combines the completed courses.

    Loading progress…