The University of Edinburgh

Vereinigtes Königreich · 2026/27

The University of Edinburgh

43 Laborpraktika für den Edinburgh-Lehrplan.

Informatik in Edinburgh, Jahr 1 bis 4: Programmierung, Algorithmen und Datenstrukturen, Rechnersysteme, Compiler und Datenbanken. Jede Lektion ist in Schritte gegliedert, wird kompiliert und von einer echten Toolchain auf Ihrem eigenen Rechner geprüft — das Modell begutachtet Ihren Code im Anschluss, es entscheidet nicht darüber, ob Sie bestanden haben.

Aktualisiert

Semester für Semester

Studiengang: Computer Science BSc (Hons) / Informatics MInf. Prüfungsordnung: DRPS 2026/27. Öffnen Sie einen Kurs, um seine praktischen Einheiten und die Laborlektion zu sehen, die GroutCode jeweils mitliefert.

  1. Year 1

    1 Modul3 LaborlektionenPython
    • INFR07004Python

      Informatics 1 - Introduction to Programming

      3

      Lektionen

      • Python fundamentals — types, operators, loops, conditionals and functions
      • A tested gradebook — debugging, refactoring and test-driven code
      Alle 3 Lektionen ansehen
      1. 1Python fundamentals — types, operators, loops, conditionals and functionsEinheit I · Fundamental Principles of Programming
      2. 2A tested gradebook — debugging, refactoring and test-driven codeEinheit II · Software Engineering Practice in Code
      3. 3Reviewing AI-generated code — find the errors and inefficienciesEinheit III · Extended Principles and AI-Assisted Coding
  2. Year 2

    3 Module13 LaborlektionenPythonCJava
    • INFR08026Python

      Informatics 2 - Introduction to Algorithms and Data Structures

      5

      Lektionen

      • Measuring algorithms — case analysis, asymptotics and recurrences
      • Stacks, queues, linked lists and sorting from scratch
      Alle 5 Lektionen ansehen
      1. 1Measuring algorithms — case analysis, asymptotics and recurrencesEinheit I · Asymptotic Notation and Algorithmic Analysis
      2. 2Stacks, queues, linked lists and sorting from scratchEinheit II · Sequential Data Structures and Sorting
      3. 3Heaps, binary search trees and a chained hash map — built from listsEinheit III · Trees, Heaps and Hashing
      4. 4Graph algorithms — traversal, ordering, shortest paths, spanning trees and backtrackingEinheit IV · Graphs and Graph Algorithms
      5. 5Dynamic programming, spelling correction and the edge of computabilityEinheit V · Dynamic Programming and Complexity Classes
    • INFR08027C

      Informatics 2C - Introduction to Computer Systems

      4

      Lektionen

      • Bits, fields, two's complement and IEEE floats in C
      • A MIPS simulator in C — decode, execute, and compile a loop by hand
      Alle 4 Lektionen ansehen
      1. 1Bits, fields, two's complement and IEEE floats in CEinheit I · Data Representation and the C Language
      2. 2A MIPS simulator in C — decode, execute, and compile a loop by handEinheit II · Instruction Set Architecture
      3. 3Caches, page tables, a TLB and a scheduler — the environment a program runs inEinheit III · Program Execution Environment
      4. 4From gates to a MIPS processor — adders, an ALU, registers and a multi-cycle CPUEinheit IV · Digital Logic and Processor Structure
    • INFR08032Java

      Informatics 2 - Software Engineering and Professional Practice

      4

      Lektionen

      • Requirements toolkit — parsing, checking, prioritising and tracing a changing specification
      • From UML to Java — an order system built from its class diagram and state machine
      Alle 4 Lektionen ansehen
      1. 1Requirements toolkit — parsing, checking, prioritising and tracing a changing specificationEinheit I · Requirements Analysis
      2. 2From UML to Java — an order system built from its class diagram and state machineEinheit II · Software Design with UML
      3. 3A team's toolbench — test runner, diff and patch, issue tracker and review gate in JavaEinheit III · Construction and Testing in Java
      4. 4A compliance toolkit for a student-records serviceEinheit IV · Professional, Legal and Ethical Issues
  3. Year 3

    3 Module14 LaborlektionenJavaC++SQL
    • INFR10065Java

      Compiling Techniques

      4

      Lektionen

      • A compiler front end: lexer, recursive descent and LL(1) tables
      • Semantic analysis: abstract syntax, scoped symbol tables and a type checker
      Alle 4 Lektionen ansehen
      1. 1A compiler front end: lexer, recursive descent and LL(1) tablesEinheit I · Lexical Analysis and Parsing
      2. 2Semantic analysis: abstract syntax, scoped symbol tables and a type checkerEinheit II · Abstract Syntax and Semantic Analysis
      3. 3Intermediate code: frames, three-address translation, basic blocks and tracesEinheit III · Intermediate Code
      4. 4A compiler back end: liveness, graph-colouring register allocation and RISC-V selectionEinheit IV · Code Generation and Register Allocation
    • INFR10079C++

      Operating Systems

      5

      Lektionen

      • A toy kernel: traps, system calls, interrupts and a preemptive timer
      • CPU schedulers, a bounded pipe, and fork versus threads
      Alle 5 Lektionen ansehen
      1. 1A toy kernel: traps, system calls, interrupts and a preemptive timerEinheit I · The OS Kernel
      2. 2CPU schedulers, a bounded pipe, and fork versus threadsEinheit II · Process and Time Management
      3. 3Semaphores, a monitor, races and the Banker's algorithmEinheit III · Resource Management
      4. 4Memory management: allocators, page tables, a TLB and page replacementEinheit IV · Memory Management
      5. 5Disk scheduling, file-system structures, nested paging and containersEinheit V · Storage Management and Virtualization
    • INFR10080SQL

      Introduction to Databases

      5

      Lektionen

      • Querying a course database: relations, multisets and aggregation in SQL
      • Relational algebra, calculus and Datalog, translated into SQL
      Alle 5 Lektionen ansehen
      1. 1Querying a course database: relations, multisets and aggregation in SQLEinheit I · The Relational Model and SQL
      2. 2Relational algebra, calculus and Datalog, translated into SQLEinheit II · Query Languages
      3. 3Constraints that refuse bad data, and a BCNF decompositionEinheit III · Database Design
      4. 4Nested queries, NULLs and certain answers, and triggersEinheit IV · Advanced SQL and Application Access
      5. 5Schedules, locks, indexes and cost estimates, analysed in SQLEinheit V · Transactions, Indexing and Query Evaluation
  4. Year 4

    3 Module13 LaborlektionenJavaCPython
    • INFR11217Java

      Advanced Database Systems (UG)

      5

      Lektionen

      • Row stores, column stores and the disk beneath them
      • Index structures: B+-trees, hashing, z-order and a learned index
      Alle 5 Lektionen ansehen
      1. 1Row stores, column stores and the disk beneath themEinheit I · Architectures and Storage
      2. 2Index structures: B+-trees, hashing, z-order and a learned indexEinheit II · Indexing
      3. 3Query operators and a dynamic-programming join optimiserEinheit III · Query Evaluation and Optimisation
      4. 4Transactions: serialisability, locking, MVCC and recoveryEinheit IV · Transaction Management
      5. 5Distributed data: partitioning, 2PC, consistent hashing and vector clocksEinheit V · Distributed and Big Data Systems
    • INFR11226C

      Parallel Programming Languages and Systems (Level 11) (UG)

      4

      Lektionen

      • Models of parallelism in Pthreads: decomposition, reduction, scan and a bag of tasks
      • Shared-variable synchronization: locks, semaphores, barriers and monitors in Pthreads
      Alle 4 Lektionen ansehen
      1. 1Models of parallelism in Pthreads: decomposition, reduction, scan and a bag of tasksEinheit I · Models of Parallelism
      2. 2Shared-variable synchronization: locks, semaphores, barriers and monitors in PthreadsEinheit II · Shared Variable Programming
      3. 3Message passing from channels up: an MPI-style communicator with collectivesEinheit III · Message Passing Programming
      4. 4Linda tuple spaces and TBB-style parallel_for and parallel_reduceEinheit IV · Alternative Approaches
    • INFR11229Python

      Text Technologies for Data Science (UG)

      4

      Lektionen

      • A search engine's text pipeline: tokenise, normalise, stop, stem, then Zipf and Heaps
      • A search engine from scratch — inverted index, Boolean, phrase and ranked retrieval
      Alle 4 Lektionen ansehen
      1. 1A search engine's text pipeline: tokenise, normalise, stop, stem, then Zipf and HeapsEinheit I · Text Processing Foundations
      2. 2A search engine from scratch — inverted index, Boolean, phrase and ranked retrievalEinheit II · Indexing and Search
      3. 3An IR evaluation script — precision, recall, MAP, nDCG and significance testsEinheit III · Evaluation
      4. 4Text classification and corpus analysis — features, Naive Bayes, evaluation and RAG retrievalEinheit IV · Text Classification and Analysis

