
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.
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
- 1An interpreter that gives a tiny imperative language its meaningChapitre I · la programmation impérative avec une sémantique semi-formelle
- 2Safe programming: type contracts, simulation tables and loop invariantsChapitre II · des techniques générales de programmation sûre
- 3Measuring efficiency and classifying problems: search, duplicates, subset sum, coinsChapitre III · des concepts d'algorithmique
- 4Sets, dictionaries and comprehensions: counting, grouping and indexingChapitre IV · la manipulation de constructions spécifiques au langage Python
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
- 1From Python to C: ten integer functions in the imperative coreChapitre I · Noyau impératif des langages: de Python à C
- 2From bits to a working CPU — binary, two's complement and a Little Man ComputerChapitre II · Principes de fonctionnement des ordinateurs
- 3Arrays, pointers and malloc — building a growable vector and a 2-D matrixChapitre III · Tableaux, pointeurs et allocation
- 4Array algorithms — search, rotate, deduplicate, Kadane and selection sortChapitre IV · Algorithmes avec les tableaux
- 5Pointer arithmetic and C strings — rebuilding string.h by handChapitre V · Arithmétique de pointeurs et chaînes de caractères
- 6Structs and pointers — exact fractions and a student registerChapitre VI · Enregistrement (structures) et pointeurs
- 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)
- 8Binary search trees in C — insertion, traversals, breadth-first order and deletionChapitre VIII · Structures arborescentes
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
- 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
- 1Memory and I/O in C — heap strings, a growable vector, text and binary streamsChapitre I · Approfondissement des connaissances acquises sur ce langage
- 2Generic C with void * and function pointers — a type-agnostic toolkit beside qsort and bsearchChapitre II · Code générique et réutilisable
- 3Debugging four broken functions, then building a C testing toolkitChapitre III · Méthodes et outils permettant de rendre ces programmes complexes fonctionnels
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
- 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
- 1Relational databases in practice: algebra, SQL queries and constraints on a course databaseChapitre I · Introduction aux bases de données relationnelles
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
- 1Object fundamentals in Java: encapsulation, abstraction, inheritance, composition and delegationChapitre I · Concepts fondamentaux de la programmation objet
- 2Polymorphism and typing in Java: generics, wildcards, lambdas and a sealed expression treeChapitre II · Polymorphisme et typage
- 3A unit-testing framework in miniature, then test suites that catch broken codeChapitre III · Programmation robuste
- 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
- 1Relational algebra in SQL: from selection to divisionChapitre I · Algèbre relationnelle
- 2Query evaluation and optimisation: indexes, access paths and query plansChapitre II · Évaluation et optimisation des requêtes
- 3Transactions and concurrency control: commit, savepoints and schedule analysis in SQLChapitre III · Transactions et contrôle de la concurrence
- 4Functional dependencies and normal forms, computed in SQLChapitre IV · Optimisation de schéma
- 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
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
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
É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
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
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.
Autres programmes

Paris-Saclay
Université Paris-Saclay
La Licence d'informatique de l'Université Paris-Saclay : programmation, algorithmique, programmation modulaire et objet en C++ et Java.
26
leçons de TP

Grenoble Alpes
Université 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.
41
leçons de TP

Lyon 1
Université Claude Bernard Lyon 1
La Licence d'informatique de l'Université Claude Bernard Lyon 1 : algorithmique, structures de données, bases de données, systèmes et C++ orienté objet.
24
leçons de TP
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