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 Coding

Algorithms

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
Explore Algorithms

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
Explore Asynchronous JavaScript

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
Explore CI/CD

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
Explore CSS Basics

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
Explore Caching

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
Explore Data Structures

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
Explore Docker 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
Explore Express

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
Explore GraphQL

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
Explore HTML Basics

JavaScript Basics

The language itself: variables and scope, data types, conditionals, loops and functions.

  • Conditionals
  • Data Types
  • Functions
  • Loops
  • Variables & Scope
Explore JavaScript Basics

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
Explore Node.js Basics

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
Explore Performance Optimization

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
Explore REST APIs

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
Explore Responsive Design

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
Explore TypeScript Basics

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
Explore Version Control (Git)

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
Explore Web Accessibility

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
Explore Web Security Basics

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 WebSockets

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.

Explore another subject · How C8T works · Plans and limits