Sorbonne Université

Frankrijk · 2025-26

Sorbonne Université

27 labpractica voor het Sorbonne-leerplan.

De Licence d’Informatique van Sorbonne Université, L1 tot en met L3: programmeren, C, objectgeoriënteerd Java, datastructuren 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 d'Informatique (Faculté des Sciences et Ingénierie). Regeling: Offre de formation 2025-2026. Open een vak om de practicumonderdelen te zien en het labpracticum dat GroutCode bij elk onderdeel meelevert.

  1. L1 · S1

    1 vak4 lablessenPython
    • UL1IN001Python

      Elements de programmation

      4

      lessen

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

    1 vak8 lablessenC
    • UL1IN002C

      Elements de programmation 2

      8

      lessen

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

    2 vakken4 lablessenJavaC
    • LU2IN002Java

      Introduction à la programmation objet

      1

      les

      • Objects in Java — encapsulated points and accounts, a shape hierarchy and polymorphism
      Bekijk de onderdelen
      1. 1Objects in Java — encapsulated points and accounts, a shape hierarchy and polymorphismOnderdeel I · Introduction à la programmation objet
    • LU2IN018C

      C avancé

      3

      lessen

      • 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
      Bekijk alle 3 lessen
      1. 1Memory and I/O in C — heap strings, a growable vector, text and binary streamsOnderdeel I · Approfondissement des connaissances acquises sur ce langage
      2. 2Generic C with void * and function pointers — a type-agnostic toolkit beside qsort and bsearchOnderdeel II · Code générique et réutilisable
      3. 3Debugging four broken functions, then building a C testing toolkitOnderdeel III · Méthodes et outils permettant de rendre ces programmes complexes fonctionnels
  4. L2 · S4

    2 vakken2 lablessenCSQL
    • LU2IN006C

      Structures de données

      1

      les

      • The everyday data structures in C: array, stack, queue, hash table, BST and heap
      Bekijk de onderdelen
      1. 1The everyday data structures in C: array, stack, queue, hash table, BST and heapOnderdeel I · Structures de données
    • LU2IN009SQL

      Introduction aux bases de données relationnelles

      1

      les

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

    2 vakken9 lablessenJavaSQL
    • LU3IN002Java

      Programmation objet avancée

      4

      lessen

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

      Systèmes de gestion de bases de données

      5

      lessen

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

Het volledige leerplan van 33 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 Sorbonne Université. 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 Sorbonne 2025-26?

Ja. GroutCode bevat de overgenomen Sorbonne 2025-26 voor Licence d'Informatique (Faculté des Sciences et Ingénierie) — 33 vakken — met 27 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 Sorbonne-practica?

C (12 lessen), SQL (6 lessen), Java (5 lessen), Python (4 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 Sorbonne-labwerk met de controles ingebouwd

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

Download GroutCode