Université Grenoble Alpes

Frankrijk · 2026-27

Université Grenoble Alpes

41 labpractica voor het Grenoble Alpes-leerplan.

De Licence Informatique van Université Grenoble Alpes (UFR IM2AG): imperatief programmeren in C, softwareprojecten en databases. 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: Licence Informatique (UFR IM2AG) — Portail IMA, parcours Informatique et MIAGE, parcours Informatique générale. Regeling: Accréditation 2021-2026 (MCCC 2026-2027). Open een vak om de practicumonderdelen te zien en het labpracticum dat GroutCode bij elk onderdeel meelevert.

  1. L1·S1

    1 vak3 lablessenPython
    • INF101Python

      Méthodes informatiques et techniques de programmation

      3

      lessen

      • A grade book in Python — variables, types, control flow, functions and lists
      • Analysing algorithms in Python — counting cost and choosing the efficient solution
      Bekijk alle 3 lessen
      1. 1A grade book in Python — variables, types, control flow, functions and listsOnderdeel I · Introduction à l'algorithmique et à la programmation
      2. 2Analysing algorithms in Python — counting cost and choosing the efficient solutionOnderdeel II · Démarche analytique et complexité
      3. 3A calculator in Python — implement it, test it, fix it, document itOnderdeel III · Implémentation impérative (Python)
  2. L1·S2

    1 vak5 lablessenC
    • INF203C

      Système et environnement de programmation: principes d'utilisation

      5

      lessen

      • Deterministic finite automata in C — build, run, analyse and complement them
      • Coding information and managing memory in C — bases, two's complement, UTF-8 and heap strings
      Bekijk alle 5 lessen
      1. 1Deterministic finite automata in C — build, run, analyse and complement themOnderdeel I · Introduction aux automates
      2. 2Coding information and managing memory in C — bases, two's complement, UTF-8 and heap stringsOnderdeel II · Programmation en C
      3. 3What the shell does before the kernel — paths, modes, wildcards and variablesOnderdeel III · Éléments de système
      4. 4Inside make, gcc and gdb — a dependency engine and the tools' own outputOnderdeel IV · Outils
      5. 5A small command interpreter — lexer, parser, expansion and builtinsOnderdeel V · Projet
  3. L2·S3

    2 vakken9 lablessenC
    • INF301C

      Algorithmique et programmation impérative

      5

      lessen

      • From intention to realisation — ten algorithms with their invariants
      • Sequences, sets and dictionaries — three abstract types and their realisations
      Bekijk alle 5 lessen
      1. 1From intention to realisation — ten algorithms with their invariantsOnderdeel I · Raisonnement algorithmique
      2. 2Sequences, sets and dictionaries — three abstract types and their realisationsOnderdeel II · Structures de données
      3. 3Arrays, linked lists and binary search trees behind the abstract sequenceOnderdeel III · Structures bas-niveau pour représenter les structures haut-niveau
      4. 4Iteration, recursion and loop invariants — ten algorithms built from what stays trueOnderdeel IV · Structures algorithmiques itératives et récursives
      5. 5Measuring algorithmic complexity — counting operations and beating O(n^2)Onderdeel V · Analyse d'algorithmes
    • INF304C

      Bases du développement logiciel: modularisation, tests

      4

      lessen

      • An opaque stack module and the RPN calculator that uses it
      • A testing toolkit — oracles, unit-test reports, random tests, shrinking and growth probes
      Bekijk alle 4 lessen
      1. 1An opaque stack module and the RPN calculator that uses itOnderdeel I · Programmation modulaire
      2. 2A testing toolkit — oracles, unit-test reports, random tests, shrinking and growth probesOnderdeel II · Test de logiciel
      3. 3Generic code in C — void pointers, comparators and an abstract vectorOnderdeel III · Abstraction, généricité
      4. 4Rebuilding make, diff and a test harness in COnderdeel IV · Outils d'aide au développement de logiciel
  4. L2·S4

    2 vakken3 lablessenSQLC
    • INF403SQL

      Gestion de données relationnelles et applications

      2

      lessen

      • Relational algebra in SQL — selection to division on a student database
      • From a UML class diagram to SQLite tables and views
      Bekijk de onderdelen
      1. 1Relational algebra in SQL — selection to division on a student databaseOnderdeel I · Modèle relationnel de données
      2. 2From a UML class diagram to SQLite tables and viewsOnderdeel II · Conception
    • INF404C

      Projet logiciel

      1

      les

      • Vectorising a bitmap — contour tracing, Douglas-Peucker and Bezier fitting
      Bekijk de onderdelen
      1. 1Vectorising a bitmap — contour tracing, Douglas-Peucker and Bezier fittingOnderdeel LAB · Projet logiciel: vectorisation
  5. L3·S5

    2 vakken9 lablessenCSQL
    • GBIN5U03C

      Programmation et projet d'études

      4

      lessen

      • Heap memory, streams and function parameters in C
      • Inside the shell and make — word splitting, globbing and a rebuild planner
      Bekijk alle 4 lessen
      1. 1Heap memory, streams and function parameters in COnderdeel I · Points techniques de programmation
      2. 2Inside the shell and make — word splitting, globbing and a rebuild plannerOnderdeel II · Outils pour l'automatisation
      3. 3A version-control module in C — hashes, line diffs and commit historyOnderdeel III · Outils et techniques pour le développement
      4. 4Bits, bytes and a binary wire format — implementing to a written specOnderdeel LAB · Projet logiciel de fin de semestre
    • GBIN5U06SQL

      Conception et exploitation des bases de données

      5

      lessen

      • Querying a relational faculty database in declarative SQL
      • Relational algebra to SQL — eleven operators as eleven views
      Bekijk alle 5 lessen
      1. 1Querying a relational faculty database in declarative SQLOnderdeel I · Systèmes de gestion de bases de données relationnelles
      2. 2Relational algebra to SQL — eleven operators as eleven viewsOnderdeel II · Algèbre relationnelle et SQL
      3. 3Normalising a flat enrolment table to 3NF, measured with SQLOnderdeel III · Normalisation
      4. 4From a UML class diagram to a relational schemaOnderdeel IV · Conception UML
      5. 5Integrating a database into an application — views, triggers and transactionsOnderdeel V · Intégration dans une application
  6. L3·S6

    3 vakken12 lablessenCJava
    • GBIN6U01C

      Introduction aux systèmes et réseaux

      3

      lessen

      • What the OS does for you — permissions, paths, pages, bytes and the scheduler
      • IPv4 from a program — addresses, subnets, checksums and routing
      Bekijk alle 3 lessen
      1. 1What the OS does for you — permissions, paths, pages, bytes and the schedulerOnderdeel I · Systèmes d'exploitation
      2. 2IPv4 from a program — addresses, subnets, checksums and routingOnderdeel II · Réseaux
      3. 3A shell's front end in C — words, quotes, variables, globs and pipelinesOnderdeel III · Shell et programmation C
    • GBIN6U03Java

      Programmation et projet logiciel

      4

      lessen

      • Bank accounts and shapes — encapsulation, inheritance and polymorphism in Java
      • Six design patterns in Java — Strategy, Factory, Observer, Decorator, Composite, Command
      Bekijk alle 4 lessen
      1. 1Bank accounts and shapes — encapsulation, inheritance and polymorphism in JavaOnderdeel I · Programmation orientée objet en Java
      2. 2Six design patterns in Java — Strategy, Factory, Observer, Decorator, Composite, CommandOnderdeel II · Design patterns
      3. 3Event-driven programming — a widget toolkit's event system, without the screenOnderdeel III · Programmation évènementielle
      4. 4Connect Four with an observer-driven game loop and an alpha-beta AIOnderdeel LAB · Projet logiciel
    • GBIN6U08C

      Méthodes et outils pour la conception avancée

      5

      lessen

      • A reusable string-builder library, compiled separately
      • Coverage probes, mutants and test suites that earn their keep
      Bekijk alle 5 lessen
      1. 1A reusable string-builder library, compiled separatelyOnderdeel I · Maintenabilité et réutilisabilité du code
      2. 2Coverage probes, mutants and test suites that earn their keepOnderdeel II · Tests et qualité des tests
      3. 3A heap checker and a symbolic executor for finding defectsOnderdeel III · Détection de défauts et erreurs
      4. 4Hardening parsers against overflows, injection and HeartbleedOnderdeel IV · Analyse de vulnérabilité
      5. 5Measuring performance: operation counts and a cache simulatorOnderdeel V · Analyse de performances

Het volledige leerplan van 22 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 Université Grenoble Alpes. 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. 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. 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. 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. 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. 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 Grenoble Alpes 2026-27?

Ja. GroutCode bevat de overgenomen Grenoble Alpes 2026-27 voor Licence Informatique (UFR IM2AG) — Portail IMA, parcours Informatique et MIAGE, parcours Informatique générale — 22 vakken — met 41 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 Grenoble Alpes-practica?

C (27 lessen), SQL (7 lessen), Java (4 lessen), Python (3 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.

Doe je Grenoble Alpes-labwerk met de controles ingebouwd

GroutCode zit bij elke Grout Suite-licentie inbegrepen. Gratis te downloaden voor Windows en macOS.

Download GroutCode