Der vollständige Lehrplan mit 34 Kursen ist in der App erfasst, einschließlich der Theoriekurse. Lektionen werden zu den Kurscodes erstellt, die praktische Anteile haben, und die Liste wächst mit jeder Version.

GroutCode steht in keiner Verbindung zu The University of Edinburgh und wird von dieser Einrichtung nicht unterstützt. Kurscodes und -titel stammen aus den veröffentlichten Schemadokumenten der Einrichtung.

So läuft ein Praktikum ab

Dieselben fünf Schritte für jede Lektion, in jeder Sprache.

  1. 1

    Lehrplan auswählen

    Wählen Sie Ihre Hochschule oder Ihr Prüfungsamt und das Semester oder die Klasse, in der Sie sind. Die Kursliste ist die erfasste offizielle Prüfungsordnung, keine Annäherung.

  2. 2

    Laborlektion öffnen

    Jede Lektion ist ein schrittweises Praktikum zu einem bestimmten Kurs, mit einer Startdatei, die Sie bearbeiten, und einer Testdatei, die Sie nicht anfassen.

  3. 3

    Den Code selbst schreiben

    Die Startdatei enthält die Signaturen und die TODOs. Sie setzen sie im Editor um, in der Sprache, die Ihr Kurs tatsächlich verwendet.

  4. 4

    Die Prüfungen laufen lassen

    Die Toolchain kompiliert und führt die Tests aus — 8 bis 15 über die Lektion verteilt, einer pro Schritt, damit Sie sehen, welche Änderung was kaputt gemacht hat.

  5. 5

    Das Review erhalten

    Sobald die Tests bestanden sind, liest das Modell Ihre Implementierung und nennt Ihnen die Eingabe, an der sie scheitert. Über Bestehen oder Nichtbestehen entscheidet es nie selbst.

