CS-Lab
Computer Science Lab
Explore core computer science concepts through interactive visual models, step-by-step traces and exam-style practice — useful whether you're studying at GCSE, A Level, or undergraduate level.
DATA TYPES
PROGRAMMING TECHNIQUES
Programming Constructs
Sequence, iteration and branching — the building blocks of every program.
Global & Local Variables
Local vs global scope, and how each affects a running program.
Modularity
Functions, procedures, arguments and parameters passed by value or by reference.
Use of an IDE
Compilers vs interpreters, and the debugging tools an IDE provides.
PROGRAM DESIGN
BOOLEAN LOGIC
LANGUAGES
DATA STRUCTURES
Array
Indexed collection of values.
Record
Named fields containing related data.
Tuple
Fixed collection accessed by position.
Stack
Last In, First Out behaviour.
Queue
First In, First Out behaviour.
Linked List
Connected nodes using references.
Tree
Hierarchical parent-child relationships.
Hash Table
Key-value storage using a hashing function.
TREES
GRAPHS
Graph
Nodes connected by edges, with or without weight and direction.
Breadth-First Search
Explore a graph level by level, using a queue.
Depth-First Search
Explore a graph branch by branch, using a stack.
Dijkstra's Algorithm
Find the shortest path between nodes in a weighted graph.
A* Algorithm
A heuristic-guided shortest path search, faster than Dijkstra's in practice.
ALGORITHMS
WORKSPACE
A general Computer Science lab
CS-Lab isn't tied to a single exam board or qualification — it's built to support core computer science learning at any level, from GCSE and A Level through to undergraduate study. Select a topic from the sidebar to begin.