Université Grenoble Alpes

France · 2026-27

Université Grenoble Alpes

41 travaux pratiques pour le programme Grenoble Alpes.

La Licence d'informatique de l'Université Grenoble Alpes (UFR IM2AG) : programmation impérative en C, projets logiciels et bases de données. 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 : Licence Informatique (UFR IM2AG) — Portail IMA, parcours Informatique et MIAGE, parcours Informatique générale. Régime : Accréditation 2021-2026 (MCCC 2026-2027). Ouvrez un cours pour voir ses unités pratiques et la séance de TP que GroutCode propose pour chacune.

  1. L1·S1

    1 UE3 leçons de TPPython
    • INF101Python

      Méthodes informatiques et techniques de programmation

      3

      leçons

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

    1 UE5 leçons de TPC
    • INF203C

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

      5

      leçons

      • 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
      Voir les 5 leçons
      1. 1Deterministic finite automata in C — build, run, analyse and complement themChapitre I · Introduction aux automates
      2. 2Coding information and managing memory in C — bases, two's complement, UTF-8 and heap stringsChapitre II · Programmation en C
      3. 3What the shell does before the kernel — paths, modes, wildcards and variablesChapitre III · Éléments de système
      4. 4Inside make, gcc and gdb — a dependency engine and the tools' own outputChapitre IV · Outils
      5. 5A small command interpreter — lexer, parser, expansion and builtinsChapitre V · Projet
  3. L2·S3

    2 UE9 leçons de TPC
    • INF301C

      Algorithmique et programmation impérative

      5

      leçons

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

      Bases du développement logiciel: modularisation, tests

      4

      leçons

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

    2 UE3 leçons de TPSQLC
    • INF403SQL

      Gestion de données relationnelles et applications

      2

      leçons

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

      Projet logiciel

      1

      leçon

      • Vectorising a bitmap — contour tracing, Douglas-Peucker and Bezier fitting
      Voir les chapitres
      1. 1Vectorising a bitmap — contour tracing, Douglas-Peucker and Bezier fittingChapitre LAB · Projet logiciel: vectorisation
  5. L3·S5

    2 UE9 leçons de TPCSQL
    • GBIN5U03C

      Programmation et projet d'études

      4

      leçons

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

      Conception et exploitation des bases de données

      5

      leçons

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

    3 UE12 leçons de TPCJava
    • GBIN6U01C

      Introduction aux systèmes et réseaux

      3

      leçons

      • What the OS does for you — permissions, paths, pages, bytes and the scheduler
      • IPv4 from a program — addresses, subnets, checksums and routing
      Voir les 3 leçons
      1. 1What the OS does for you — permissions, paths, pages, bytes and the schedulerChapitre I · Systèmes d'exploitation
      2. 2IPv4 from a program — addresses, subnets, checksums and routingChapitre II · Réseaux
      3. 3A shell's front end in C — words, quotes, variables, globs and pipelinesChapitre III · Shell et programmation C
    • GBIN6U03Java

      Programmation et projet logiciel

      4

      leçons

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

      Méthodes et outils pour la conception avancée

      5

      leçons

      • A reusable string-builder library, compiled separately
      • Coverage probes, mutants and test suites that earn their keep
      Voir les 5 leçons
      1. 1A reusable string-builder library, compiled separatelyChapitre I · Maintenabilité et réutilisabilité du code
      2. 2Coverage probes, mutants and test suites that earn their keepChapitre II · Tests et qualité des tests
      3. 3A heap checker and a symbolic executor for finding defectsChapitre III · Détection de défauts et erreurs
      4. 4Hardening parsers against overflows, injection and HeartbleedChapitre IV · Analyse de vulnérabilité
      5. 5Measuring performance: operation counts and a cache simulatorChapitre V · Analyse de performances

Le programme complet, soit 22 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é à Université Grenoble Alpes, 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 Grenoble Alpes 2026-27 ?

Oui. GroutCode intègre le programme Grenoble Alpes 2026-27 transcrit pour Licence Informatique (UFR IM2AG) — Portail IMA, parcours Informatique et MIAGE, parcours Informatique générale — soit 22 cours — avec 41 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 Grenoble Alpes ?

C (27 séances), SQL (7 séances), Java (4 séances), Python (3 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 Grenoble Alpes 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