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
First step: Build your first HTML page
Before you begin: No coding experience needed. Start with your first HTML page.
Course steps
- 1 · LESSONBuild your first HTML pageLoading progress…
Give a page a title, a heading, and a paragraph. Learn what the tags mean.
- 2 · LESSONUnderstand the basic HTML documentLoading progress…
Find the head and body, and give your page the settings a browser needs.
- 3 · LESSONOrganize headings and paragraphsLoading progress…
Give text a readable hierarchy with headings, paragraphs, and meaningful breaks.
- 4 · LESSONConnect pages and describe imagesLoading progress…
Add useful links and images that still make sense when the picture cannot be seen.
- 5 · LESSONGroup related information with listsLoading progress…
Choose an ordered, unordered, or description list based on what your content means.
- 6 · LESSONOrganize data in an HTML tableLoading progress…
Build a small table with a caption and headers that explain its cells.
- 7 · LESSONMake inputs easy to understandLoading progress…
Connect labels to inputs and understand the difference between a form and a working service.
- 8 · LESSONDescribe a page with semantic HTMLLoading progress…
Choose meaningful regions for navigation, main content, articles, and supporting information.
- 9 · PRACTICEStructure a study planLoading progress…
Turn plain text into headings, paragraphs, and a list.
- 10 · LESSONMake your HTML easier for everyone to useLoading progress…
Review labels, link text, alternative text, and keyboard access with practical checks.
- 11 · LESSONBuild a complete form with useful checksLoading progress…
Extend basic inputs with grouped choices, a dropdown, a message, and browser validation.
- 12 · LESSONAdd audio, video, and useful alternativesLoading progress…
Use native media controls and provide captions or transcripts so the information stays available.
- 13 · OPTIONAL PREVIEWMeet browser APIs: a preview of JavaScriptLoading progress…
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.
- 14 · LESSONDisplay special characters and HTML as textLoading progress…
Use character references when text would otherwise be interpreted as markup.
- 15 · LESSONDescribe your page with titles and metadataLoading progress…
Write useful page information for browser tabs, search previews, and shared links.
- 16 · PRACTICEBuild your first complete HTML webpageLoading progress…
Combine your HTML skills in a personal learning portfolio built in your own files.
2. CSS fundamentals
Style text and boxes, introduce layout systems, and make pages fit different screens.
— / 13 required steps complete
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 · LESSONStyle your first pageLoading progress…
Connect CSS to HTML and read a rule as selector, property, and value.
- 2 · LESSONChoose elements with CSS selectorsLoading progress…
Target the intended elements, then understand which matching declaration wins.
- 3 · LESSONChoose colors and backgroundsLoading progress…
Separate text from background color and build readable surfaces.
- 4 · LESSONMake text comfortable to readLoading progress…
Choose fonts, size, line spacing, and emphasis with a clear reading hierarchy.
- 5 · LESSONUnderstand the space around a boxLoading progress…
Distinguish content, padding, border, and margin before sizing a card.
- 6 · PRACTICEStyle a reading cardLoading progress…
Give a simple card readable text and comfortable spacing.
- 7 · LESSONFollow normal flow and positioningLoading progress…
Understand display modes and offsets before using Flexbox and Grid.
- 8 · LESSONArrange a row or column with FlexboxLoading progress…
Separate container alignment from the sizing of its direct children.
- 9 · LESSONArrange rows and columns with GridLoading progress…
Define tracks and place items using grid lines without confusing them with cells.
- 10 · LESSONMake a page fit small and large screensLoading progress…
Combine flexible widths and media queries without shrinking text to force a fit.
- 11 · LESSONAdd purposeful transitions and animationsLoading progress…
Animate a state change, recognize keyframes, and respect reduced-motion preferences.
- 12 · LESSONReuse values with CSS custom propertiesLoading progress…
Name shared design values, inherit them, and override a theme in one place.
- 13 · LESSONStyle states and parts with clear CSSLoading progress…
Distinguish pseudo-classes from pseudo-elements and finish with maintainable, accessible styles.
3. Flexbox
Arrange rows and columns, build navigation, and investigate flexible sizing.
— / 6 required steps complete
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 · LESSONKeep nested axes and reading order straightLoading progress…
Reason about independent flex containers and visual order without repeating the basic row-and-column setup.
- 2 · LESSONAlign individual items and separate groupsLoading progress…
Compare align-self, text baselines, and auto margins with container-wide alignment.
- 3 · PRACTICECenter a card with FlexboxLoading progress…
Build a centered welcome card by writing the CSS yourself.
- 4 · LESSONPredict line breaks and align whole linesLoading progress…
Calculate a wrapping threshold and separate line alignment from item alignment.
- 6 · LESSONCalculate growth, shrinkage, and minimum sizesLoading progress…
Distinguish free-space shares from final widths and diagnose content that refuses to shrink.
4. CSS Grid
Control tracks and placement, then combine Flexbox and Grid in a landing page.
— / 6 required steps complete
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 · LESSONControl the rows your grid creates automaticallyLoading progress…
Separate explicit track definitions from implicit tracks created by extra content.
- 2 · LESSONBudget track space and diagnose intrinsic overflowLoading progress…
Calculate what remains after fixed tracks and gaps, then test the minimum behind 1fr.
- 3 · PRACTICEBuild a responsive card gridLoading progress…
Build three equal feature cards that stack on mobile.
- 4 · LESSONPredict placement gaps without changing reading orderLoading progress…
Compare ordinary and dense auto-placement when spanning items leave holes.
- 5 · LESSONCompare empty tracks in auto-fit and auto-fillLoading progress…
Reveal the empty-track difference and protect a responsive minimum on very narrow screens.
- 6 · PRACTICEBuild a complete landing pageLoading progress…
Combine a responsive navbar, centered hero, and feature grid in one page.
5. JavaScript
Work with values, respond to users, and handle stored and asynchronous data.
— / 21 required steps complete
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 · LESSONMeet JavaScript and run your first scriptLoading progress…
Add behavior to a page and see your first message in the Console.
- 2 · LESSONStore values with variables and data typesLoading progress…
Use let and const, recognize basic types, and follow a variable's scope.
- 3 · LESSONCombine values with operators and expressionsLoading progress…
Calculate results, compare values, and recognize conversion surprises.
- 4 · LESSONChoose a path with conditionsLoading progress…
Use if, else, and switch to make decisions from values.
- 5 · LESSONRepeat a task with loopsLoading progress…
Read a loop's start, condition, update, and stopping point.
- 6 · LESSONGive reusable work a functionLoading progress…
Define functions, pass arguments, and use returned values.
- 7 · LESSONKeep and transform a collection with arraysLoading progress…
Read indexes, change items, and choose map, filter, or reduce.
- 8 · LESSONDescribe one thing with an objectLoading progress…
Group named properties, read nested values, and add a method.
- 9 · LESSONFind and change page elements with the DOMLoading progress…
Select existing elements and create new content safely.
- 10 · LESSONRespond to clicks, input, and form submissionsLoading progress…
Connect page events to callbacks, read current input, and update a message.
- 11 · PRACTICEBuild a click counterLoading progress…
Make buttons change a number with click events.
- 12 · PRACTICEBuild a greeting formLoading progress…
Read a name and respond when a form is submitted.
- 13 · LESSONRead modern JavaScript syntaxLoading progress…
Use templates, defaults, destructuring, and spread without hiding their meaning.
- 14 · LESSONUnderstand methods, references, and object copiesLoading progress…
Follow this, shared objects, shallow copies, and prototype lookup.
- 15 · LESSONMove data between objects and JSON textLoading progress…
Serialize values, parse text, and check data before using it.
- 16 · LESSONRemember a preference with browser storageLoading progress…
Save strings, restore validated data, and handle unavailable storage.
- 17 · LESSONBuild a small to-do listLoading progress…
Combine form events, text input, and DOM creation in a usable project.
- 18 · LESSONUnderstand asynchronous JavaScriptLoading progress…
Compare immediate work with callbacks scheduled for later.
- 19 · LESSONHandle a future result with promisesLoading progress…
Follow pending, fulfilled, and rejected results through a chain.
- 20 · LESSONRead asynchronous steps with async and awaitLoading progress…
Await promise results and recover with try, catch, and finally.
- 21 · LESSONRequest and check JSON with fetchLoading progress…
Separate network failure, HTTP status, JSON parsing, and data validation.
6. Local projects
Connect files, run and debug local projects, then build a sample-weather interface.
— / 6 required steps complete
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 · LESSONOrganize your first websiteLoading progress…
Give files clear homes and connect them with paths that work.
- 2 · PRACTICEFix broken file pathsLoading progress…
Reconnect stylesheets, scripts, images, and links using a folder tree.
- 3 · LESSONRun your first project on your computerLoading progress…
Take your practice out of Tuklas: open real files, make an edit, and see it in your browser.
- 4 · LESSONFind and fix a bug one step at a timeLoading progress…
Compare what you expected with what happened, investigate a cause, and test one small change.
- 5 · PRACTICEFix this pageLoading progress…
Investigate three bugs in a small counter page.
- 6 · PRACTICEBuild a weather interface with asynchronous dataLoading progress…
Build a sample-weather interface locally, with loading, missing-data, and error states.
JavaScript capstone · combines the completed courses.