Warum der Compiler bewertet und nicht das Modell

Der naheliegende Weg, ein KI-Laborwerkzeug zu bauen, ist, das Modell den Code der Studierenden lesen und sagen zu lassen, ob er korrekt ist. Es ist zugleich der Weg, der ein Werkzeug hervorbringt, dem niemand vertrauen kann. Ein Modell wird Ihnen sagen, Ihr Code funktioniere, obwohl der Compiler das Gegenteil behauptet — und es wird Sie durchfallen lassen wegen eines Stils, den es zufällig nicht mag.

Deshalb sind die beiden Aufgaben getrennt:

  • Das Modell entwirft die Lektion, schreibt die Startdatei und die Tests und liest — nachdem die Tests bestanden sind — was Sie tatsächlich geschrieben haben, und nennt Ihnen die Eingabe, an der es scheitert.
  • Die Toolchain entscheidet, ob es kompiliert und ob jeder Schritt besteht. Dieses Urteil ist nicht verhandelbar, und das Modell fällt es nie.

Und warum Schritte statt einer großen Aufgabe

Ein Praktikum über 40 bis 60 Minuten mit einem einzigen Durchlauf am Ende gibt einem Anfänger genau eine Rückmeldung pro Stunde — und die kommt, wenn längst alle Entscheidungen gefallen sind. Jede Lektion hier besteht aus 8 bis 15 Schritten, jeder mit eigener Anweisung und eigener Prüfung, damit Sie noch wissen, welche Änderung was kaputt gemacht hat, während Sie sich an sie erinnern.

Häufig gestellte Fragen

Deckt GroutCode Edinburgh 2026/27 ab?

Ja. GroutCode liefert die erfasste Prüfungsordnung Edinburgh 2026/27 für Computer Science BSc (Hons) / Informatics MInf mit — 34 Kurse — samt 43 eigens erstellten Laborlektionen, die bestimmten Kurscodes zugeordnet sind. Der Lehrplan wurde aus den offiziellen Dokumenten übernommen, und Quelle sowie Prüfsumme jedes Dokuments sind in der App vermerkt.

Welche Sprachen verwenden die Edinburgh-Praktika?

Java (13 Lektionen), Python (12 Lektionen), C (8 Lektionen), C++ (5 Lektionen), SQL (5 Lektionen). Die Sprache ist pro Kurscode festgelegt und wird nicht aus dem Titel erraten, denn dasselbe Fach wird an verschiedenen Einrichtungen in verschiedenen Sprachen unterrichtet.

Schreibt die KI das Praktikum einfach für mich?

Nein. Die Startdatei enthält die Signaturen und die TODOs; umsetzen müssen Sie sie. Die Toolchain — nicht das Modell — entscheidet, ob Ihr Code kompiliert und ob jeder Schritt besteht. Die KI kann Ihnen also nicht sagen, Ihr Code funktioniere, wenn der Compiler widerspricht. Was sie im Anschluss tut: Sie liest Ihre Implementierung und zeigt Ihnen die Eingabe, an der sie scheitert.

Funktionieren die Praktika offline?

Die Lektionen, der Lehrplan und der Testrunner sind in der App enthalten und laufen lokal, sodass die Schleife aus Kompilieren und Prüfen ohne Verbindung funktioniert. Der Review-Schritt am Ende nutzt ein Modell — entweder ein lokales oder ein Cloud-Modell mit Ihrem eigenen Schlüssel.

Was muss bei mir installiert sein?

GroutCode erkennt, welche Toolchains auf Ihrem Rechner vorhanden sind, und sagt Ihnen, was fehlt und was es beheben würde. Sie brauchen den Compiler oder Interpreter für die Sprache Ihres Kurses — einen C-Compiler, ein JDK, Python, Node oder SQLite.

Erledigen Sie Ihre Edinburgh-Laborarbeit mit eingebauter Prüfung

GroutCode ist in jeder Grout-Suite-Lizenz enthalten. Kostenloser Download für Windows und macOS.

GroutCode herunterladen