Imperial College London

Royaume-Uni · 2026-27

Imperial College London

24 travaux pratiques pour le programme Imperial College.

Le BEng/MEng Computing d'Imperial College London : TP de programmation, algorithmique, bases de données, systèmes d'exploitation et apprentissage automatique. Chaque séance est progressive, compilée et vérifiée par une véritable chaîne d'outils sur votre propre machine — le modèle relit votre code ensuite, il ne décide pas si vous avez réussi.

Mis à jour

Semestre par semestre

Formation : BEng/MEng Computing. Régime : Module descriptions 2026-27. Ouvrez un cours pour voir ses unités pratiques et la séance de TP que GroutCode propose pour chacune.

  1. Year 1

    2 UE5 leçons de TPSQLJavaC
    • COMP40007SQL

      Introduction to Databases

      3

      leçons

      • Normalising an enrolment table into 3NF
      • Relational algebra as SQL views
      Voir les 3 leçons
      1. 1Normalising an enrolment table into 3NFChapitre 2 · Database Design and Normalisation
      2. 2Relational algebra as SQL viewsChapitre 3 · Relational Languages and SQL
      3. 3Integrity, views, triggers and serializabilityChapitre 4 · Views, Integrity, Security and Transactions
    • COMP40009JavaC

      Computing Practical 1

      2

      leçons

      • Functional and object-oriented Java: from folds to value classes
      • A toy CPU emulator and assembler in C
      Voir les chapitres
      1. 1Functional and object-oriented Java: from folds to value classesChapitre 2 · Kotlin and Java Programming
      2. 2A toy CPU emulator and assembler in CChapitre 3 · Assembler and C: Computer Systems Project
  2. Year 2

    5 UE17 leçons de TPPythonJavaC
    • COMP50001Python

      Algorithm Design and Analysis

      4

      leçons

      • Counting the work: operation counts, recurrences and growth order
      • Divide and conquer to dynamic programming: from Karatsuba to knapsack
      Voir les 4 leçons
      1. 1Counting the work: operation counts, recurrences and growth orderChapitre 1 · Quantitative Analysis of Algorithms
      2. 2Divide and conquer to dynamic programming: from Karatsuba to knapsackChapitre 2 · Divide and Conquer and Dynamic Programming
      3. 3Greedy choices and random pivots: scheduling, Huffman and Miller-RabinChapitre 3 · Greedy and Randomised Algorithms
      4. 4Shortest paths, flows and pattern matching: a graph and string toolkitChapitre 4 · Advanced Graph and String Algorithms
    • COMP50002Java

      Software Design and Evolution

      2

      leçons

      • Designing for change: an order module behind interfaces, then measured
      • Safe change with tests, doubles and a legacy receipt printer
      Voir les chapitres
      1. 1Designing for change: an order module behind interfaces, then measuredChapitre 1 · Designing for Change
      2. 2Safe change with tests, doubles and a legacy receipt printerChapitre 2 · Enabling Safe Change
    • COMP50004C

      Operating Systems

      4

      leçons

      • Processes, pthreads and home-made synchronisation primitives
      • CPU schedulers and the banker's algorithm — simulating what the kernel decides
      Voir les 4 leçons
      1. 1Processes, pthreads and home-made synchronisation primitivesChapitre 2 · Processes, Threads and Synchronisation
      2. 2CPU schedulers and the banker's algorithm — simulating what the kernel decidesChapitre 3 · Concurrency Control and Scheduling
      3. 3Paging, TLBs and page replacement — a virtual memory simulatorChapitre 4 · Virtual Memory
      4. 4Disk scheduling and file-system structures — from seek distance to path lookupChapitre 5 · Devices, I/O and File Systems
    • COMP50007AC

      Computing Practical 2 (Lab)

      2

      leçons

      • Inside a teaching kernel: Pintos scheduling, alarm clock and virtual memory
      • PThreads from the ground up: parallel reductions, bounded buffers and barriers
      Voir les chapitres
      1. 1Inside a teaching kernel: Pintos scheduling, alarm clock and virtual memoryChapitre 1 · Operating System Implementation (Pintos)
      2. 2PThreads from the ground up: parallel reductions, bounded buffers and barriersChapitre 2 · Concurrent Programming with PThreads
    • COMP50013Python

      Machine Learning

      5

      leçons

      • Nearest neighbours, locally weighted regression and decision trees from scratch
      • Evaluating learners honestly: splits, cross-validation, metrics and significance
      Voir les 5 leçons
      1. 1Nearest neighbours, locally weighted regression and decision trees from scratchChapitre 2 · Instance Based Learning and Inductive Learning
      2. 2Evaluating learners honestly: splits, cross-validation, metrics and significanceChapitre 3 · Model Evaluation and Comparison
      3. 3Neural networks by hand: perceptron, back-propagation and SGD on plain listsChapitre 4 · Neural Networks
      4. 4Unsupervised learning from scratch: K-means, kernel density and Gaussian mixturesChapitre 5 · Unsupervised Learning
      5. 5Evolutionary search: a genetic algorithm, a (1+1)-ES, novelty search and MAP-ElitesChapitre 6 · Evolutionary Algorithms
  3. Year 3

    1 UE2 leçons de TPC++
    • COMP60007C++

      The Theory and Practice of Concurrent Programming

      2

      leçons

      • Shared-memory concurrency in C++: locks, atomics, primitives and race detectors
      • Correct concurrency: deadlock, monitors, linearisability and a lock-free stack
      Voir les chapitres
      1. 1Shared-memory concurrency in C++: locks, atomics, primitives and race detectorsChapitre 1 · Practical Concurrent Programming in C++
      2. 2Correct concurrency: deadlock, monitors, linearisability and a lock-free stackChapitre 3 · Correctness and Synchronisation Patterns

