← LearnGo to the exam
Web fundamentals
HTML, CSS, responsive design, JavaScript, the DOM, async code and a TypeScript start.
HTMLPractice
0/12 lessons- Page structure and text50 min
- Links, images and lists50 min
- Tables45 min
- Forms55 min
- Semantic HTML and accessibility55 min
- Module assignment: Club website in plain HTML90 min
- Audio and video with captions40 min
- Embedding with iframe40 min
- Disclosure and dialog without JavaScript40 min
- Head metadata35 min
- Writing HTML from a wireframe40 min
- HTML validation and error reading40 min
CSSPractice
0/15 lessons- Selectors and rules55 min
- The box model and display55 min
- Colours and typography55 min
- Flexbox55 min
- Grid, positioning and variables55 min
- Module assignment: Plant shop page55 min
- Cascade layers with @layer40 min
- Transitions35 min
- Keyframe animations40 min
- Transforms40 min
- Units in depth50 min
- Backgrounds, gradients and shadows50 min
- Stacking contexts and overflow45 min
- Debugging CSS in devtools40 min
- Logical properties and writing modes40 min
Responsive designPractice
0/12 lessons- The viewport and fluid layouts50 min
- Media queries and mobile first50 min
- Responsive images and media50 min
- Building a responsive page55 min
- Module assignment: Walk calendar page55 min
- Container queries40 min
- Fluid type with clamp40 min
- Responsive navigation45 min
- Touch targets and pointer types40 min
- Print stylesheets35 min
- Reduced motion and colour scheme40 min
- Testing responsive pages in devtools45 min
JavaScript basicsPractice
0/17 lessons- Running JavaScript50 min
- Variables and types55 min
- Operators and type conversion55 min
- Conditionals50 min
- Loops55 min
- Module assignment: Grade report55 min
- Strings and common methods45 min
- Template literals40 min
- Numbers and floating-point error45 min
- null, undefined and NaN40 min
- Hoisting and the temporal dead zone40 min
- Strict mode35 min
- Checking types safely45 min
- Short-circuit, optional chaining and nullish coalescing45 min
- Lab: text statistics tool50 min
- Lab: unit converter with validation55 min
- Practice set: predict the output45 min
Functions, arrays and objectsPractice
0/15 lessons- Functions and scope50 min
- Arrays50 min
- Array methods55 min
- Objects55 min
- Destructuring, spread, modules and JSON55 min
- Module assignment: Library desk55 min
- Closures in practice45 min
- How this is chosen45 min
- Higher-order functions40 min
- Recursion40 min
- Classes40 min
- The prototype chain45 min
- Getters, setters and property flags40 min
- Iterators and iterables40 min
- Error handling with try, catch and custom errors45 min
The DOMPractice
0/11 lessons- What is the DOM and selecting elements50 min
- Changing the page50 min
- Events55 min
- Forms and user input55 min
- Project - a to-do app55 min
- Module assignment: Study planner55 min
- Data attributes and dataset35 min
- MutationObserver and IntersectionObserver45 min
- Focus and keyboard handling50 min
- Lab: accordion45 min
- Lab: modal dialog45 min
Asynchronous JavaScriptPractice
0/13 lessons- Callbacks and timers50 min
- Promises55 min
- async and await55 min
- fetch and working with APIs55 min
- The event loop55 min
- Module assignment: Status board90 min
- Async iteration with for await...of40 min
- Debounce and throttle40 min
- requestAnimationFrame and frame timing40 min
- Web Workers basics45 min
- Retrying with backoff45 min
- Lab: autocomplete search50 min
- Practice set: predict the async output45 min
TypeScript introductionPractice
0/11 lessons- Why TypeScript50 min
- Basic types50 min
- Objects, interfaces and type aliases55 min
- Unions and generics55 min
- tsconfig and converting a JavaScript file55 min
- Module assignment: Typed task tracker55 min
- Type guards45 min
- Function types and overloads45 min
- Typing the DOM and events40 min
- Declaration files and third-party types40 min
- Lab: typed form validator50 min
How the Web WorksPractice
0/5 lessonsSecurity and PerformancePractice
0/4 lessonsAccessibility in PracticePractice
0/3 lessons
Phase exam
A timed mixed test across every module in this phase.