Choose a subtopic
Programming & technology
Build a solid foundation in programming, web development, algorithms and secure software. Work through small examples before moving into the interactive Learn studio.
10 published guides · Free access · Examples & explained answers
10 guides to explore
Python variables and types: follow the value, not the label
A small Python program becomes easier to understand when you track the values it produces. This guide explains assignment, numbers, strings and predictable updates through a ticket-counting example.
Read guideJavaScript functions: inputs, return values and scope
Functions make a useful promise: given some inputs, perform a named task and return a result. Learn to distinguish that result from console output and to keep temporary values inside the function.
Read guideSemantic HTML: make a page understandable without guessing
Accessible structure starts with ordinary HTML. Use headings, links, buttons and form labels to communicate what a page contains and what each control does, before adding visual styling.
Read guideResponsive CSS: build a layout that survives a narrow screen
A responsive page adapts to available space instead of assuming a particular phone or laptop. Begin with readable content and simple layout rules, then add complexity only when there is room.
Read guideHTTP and APIs: trace a request from the browser to the response
An API problem is easier to investigate when you separate the request, the server decision and the response. Learn what methods, status codes, headers and bodies contribute to that exchange.
Read guideObject-oriented design: keep data and its rules together
A class can represent a concept and the operations allowed on it. The useful question is not how many classes a project contains, but whether each one makes a rule clearer and easier to test.
Read guideAlgorithm complexity: count the work before naming Big O
Complexity describes how work grows as input grows. Start by tracing a real algorithm, choosing what to count and separating its best and worst cases before attaching a complexity label.
Read guideTesting and debugging: turn a surprising result into a clear check
Testing states what should happen; debugging investigates why something else happened. Use both together by reducing a failure to a small example, fixing its cause and keeping a meaningful regression check.
Read guideWeb security basics: validate input and authorise every action
A secure workflow needs more than a hidden button or a valid-looking form. Distinguish authentication, authorisation and validation, then apply those checks where an attacker cannot bypass them: on the server.
Read guideMachine learning foundations: training, validation and honest evaluation
A model learns patterns from examples, but success on those examples does not prove it will work on new ones. Start with a clear prediction task and keep training feedback separate from final evaluation.
Read guide