Go beyond recall.
Understand the system.
A focused collection for advanced Computer Science. Explore the models, algorithms and formal ideas that are easier to understand when you can manipulate them yourself.
interactive guides across advanced Computer Science topics
subject groups for focused exploration and revision
login screens between you and a useful explanation
01 / algorithms and programming
Algorithms and Programming
Explore advanced algorithms, recursive thinking, data structures and complexity.
Recursion Fundamentals
Trace factorial and Fibonacci calls, inspect stack frames and compare memoisation.
Open guide → 02Data Structures
Work with linked lists, trees, graphs and hash tables through interactive models.
Open guide → 03Graph Algorithms
Compare BFS, DFS, Dijkstra’s algorithm and A* search.
Open guide → 04Big O and Complexity
Connect algorithm behaviour to formal complexity classes and growth rates.
Open guide → 05Towers of Hanoi
Solve the puzzle, reveal its recursive structure and inspect the call tree.
Open guide → 06Sorting Algorithms
Compare bubble, insertion, merge and quicksort step by step.
Open guide → 07Stacks and Queues
Move beyond LIFO and FIFO into postfix notation, RPN and circular queues.
Open guide →02 / computer systems
Computer Systems
Investigate processors, memory, language translation and formal computation.
CPU Architecture Concepts
Compare processor architectures, instruction sets, multicore systems and GPUs.
Open guide → 09Fetch-Execute Cycle
Explore registers, addressing modes, pipelining and interrupts.
Open guide → 10CPU Scheduling
Compare FCFS, SJF, SRT, round robin and multilevel feedback queues.
Open guide → 11Translators and Compilation
Build tokens, ASTs and symbol tables, then explore optimisation and assembly.
Open guide → 12Memory Management
Visualise paging, segmentation, replacement policies and virtual memory.
Open guide → 13Finite State Machines
Construct and compare machines with and without output.
Open guide → 14Regular Expressions and FSMs
Test expressions and connect regular languages to finite state machines.
Open guide → 15Turing Machines
Run four machines and produce an exam-format execution trace.
Open guide → 16BNF and Syntax Diagrams
Build derivations, trace railroad diagrams and validate language syntax.
Open guide → 17Logic Gates and Boolean Logic
Extend Boolean work through Karnaugh maps and D-type flip-flops.
Open guide →03 / data representation
Data Representation
Model advanced number representation, compression and error detection.
04 / databases
Databases
Design reliable relational systems and practise SQL against real databases.
05 / functional programming
Functional Programming
Explore a different programming paradigm through pure functions and composition.
06 / networks
Networks
Follow data through modern networks from addressing to application protocols.
07 / cyber security
Cyber Security
Connect cryptographic techniques to practical defence against attack.