Sorbonne Université

France · 2025-26

Sorbonne Université

27 travaux pratiques pour le programme Sorbonne.

La Licence d'informatique de Sorbonne Université, de la L1 à la L3 : programmation, C, Java orienté objet, structures de données 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 d'Informatique (Faculté des Sciences et Ingénierie). Régime : Offre de formation 2025-2026. Ouvrez un cours pour voir ses unités pratiques et la séance de TP que GroutCode propose pour chacune.

  1. L1 · S1

    1 UE4 leçons de TPPython
    • UL1IN001Python

      Elements de programmation

      4

      leçons

      • An interpreter that gives a tiny imperative language its meaning
      • Safe programming: type contracts, simulation tables and loop invariants
      Voir les 4 leçons
      1. 1An interpreter that gives a tiny imperative language its meaningChapitre I · la programmation impérative avec une sémantique semi-formelle
      2. 2Safe programming: type contracts, simulation tables and loop invariantsChapitre II · des techniques générales de programmation sûre
      3. 3Measuring efficiency and classifying problems: search, duplicates, subset sum, coinsChapitre III · des concepts d'algorithmique
      4. 4Sets, dictionaries and comprehensions: counting, grouping and indexingChapitre IV · la manipulation de constructions spécifiques au langage Python
  2. L1 · S2

    1 UE8 leçons de TPC
    • UL1IN002C

      Elements de programmation 2

      8

      leçons

      • From Python to C: ten integer functions in the imperative core
      • From bits to a working CPU — binary, two's complement and a Little Man Computer
      Voir les 8 leçons
      1. 1From Python to C: ten integer functions in the imperative coreChapitre I · Noyau impératif des langages: de Python à C
      2. 2From bits to a working CPU — binary, two's complement and a Little Man ComputerChapitre II · Principes de fonctionnement des ordinateurs
      3. 3Arrays, pointers and malloc — building a growable vector and a 2-D matrixChapitre III · Tableaux, pointeurs et allocation
      4. 4Array algorithms — search, rotate, deduplicate, Kadane and selection sortChapitre IV · Algorithmes avec les tableaux
      5. 5Pointer arithmetic and C strings — rebuilding string.h by handChapitre V · Arithmétique de pointeurs et chaînes de caractères
      6. 6Structs and pointers — exact fractions and a student registerChapitre VI · Enregistrement (structures) et pointeurs
      7. 7Linked lists and queues in C — nodes, pointers to pointers and a circular bufferChapitre VII · Structure de données linéaires (liste, files d'attente)
      8. 8Binary search trees in C — insertion, traversals, breadth-first order and deletionChapitre VIII · Structures arborescentes
  3. L2 · S3

    2 UE4 leçons de TPJavaC
    • LU2IN002Java

      Introduction à la programmation objet

      1

      leçon

      • Objects in Java — encapsulated points and accounts, a shape hierarchy and polymorphism
      Voir les chapitres
      1. 1Objects in Java — encapsulated points and accounts, a shape hierarchy and polymorphismChapitre I · Introduction à la programmation objet
    • LU2IN018C

      C avancé

      3

      leçons

      • Memory and I/O in C — heap strings, a growable vector, text and binary streams
      • Generic C with void * and function pointers — a type-agnostic toolkit beside qsort and bsearch
      Voir les 3 leçons
      1. 1Memory and I/O in C — heap strings, a growable vector, text and binary streamsChapitre I · Approfondissement des connaissances acquises sur ce langage
      2. 2Generic C with void * and function pointers — a type-agnostic toolkit beside qsort and bsearchChapitre II · Code générique et réutilisable
      3. 3Debugging four broken functions, then building a C testing toolkitChapitre III · Méthodes et outils permettant de rendre ces programmes complexes fonctionnels
  4. L2 · S4

    2 UE2 leçons de TPCSQL
    • LU2IN006C

      Structures de données

      1

      leçon

      • The everyday data structures in C: array, stack, queue, hash table, BST and heap
      Voir les chapitres
      1. 1The everyday data structures in C: array, stack, queue, hash table, BST and heapChapitre I · Structures de données
    • LU2IN009SQL

      Introduction aux bases de données relationnelles

      1

      leçon

      • Relational databases in practice: algebra, SQL queries and constraints on a course database
      Voir les chapitres
      1. 1Relational databases in practice: algebra, SQL queries and constraints on a course databaseChapitre I · Introduction aux bases de données relationnelles
  5. L3 · S5

    2 UE9 leçons de TPJavaSQL
    • LU3IN002Java

      Programmation objet avancée

      4

      leçons

      • Object fundamentals in Java: encapsulation, abstraction, inheritance, composition and delegation
      • Polymorphism and typing in Java: generics, wildcards, lambdas and a sealed expression tree
      Voir les 4 leçons
      1. 1Object fundamentals in Java: encapsulation, abstraction, inheritance, composition and delegationChapitre I · Concepts fondamentaux de la programmation objet
      2. 2Polymorphism and typing in Java: generics, wildcards, lambdas and a sealed expression treeChapitre II · Polymorphisme et typage
      3. 3A unit-testing framework in miniature, then test suites that catch broken codeChapitre III · Programmation robuste
      4. 4A shop back end built from the fundamental design patternsChapitre IV · Architecture logicielle
    • LU3IN009SQL

      Systèmes de gestion de bases de données

      5

      leçons

      • Relational algebra in SQL: from selection to division
      • Query evaluation and optimisation: indexes, access paths and query plans
      Voir les 5 leçons
      1. 1Relational algebra in SQL: from selection to divisionChapitre I · Algèbre relationnelle
      2. 2Query evaluation and optimisation: indexes, access paths and query plansChapitre II · Évaluation et optimisation des requêtes
      3. 3Transactions and concurrency control: commit, savepoints and schedule analysis in SQLChapitre III · Transactions et contrôle de la concurrence
      4. 4Functional dependencies and normal forms, computed in SQLChapitre IV · Optimisation de schéma
      5. 5Views and triggers that keep a registration database honestChapitre V · Outils classiques de bases de données

Le programme complet, soit 33 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é à Sorbonne Université, 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 Sorbonne 2025-26 ?

Oui. GroutCode intègre le programme Sorbonne 2025-26 transcrit pour Licence d'Informatique (Faculté des Sciences et Ingénierie) — soit 33 cours — avec 27 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 Sorbonne ?

C (12 séances), SQL (6 séances), Java (5 séances), Python (4 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 Sorbonne 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