University of Delhi

Inde · UGCF 2022

University of Delhi

42 travaux pratiques pour le programme Delhi University.

Le B.Sc. (Hons.) Computer Science de Delhi University selon l'UGCF 2022 : structures de données en C++, POO en Python, algorithmique et SGBD. 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 : B.Sc. (Hons.) Computer Science. Régime : UGCF 2022 (NEP). Ouvrez un cours pour voir ses unités pratiques et la séance de TP que GroutCode propose pour chacune.

  1. Semestre 1

    1 UE6 leçons de TPPython
    • DSC01Python

      Object Oriented Programming using Python

      6

      leçons

      • From problem to program — ten small algorithms in Python
      • Python building blocks — literals, operators, functions and control flow
      Voir les 6 leçons
      1. 1From problem to program — ten small algorithms in PythonChapitre 1 · Introduction to Programming
      2. 2Python building blocks — literals, operators, functions and control flowChapitre 2 · Creating Python Programs
      3. 3Strings, lists, tuples, sets and dictionaries — Python's built-in data structuresChapitre 3 · Built-in data structures
      4. 4Classes that model things — points, employees, accounts and shapes in Python OOPChapitre 4 · Object Oriented Programming
      5. 5Files and exceptions — text statistics, config parsing and error handling in PythonChapitre 5 · File and exception handling
      6. 6The DSC01 practical list in Python: from quadratic roots to validated classesChapitre LAB · Suggested Practical List
  2. Semestre 2

    1 UE6 leçons de TPC++
    • DSC04C++

      Object Oriented Programming with C++

      6

      leçons

      • First C++ programs: from free functions to a Rectangle class
      • C++ fundamentals: series, arrays, searching and command-line arguments
      Voir les 6 leçons
      1. 1First C++ programs: from free functions to a Rectangle classChapitre I · Introduction to C++
      2. 2C++ fundamentals: series, arrays, searching and command-line argumentsChapitre II · Programming Fundamentals
      3. 3Classes in C++: encapsulation, constructors, inheritance, templates and a MatrixChapitre III · Object Oriented Programming
      4. 4Pointers and references in C++: string routines, dynamic arrays and virtual dispatchChapitre IV · Pointers and References
      5. 5Exceptions you define and files you can trustChapitre V · Exception and File Handling
      6. 6The C++ practical list, end to endChapitre LAB · Suggested Practical List
  3. Semestre 3

    2 UE13 leçons de TPC++C
    • DSC07C++

      Data Structures

      7

      leçons

      • Measuring growth and solving recurrences
      • Lists, stacks and queues from raw nodes
      Voir les 7 leçons
      1. 1Measuring growth and solving recurrencesChapitre 1 · Growth of Functions, Recurrence Relations
      2. 2Lists, stacks and queues from raw nodesChapitre 2 · Arrays, Linked Lists, Stacks, Queues
      3. 3Linear and binary recursion, measuredChapitre 3 · Recursion
      4. 4Binary and general trees — building, measuring and traversingChapitre 4 · Trees, Binary Trees
      5. 5Binary search trees and AVL trees — insert, search, delete, rebalanceChapitre 5 · Binary Search Trees, Balanced Search Trees
      6. 6Binary min-heap on an array — push, pop, build, sort and selectChapitre 6 · Binary Heap
      7. 7Data Structures lab — lists, stacks, queues and expression evaluationChapitre LAB · Suggested Practical List
    • DSC08C

      Operating Systems

      6

      leçons

      • What an OS does — dual mode, system calls, multiprogramming and resource management
      • A miniature kernel: protection bits, file system calls and a pipe
      Voir les 6 leçons
      1. 1What an OS does — dual mode, system calls, multiprogramming and resource managementChapitre 1 · Introduction
      2. 2A miniature kernel: protection bits, file system calls and a pipeChapitre 2 · Operating System Structures
      3. 3CPU schedulers and the banker's algorithmChapitre 3 · Process Management
      4. 4Paging, segmentation, fits and page replacementChapitre 4 · Memory Management
      5. 5Disk schedulers, directory paths and a file-allocation tableChapitre 5 · File System and Mass Storage Structure
      6. 6The OS practical list in C: wc, grep, chmod, cp, fork, exec, pipes and PthreadsChapitre LAB · Suggested Practical List
  4. Semestre 4

    2 UE12 leçons de TPC++SQL
    • DSC10C++

      Design and Analysis of Algorithms

      5

      leçons

      • Searching, sorting and divide and conquer in C++
      • Graph traversals and greedy algorithms in C++
      Voir les 5 leçons
      1. 1Searching, sorting and divide and conquer in C++Chapitre 1 · Searching, Sorting and Divide and Conquer
      2. 2Graph traversals and greedy algorithms in C++Chapitre 2 · Graphs and Greedy Algorithms
      3. 3Dynamic programming: interval scheduling, knapsack and subset sum in C++Chapitre 3 · Dynamic Programming
      4. 4Hash tables: hash functions, chaining and open addressing in C++Chapitre 4 · Hashing
      5. 5DAA practical list: counted sorts, Strassen, graph traversals, MST, shortest paths and DPChapitre LAB · Suggested Practical List
    • DSC11SQL

      Database Management Systems

      7

      leçons

      • From a flat file to a database: schemas, integrity and data independence
      • From an ER diagram to tables: entities, relationships and constraints
      Voir les 7 leçons
      1. 1From a flat file to a database: schemas, integrity and data independenceChapitre 1 · Introduction to Database
      2. 2From an ER diagram to tables: entities, relationships and constraintsChapitre 2 · Entity Relationship Modeling
      3. 3Relational algebra in SQL: operators, keys and integrity constraintsChapitre 3 · Relational Data Model
      4. 4SQL end to end: DDL, update behaviours, DML, aggregation and viewsChapitre 4 · Structured Query Language (SQL)
      5. 5Normalisation in practice: 1NF, 2NF, 3NF and BCNF decompositionsChapitre 5 · Database Design
      6. 6Indexes, transactions and log-based recovery in SQLiteChapitre 6 · File indexing and Transaction Processing
      7. 7The student-society database: DDL, joins, grouping, division, views and DML in SQLiteChapitre LAB · Suggested Practical List
  5. Semestre 5

    1 UE5 leçons de TPC++
    • DSC13C++

      Algorithms and Advanced Data Structures

      5

      leçons

      • Amortized analysis and NP: dynamic arrays, counters, certificates and reductions
      • KMP, standard, compressed and suffix tries, a search engine, and Ford-Fulkerson max flow
      Voir les 5 leçons
      1. 1Amortized analysis and NP: dynamic arrays, counters, certificates and reductionsChapitre 1 · Advanced Analysis of Algorithms and Intractability
      2. 2KMP, standard, compressed and suffix tries, a search engine, and Ford-Fulkerson max flowChapitre 2 · Algorithms on Strings and Flows
      3. 3Union-Find, Kruskal, Bellman-Ford, and B-trees with 2-4 trees as the t = 2 caseChapitre 3 · More on Trees and Graphs
      4. 4Randomized quicksort, randomized select and a skip listChapitre 4 · Randomization
      5. 5KMP, tries, Kruskal, Bellman-Ford, suffix tries and B-treesChapitre LAB · Suggested Practical List

Le programme complet, soit 20 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é à University of Delhi, 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 Delhi University UGCF 2022 ?

Oui. GroutCode intègre le programme Delhi University UGCF 2022 transcrit pour B.Sc. (Hons.) Computer Science — soit 20 cours — avec 42 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 Delhi University ?

C++ (23 séances), SQL (7 séances), Python (6 séances), C (6 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 Delhi University 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