
Verenigd Koninkrijk · 2026-27
Imperial College London
24 labpractica voor het Imperial College-leerplan.
BEng/MEng Computing aan Imperial College London: computing practicals, algoritmen, databases, besturingssystemen en machine learning. Elke les verloopt in stappen en wordt gecompileerd en gecontroleerd door een echte toolchain op je eigen computer — het model beoordeelt je code achteraf, het bepaalt niet of je geslaagd bent.
Bijgewerkt
Semester per semester
Opleiding: BEng/MEng Computing. Regeling: Module descriptions 2026-27. Open een vak om de practicumonderdelen te zien en het labpracticum dat GroutCode bij elk onderdeel meelevert.
Year 1
2 vakken5 lablessenSQLJavaC- COMP40007SQL
Introduction to Databases
3
lessen
- Normalising an enrolment table into 3NF
- Relational algebra as SQL views
- 1Normalising an enrolment table into 3NFOnderdeel 2 · Database Design and Normalisation
- 2Relational algebra as SQL viewsOnderdeel 3 · Relational Languages and SQL
- 3Integrity, views, triggers and serializabilityOnderdeel 4 · Views, Integrity, Security and Transactions
- COMP40009JavaC
Computing Practical 1
2
lessen
- Functional and object-oriented Java: from folds to value classes
- A toy CPU emulator and assembler in C
- 1Functional and object-oriented Java: from folds to value classesOnderdeel 2 · Kotlin and Java Programming
- 2A toy CPU emulator and assembler in COnderdeel 3 · Assembler and C: Computer Systems Project
Year 2
5 vakken17 lablessenPythonJavaC- COMP50001Python
Algorithm Design and Analysis
4
lessen
- Counting the work: operation counts, recurrences and growth order
- Divide and conquer to dynamic programming: from Karatsuba to knapsack
- 1Counting the work: operation counts, recurrences and growth orderOnderdeel 1 · Quantitative Analysis of Algorithms
- 2Divide and conquer to dynamic programming: from Karatsuba to knapsackOnderdeel 2 · Divide and Conquer and Dynamic Programming
- 3Greedy choices and random pivots: scheduling, Huffman and Miller-RabinOnderdeel 3 · Greedy and Randomised Algorithms
- 4Shortest paths, flows and pattern matching: a graph and string toolkitOnderdeel 4 · Advanced Graph and String Algorithms
- COMP50002Java
Software Design and Evolution
2
lessen
- Designing for change: an order module behind interfaces, then measured
- Safe change with tests, doubles and a legacy receipt printer
- 1Designing for change: an order module behind interfaces, then measuredOnderdeel 1 · Designing for Change
- 2Safe change with tests, doubles and a legacy receipt printerOnderdeel 2 · Enabling Safe Change
- COMP50004C
Operating Systems
4
lessen
- Processes, pthreads and home-made synchronisation primitives
- CPU schedulers and the banker's algorithm — simulating what the kernel decides
- 1Processes, pthreads and home-made synchronisation primitivesOnderdeel 2 · Processes, Threads and Synchronisation
- 2CPU schedulers and the banker's algorithm — simulating what the kernel decidesOnderdeel 3 · Concurrency Control and Scheduling
- 3Paging, TLBs and page replacement — a virtual memory simulatorOnderdeel 4 · Virtual Memory
- 4Disk scheduling and file-system structures — from seek distance to path lookupOnderdeel 5 · Devices, I/O and File Systems
- COMP50007AC
Computing Practical 2 (Lab)
2
lessen
- Inside a teaching kernel: Pintos scheduling, alarm clock and virtual memory
- PThreads from the ground up: parallel reductions, bounded buffers and barriers
- 1Inside a teaching kernel: Pintos scheduling, alarm clock and virtual memoryOnderdeel 1 · Operating System Implementation (Pintos)
- 2PThreads from the ground up: parallel reductions, bounded buffers and barriersOnderdeel 2 · Concurrent Programming with PThreads
- COMP50013Python
Machine Learning
5
lessen
- Nearest neighbours, locally weighted regression and decision trees from scratch
- Evaluating learners honestly: splits, cross-validation, metrics and significance
- 1Nearest neighbours, locally weighted regression and decision trees from scratchOnderdeel 2 · Instance Based Learning and Inductive Learning
- 2Evaluating learners honestly: splits, cross-validation, metrics and significanceOnderdeel 3 · Model Evaluation and Comparison
- 3Neural networks by hand: perceptron, back-propagation and SGD on plain listsOnderdeel 4 · Neural Networks
- 4Unsupervised learning from scratch: K-means, kernel density and Gaussian mixturesOnderdeel 5 · Unsupervised Learning
- 5Evolutionary search: a genetic algorithm, a (1+1)-ES, novelty search and MAP-ElitesOnderdeel 6 · Evolutionary Algorithms
Year 3
1 vak2 lablessenC++- COMP60007C++
The Theory and Practice of Concurrent Programming
2
lessen
- Shared-memory concurrency in C++: locks, atomics, primitives and race detectors
- Correct concurrency: deadlock, monitors, linearisability and a lock-free stack
- 1Shared-memory concurrency in C++: locks, atomics, primitives and race detectorsOnderdeel 1 · Practical Concurrent Programming in C++
- 2Correct concurrency: deadlock, monitors, linearisability and a lock-free stackOnderdeel 3 · Correctness and Synchronisation Patterns
Het volledige leerplan van 38 vakken is in de app uitgewerkt, inclusief de theorievakken. De lessen zijn geschreven bij de vakcodes met practicumwerk, en de lijst groeit met elke release.
GroutCode is niet verbonden aan of goedgekeurd door Imperial College London. Vakcodes en vaktitels zijn overgenomen uit de gepubliceerde regelingsdocumenten van de instelling.
Zo verloopt een practicum
Dezelfde vijf stappen bij elke les, in elke taal.
- 1
Kies je leerplan
Kies je universiteit of examenorgaan en het semester of de klas waarin je zit. De vakkenlijst is de officiële regeling zoals die is overgenomen, geen benadering.
- 2
Open een labpracticum
Elke les is een practicum in stappen bij een specifiek vak, met een startbestand dat je bewerkt en een testbestand dat je met rust laat.
- 3
Schrijf de code zelf
In het startbestand staan de signatures en de TODO's. Jij werkt ze uit in de editor, in de taal die je vak daadwerkelijk gebruikt.
- 4
Draai de controles
De toolchain compileert en draait de tests — 8 tot 15 stuks verspreid over de les, één per stap, zodat je ziet welke wijziging wat kapotmaakte.
- 5
Krijg de review
Zodra de tests slagen, leest het model je uitwerking en vertelt het je welke invoer hem laat vastlopen. Het meldt zelf nooit of je geslaagd of gezakt bent.
Waarom de compiler beoordeelt en niet het model
De voor de hand liggende manier om een AI-labtool te bouwen, is het model de code van de student te laten lezen en te laten zeggen of die klopt. Het is ook de manier die een tool oplevert die niemand kan vertrouwen. Een model vertelt je dat je code werkt terwijl de compiler iets anders zegt, en laat je zakken op een stijl die het toevallig niet aanstaat.
Daarom zijn de twee taken gescheiden:
- Het model ontwerpt de les, schrijft het startbestand en de tests, en leest — zodra de tests slagen — wat jij daadwerkelijk hebt geschreven, om je te vertellen welke invoer het laat vastlopen.
- De toolchain bepaalt of het compileert en of elke stap slaagt. Dat oordeel staat vast en het model velt het nooit.
En waarom stappen in plaats van één grote opdracht
Een practicum van 40 tot 60 minuten met één keer Run aan het eind geeft een beginner één stukje feedback per uur, en dat komt pas nadat alle beslissingen al genomen zijn. Elke les hier bestaat uit 8 tot 15 stappen, elk met een eigen instructie en een eigen controle, zodat je ziet welke wijziging wat kapotmaakte terwijl je je die wijziging nog herinnert.
Veelgestelde vragen
Ondersteunt GroutCode de Imperial College 2026-27?
Ja. GroutCode bevat de overgenomen Imperial College 2026-27 voor BEng/MEng Computing — 38 vakken — met 24 uitgewerkte labpractica die aan specifieke vakcodes zijn gekoppeld. Het leerplan is overgenomen uit de officiële documenten, en van elk document zijn de bron en de checksum in de app vastgelegd.
Welke talen gebruiken de Imperial College-practica?
Python (9 lessen), C (7 lessen), SQL (3 lessen), Java (3 lessen), C++ (2 lessen). De taal is per vakcode ingesteld en niet afgeleid uit de titel, omdat hetzelfde vak op verschillende instellingen in verschillende talen wordt gegeven.
Schrijft de AI het practicum gewoon voor me?
Nee. In het startbestand staan de signatures en de TODO's; jij werkt ze uit. De toolchain — niet het model — bepaalt of je code compileert en of elke stap slaagt, zodat de AI je niet kan wijsmaken dat je code werkt terwijl de compiler het er niet mee eens is. Wat het daarna wel doet, is je uitwerking lezen en aanwijzen welke invoer hem laat vastlopen.
Werken de practica offline?
De lessen, het leerplan en de testrunner zitten in de app en draaien lokaal, dus de cyclus van compileren en controleren werkt zonder verbinding. Voor de reviewstap aan het eind wordt een model gebruikt; dat kan een lokaal model zijn of een cloudmodel met je eigen sleutel.
Wat moet ik geïnstalleerd hebben?
GroutCode kijkt welke toolchains er op je computer staan en vertelt je wat er ontbreekt en hoe je dat oplost. Je hebt de compiler of interpreter nodig voor de taal die je vak gebruikt — een C-compiler, een JDK, Python, Node of SQLite.
Andere leerplannen

Oxford
University of Oxford
De vakbeschrijvingen Computer Science 2026-27 van de University of Oxford: databases, implementatie van databasesystemen en AI.
27
lablessen

Cambridge
University of Cambridge
De Cambridge Computer Science Tripos, Parts IA en IB: algoritmen, databases, objectgeoriënteerd programmeren, C en C++.
36
lablessen

UCL
University College London
BSc en MEng Computer Science aan UCL, jaar 1 tot en met 4: programmeerprincipes, OOP, algoritmen, compilers en systemen.
51
lablessen
Doe je Imperial College-labwerk met de controles ingebouwd
GroutCode zit bij elke Grout Suite-licentie inbegrepen. Gratis te downloaden voor Windows en macOS.
Download GroutCode