Interactive lessons · Practice · Tests
Coding learning and practice
Explore programming, web development, data and software delivery. Work through how code behaves, trace a sequence and practise the concepts behind an implementation.
20 topics · 100 skills · Free plan available
Start learning CodingAlgorithms
Working out how to do something efficiently: sorting, searching, recursion, and what time and space complexity mean.
- Greedy & Divide-and-Conquer
- Recursion
- Searching Algorithms
- Sorting Algorithms
- Time & Space Complexity
Asynchronous JavaScript
JavaScript that waits: the event loop, promises, async and await, handling errors in asynchronous code, and concurrency.
- Async / Await
- Async Error Handling
- Concurrency vs Parallelism
- Event Loop
- Promises
CI/CD
Shipping automatically: what a pipeline is, the build and deploy flow, what triggers it, testing inside it, and rolling back.
- Automation Triggers
- Build & Deploy Flow
- CI/CD Pipeline Concept
- Rollback Strategies
- Testing in CI
CSS Basics
Styling a page — selectors and specificity, the box model, Flexbox and Grid, positioning, and styling that adapts.
- Box Model
- CSS Positioning
- CSS Selectors & Specificity
- Flexbox & Grid
- Responsive Styling
Caching
Keeping an answer so it need not be worked out twice — the kinds of cache, invalidating them, client against server, and the traps.
- Cache Invalidation
- Caching Pitfalls
- Caching Types
- Client vs Server Caching
- Why Caching Exists
Data Structures
Ways to hold data and what each is good at: arrays, objects and maps, stacks and queues, trees and hash tables.
- Arrays
- Hash Tables
- Objects & Maps
- Stacks & Queues
- Trees
Docker Basics
Running software in containers: what a container is, images, writing a Dockerfile, volumes and networking.
- Containers Concept
- Docker Images
- Docker Networking
- Docker Volumes
- Dockerfile Basics
Express
Building a server with Express — routing, how middleware flows, the request and response cycle, and handling errors.
- Error Handling
- Express Server
- Middleware Flow
- Request / Response Cycle
- Routing
GraphQL
Asking an API for exactly what you need: schemas and types, queries and mutations, resolvers, pagination, and how it differs from REST.
- GraphQL vs REST
- Pagination & Filtering
- Queries & Mutations
- Resolvers
- Schemas & Types
HTML Basics
The structure under every page — elements, attributes and semantics, forms and inputs, and the basics of accessibility.
- Accessibility Basics
- Attributes & Semantics
- Document Structure
- Forms & Inputs
- HTML Elements
JavaScript Basics
The language itself: variables and scope, data types, conditionals, loops and functions.
- Conditionals
- Data Types
- Functions
- Loops
- Variables & Scope
Node.js Basics
JavaScript outside the browser — the runtime, modules, the file system, process and environment, and event-driven design.
- Event-Driven Architecture
- File System
- Modules System
- Node.js Runtime
- Process & Environment
Performance Optimization
Making software faster: finding the bottleneck, CPU and memory, measuring before changing, lazy loading and profiling.
- CPU & Memory Usage
- Code Profiling
- Lazy Loading
- Measuring Performance
- Performance Bottlenecks
REST APIs
Designing an HTTP API: REST principles, the methods, status codes, authentication, and paging through results.
- Authentication Basics
- HTTP Methods
- Pagination & Filtering
- REST Principles
- Status Codes
Responsive Design
Pages that fit any screen — viewports, media queries, mobile-first design, responsive images and choosing breakpoints.
- Breakpoints Strategy
- Media Queries
- Mobile-First Design
- Responsive Images
- Viewports
TypeScript Basics
Types on top of JavaScript — the type system, interfaces, generics, inference, and union and intersection types.
- Generics
- Interfaces
- Type Inference
- Type System
- Union & Intersection Types
Version Control (Git)
Keeping a history of your work: commits, branches, merge against rebase, common workflows, and resolving conflicts.
- Branches
- Commits
- Conflict Resolution
- Git Workflows
- Merge vs Rebase
Web Accessibility
Making a site usable by everyone — semantic HTML, ARIA, keyboard navigation, screen readers and colour contrast.
- ARIA Basics
- Color Contrast
- Keyboard Navigation
- Screen Readers
- Semantic HTML
Web Security Basics
The attacks a web app must survive: XSS, CSRF, how authentication works, HTTPS and TLS, and the habits that prevent them.
- Authentication Concepts
- CSRF
- HTTPS & TLS
- Security Best Practices
- XSS
WebSockets
Keeping a connection open both ways — the lifecycle, events and messages, real-time updates, scaling, and how it differs from HTTP.
- Connection Lifecycle
- Events & Messages
- Real-Time Communication
- Scaling WebSockets
- WebSockets vs HTTP
Explore interactive lessons, practise with feedback and use tests to check your understanding. Your account keeps learning progress and test results. Earn XP and build skill levels as you work. Paid checkout is currently closed.