Le programme complet, soit 38 cours, est transcrit dans l'application, cours théoriques compris. Les séances sont rédigées à partir des codes de cours comportant des travaux pratiques, et la liste s'étoffe à chaque version.

GroutCode n'est ni affilié à Imperial College London, ni approuvé par cet établissement. Les codes et intitulés de cours sont transcrits à partir des documents de programme publiés par l'établissement.

Comment se déroule un TP

Les mêmes cinq étapes pour chaque séance, dans chaque langage.

  1. 1

    Choisissez votre programme

    Sélectionnez votre université ou votre académie, puis le semestre ou la classe où vous êtes. La liste des cours reprend le référentiel officiel transcrit, pas une approximation.

  2. 2

    Ouvrez une séance de TP

    Chaque séance est un TP progressif rattaché à un cours précis, avec un fichier de départ que vous modifiez et un fichier de tests auquel vous ne touchez pas.

  3. 3

    Écrivez le code vous-même

    Le fichier de départ contient les signatures et les TODO. C'est à vous de les implémenter dans l'éditeur, dans le langage réellement utilisé par votre cours.

  4. 4

    Lancez les vérifications

    La chaîne d'outils compile et exécute les tests — de 8 à 15 sur l'ensemble de la séance, un par étape, pour que vous sachiez quelle modification a cassé quoi.

  5. 5

    Recevez la relecture

    Une fois les tests passés, le modèle lit votre implémentation et vous indique l'entrée qui la met en défaut. Il n'annonce jamais lui-même la réussite ou l'échec.

Pourquoi c'est le compilateur qui évalue, pas le modèle

La manière évidente de construire un outil de TP piloté par l'IA consiste à laisser le modèle lire le code de l'élève et dire s'il est correct. C'est aussi la manière de produire un outil auquel personne ne peut se fier. Un modèle vous dira que votre code fonctionne alors que le compilateur affirme le contraire, et vous recalera pour un style qui, ce jour-là, ne lui plaît pas.

Les deux rôles sont donc séparés :

  • Le modèle conçoit la séance, écrit le fichier de départ et les tests, puis — une fois les tests passés — lit ce que vous avez réellement écrit et vous indique l'entrée qui le met en défaut.
  • La chaîne d'outils décide si le code compile et si chaque étape passe. Ce verdict n'est pas négociable et le modèle ne le prononce jamais.

Et pourquoi des étapes plutôt qu'une seule grande tâche

Un TP de 40 à 60 minutes avec une unique exécution à la fin ne donne au débutant qu'un seul retour par heure, et ce retour arrive une fois toutes les décisions déjà prises. Chaque séance compte ici 8 à 15 étapes, chacune avec sa consigne et sa vérification, pour que vous découvriez quelle modification a cassé quoi pendant que vous vous en souvenez encore.

Questions fréquentes

GroutCode couvre-t-il le programme Imperial College 2026-27 ?

Oui. GroutCode intègre le programme Imperial College 2026-27 transcrit pour BEng/MEng Computing — soit 38 cours — avec 24 séances de TP rédigées et rattachées à des codes de cours précis. Le programme a été transcrit à partir des documents officiels, et la source ainsi que la somme de contrôle de chacun sont consignées dans l'application.

Quels langages utilisent les TP Imperial College ?

Python (9 séances), C (7 séances), SQL (3 séances), Java (3 séances), C++ (2 séances). Le langage est défini par code de cours plutôt que deviné d'après l'intitulé, car une même matière est enseignée dans des langages différents selon les établissements.

L'IA fait-elle le TP à ma place ?

Non. Le fichier de départ contient les signatures et les TODO ; c'est à vous de les implémenter. C'est la chaîne d'outils — et non le modèle — qui décide si votre code compile et si chaque étape passe : l'IA ne peut donc pas vous annoncer que votre code fonctionne alors que le compilateur dit l'inverse. Ce qu'elle fait ensuite, c'est lire votre implémentation et pointer l'entrée qui la met en défaut.

Les TP fonctionnent-ils hors ligne ?

Les séances, le programme et l'exécuteur de tests sont embarqués dans l'application et s'exécutent en local : la boucle compilation-vérification fonctionne donc sans aucune connexion. L'étape de relecture finale fait appel à un modèle, qui peut être local ou bien dans le cloud avec votre propre clé.

Que dois-je avoir installé ?

GroutCode détecte les chaînes d'outils présentes sur votre machine et vous indique ce qui manque et comment y remédier. Il vous faut le compilateur ou l'interpréteur du langage utilisé par votre cours — un compilateur C, un JDK, Python, Node ou SQLite.

Faites vos TP Imperial College avec les vérifications intégrées

GroutCode est inclus dans chaque licence Grout Suite. Téléchargement gratuit pour Windows et macOS.

Télécharger GroutCode