
France · 2026-27
Université Claude Bernard Lyon 1
24 lab practicals for the Lyon 1 syllabus.
Université Claude Bernard Lyon 1’s Licence Informatique: algorithmics, data structures, databases, systems and object-oriented C++. Every lesson is stepped, compiled and checked by a real toolchain on your own machine — the model reviews your code afterwards, it does not decide whether you passed.
Updated
Semester by semester
Programme: Licence Informatique. Scheme: Offre de formation 2026-2027. Open a course to see its practical units and the lab lesson GroutCode ships for each.
L1·S1
1 course2 lab lessonsC++- LIFAPIC++
Algorithmique programmation impérative, initiation
2
lessons
- From algorithm to subprogram: loops, arrays, strings and structures
- A calendar library in imperative C++
- 1From algorithm to subprogram: loops, arrays, strings and structuresUnit 1 · Algorithmique
- 2A calendar library in imperative C++Unit 2 · Programmation impérative
L2·S3
2 courses4 lab lessonsC++SQL- LIFAPSDC++
Algorithmique, programmation et structures de données
3
lessons
- Dynamic structures from pointers: arrays, stacks, queues, lists, trees and files
- Abstract data types as classes: a Fraction and an IntSet
- 1Dynamic structures from pointers: arrays, stacks, queues, lists, trees and filesUnit 1 · Manipulation des principales structures de données utilisées en informatique
- 2Abstract data types as classes: a Fraction and an IntSetUnit 2 · Introduction à la programmation orientée objet
- 3Selection, insertion and merge sort, measuredUnit 3 · Algorithmique
- LIFBDWSQL
Base de données et Programmation web
1
lesson
- Querying a Licence informatique database in SQL: from SELECT to an application view
- 1Querying a Licence informatique database in SQL: from SELECT to an application viewUnit 3 · Découverte du langage d'interrogation SQL
L2·S4
1 course4 lab lessonsC- LIFSEC
Système d'exploitation
4
lessons
- File primitives in C: write, read, lseek, lstat and directories
- Processes in C: fork, wait, exec and a tiny command runner
- 1File primitives in C: write, read, lseek, lstat and directoriesUnit 2 · Les différents types de fichiers
- 2Processes in C: fork, wait, exec and a tiny command runnerUnit 3 · La notion de processus
- 3Talking between processes in C: environment, signals and pipesUnit 4 · Des méthodes de communication entre processus
- 4Sockets and the client-server model in C: a framed request serverUnit 5 · Les sockets et le modèle client-serveur
L3·S5
3 courses11 lab lessonsC++JavaSQL- LIFAPCC++
Algorithmique, programmation et complexité
6
lessons
- Measuring complexity: comparison counts, O and Theta witnesses, amortised growth
- Abstract data types: set, dictionary, priority queue, tree and graph behind interfaces
- 1Measuring complexity: comparison counts, O and Theta witnesses, amortised growthUnit 1 · L'analyse asymptotique de la complexité des algorithmes
- 2Abstract data types: set, dictionary, priority queue, tree and graph behind interfacesUnit 2 · La notion du type de données abstrait (TDA)
- 3Data structures for the ADTs: BST and AVL, skip list, hash table, binary heap, union-findUnit 3 · Des structures de données classiques pour implémenter les TDA
- 4Divide and conquer: the master theorem, Karatsuba, quicksort, quick-select and heap sortUnit 4 · Algorithmes récursifs de type « diviser pour régner » et tris avancés
- 5Graph traversals and shortest paths: BFS, DFS, topological sort, Dijkstra and A*Unit 5 · Les algorithmes classiques de parcours de graphe
- 6Invariants, greedy choices, dynamic programming, colouring and flows in C++Unit 6 · Notions supplémentaires
- LIFAPOOJava
Algorithmique et programmation orientée objet
3
lessons
- Shapes and generic containers — classes, inheritance, polymorphism and genericity in Java
- Event bus, MVC counter, Strategy, Factory, Decorator and a process state machine in Java
- 1Shapes and generic containers — classes, inheritance, polymorphism and genericity in JavaUnit 1 · Concepts de la programmation objet
- 2Event bus, MVC counter, Strategy, Factory, Decorator and a process state machine in JavaUnit 3 · Applications avancées de la POO
- 3A library catalogue in modern Java — collections, enums, records, checked exceptions, iterators and streamsUnit 4 · Applications dans un langage orienté objet
- LIFBDASQL
Bases de données avancées
2
lessons
- Relational algebra in SQL — selection, projection, joins, set operations, aggregates and division
- A bank schema that defends itself — constraints, triggers and transactions in SQL
- 1Relational algebra in SQL — selection, projection, joins, set operations, aggregates and divisionUnit 1 · Rappels
- 2A bank schema that defends itself — constraints, triggers and transactions in SQLUnit 3 · Conception des bases de données relationnelles: aspects pratiques
L3·S6
2 courses3 lab lessonsC++Node.js- LIFPCAC++
Programmation concurrente et administration système
1
lesson
- C++11 threads — data parallelism, mutexes, condition variables and the classic problems
- 1C++11 threads — data parallelism, mutexes, condition variables and the classic problemsUnit 1 · Programmation concurrente
- LIFWEBNode.js
Conception et programmation web
2
lessons
- Functional JavaScript and Promises — from reduce to a concurrency-limited mapLimit
- A Node web server from scratch — routing, JSON API, middleware and static files
- 1Functional JavaScript and Promises — from reduce to a concurrency-limited mapLimitUnit 3 · JS Asynchrone
- 2A Node web server from scratch — routing, JSON API, middleware and static filesUnit 5 · Node
The full 31-course syllabus is transcribed in the app, including the theory courses. Lessons are authored against the course codes that have practical work, and the list grows with each release.
GroutCode is not affiliated with or endorsed by Université Claude Bernard Lyon 1. Course codes and titles are transcribed from the institution’s published scheme documents.
How a practical runs
The same five steps for every lesson, in every language.
- 1
Pick your syllabus
Choose your university or board and the semester or class you are in. The course list is the transcribed official scheme, not an approximation.
- 2
Open a lab lesson
Each lesson is a stepped practical for a specific course, with a starter file you edit and a test file you do not.
- 3
Write the code yourself
The starter has the signatures and the TODOs. You implement them in the editor, in the language your course actually uses.
- 4
Run the checks
The toolchain compiles and runs the tests — 8 to 15 of them across the lesson, one per step, so you find out which change broke what.
- 5
Get the review
Once the tests pass, the model reads your implementation and tells you the input that breaks it. It never reports the pass or fail itself.
Why the compiler grades, not the model
The obvious way to build an AI lab tool is to let the model read the student’s code and say whether it is correct. It is also the way that produces a tool nobody can trust. A model will tell you your code works when the compiler says otherwise, and it will fail you for a style it happens to dislike.
So the two jobs are split:
- The model designs the lesson, writes the starter and the tests, and — after the tests pass — reads what you actually wrote and tells you the input that breaks it.
- The toolchain decides whether it compiles and whether each step passes. That verdict is not negotiable and the model never issues it.
And why steps instead of one big task
A 40-to-60 minute practical with a single Run at the end gives a beginner one bit of feedback an hour, and it arrives after every decision has already been made. Each lesson here is 8 to 15 steps, each with its own instruction and its own check, so you find out which change broke what while you still remember making it.
Frequently asked questions
Does GroutCode cover the Lyon 1 2026-27?
Yes. GroutCode ships the transcribed Lyon 1 2026-27 for Licence Informatique — 31 courses — with 24 authored lab lessons mapped to specific course codes. The syllabus was transcribed from the official documents, and the source and checksum of each one is recorded in the app.
Which languages do the Lyon 1 practicals use?
C++ (12 lessons), C (4 lessons), SQL (3 lessons), Java (3 lessons), Node.js (2 lessons). The language is set per course code rather than guessed from the title, because the same subject is taught in different languages at different institutions.
Does the AI just write the practical for me?
No. The starter file has the signatures and the TODOs; you implement them. The toolchain — not the model — decides whether your code compiles and whether each step passes, so the AI cannot tell you your code works when the compiler disagrees. What it does afterwards is read your implementation and point out the input that breaks it.
Do the practicals work offline?
The lessons, the syllabus and the test runner are bundled in the app and run locally, so the compile-and-check loop works with no connection. The review step at the end uses a model, which can be a local one or a cloud one with your own key.
What do I need installed?
GroutCode detects which toolchains are present on your machine and tells you what is missing and what would fix it. You need the compiler or interpreter for the language your course uses — a C compiler, a JDK, Python, Node or SQLite.
Other syllabuses

Sorbonne
Sorbonne Université
Sorbonne Université’s Licence d’Informatique, L1 to L3: programming, C, object-oriented Java, data structures and databases.
27
lab lessons

Paris-Saclay
Université Paris-Saclay
Université Paris-Saclay’s Licence Informatique: programming, algorithmics, modular and object programming in C++ and Java.
26
lab lessons

Grenoble Alpes
Université Grenoble Alpes
Université Grenoble Alpes’s Licence Informatique (UFR IM2AG): imperative programming in C, software projects and databases.
41
lab lessons
Do your Lyon 1 lab work with the checks built in
GroutCode is included in every Grout Suite license. Free download for Windows and macOS.
Download GroutCode