Savitribai Phule Pune University

Inde · 2024 pattern

Savitribai Phule Pune University

29 travaux pratiques pour le programme SPPU.

Le B.E. Computer Engineering de l'université de Pune, 2024 pattern (NEP 2020), avec les TP de structures de données, de POO et de 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 : B.E. Computer Engineering. Régime : 2024 pattern (NEP 2020). 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 TPC
    • ESC105COMC

      Fundamentals of Programming Languages

      6

      leçons

      • C tokens, constants and storage classes — a tiny lexer
      • Operators and expressions — from bit tricks to an infix evaluator
      Voir les 6 leçons
      1. 1C tokens, constants and storage classes — a tiny lexerChapitre I · Introduction to Program Planning & C Programming
      2. 2Operators and expressions — from bit tricks to an infix evaluatorChapitre II · Operators and Expressions
      3. 3Control flow — a calculator and a month calendarChapitre III · Control Flow
      4. 4Arrays and strings — search, string handling and matrix multiplicationChapitre IV · Arrays
      5. 5Functions and structures — Tower of Hanoi, employee records and a balance sheetChapitre V · User Defined Functions
      6. 6The FPL lab list in C — numbers, arrays, strings and an employee recordChapitre LAB · List of Laboratory Experiments/Assignments
  2. Semestre 2

    1 UE6 leçons de TPPython
    • PCC151ITTPython

      Programming and Problem Solving

      6

      leçons

      • Problem-solving strategies in Python — brute force to top-down design
      • Tuples, sets, dictionaries and every loop form in Python
      Voir les 6 leçons
      1. 1Problem-solving strategies in Python — brute force to top-down designChapitre I · Problem Solving, Programming and Python Programming
      2. 2Tuples, sets, dictionaries and every loop form in PythonChapitre II · Advance Data Types and Decision Control Statements
      3. 3String tools in Python — your own functions, closures and formattingChapitre III · Functions and Strings
      4. 4Files and dictionaries in Python — read, write, seek, rename and indexChapitre IV · File Handling and Dictionaries
      5. 5Classes, inheritance and polymorphism: a small banking and library modelChapitre V · Object Oriented Programming
      6. 6Python lab: conversions, strings, files, classes and engineering formulasChapitre LAB · List of Laboratory Assignments
  3. Semestre 3

    4 UE12 leçons de TPPythonJava
    • PCC201COMPython

      Data Structures

      5

      leçons

      • Measuring algorithms: step counts, growth rates, ADTs, divide and conquer, greedy
      • Arrays, sparse matrices, four searches and five sorts
      Voir les 5 leçons
      1. 1Measuring algorithms: step counts, growth rates, ADTs, divide and conquer, greedyChapitre I · Introduction to Data Structures and Algorithms
      2. 2Arrays, sparse matrices, four searches and five sortsChapitre II · Linear Data Structures, searching and sorting
      3. 3Stacks, queues and linked lists: expression conversion to JosephusChapitre III · Stacks, Queues and Linked Lists
      4. 4Hash tables — chaining, open addressing, rehashing and extendible hashingChapitre IV · Hashing
      5. 5Graphs and trees — traversals, spanning trees, BSTs and Huffman codingChapitre V · Graphs and Trees
    • PCC202COMJava

      Object Oriented Programming and Computer Graphics

      5

      leçons

      • Java fundamentals — control structures, references and your first classes
      • Classes, arrays and streams — a library management system
      Voir les 5 leçons
      1. 1Java fundamentals — control structures, references and your first classesChapitre I · Introduction to OOP Concepts and Control Structure
      2. 2Classes, arrays and streams — a library management systemChapitre II · Introduction to Classes and Objects and Arrays
      3. 3Online banking — inheritance, exceptions and threadsChapitre III · Inheritance and Polymorphism Exception Handling and Multithreading
      4. 4Raster graphics in Java: DDA, Bresenham, midpoint circle, fills and clippingChapitre IV · Graphics Primitives, Scan Conversion, Windowing and Clipping
      5. 5Homogeneous transformations and projections in Java: 2D, 3D, oblique, isometric and perspectiveChapitre V · 2D, 3D Transformations and Projections
    • PCC204COMPython

      Data Structures Laboratory

      1

      leçon

      • Data structures lab in Python: searching, sorting, stacks, queues, linked lists, hashing, graphs and trees
      Voir les chapitres
      1. 1Data structures lab in Python: searching, sorting, stacks, queues, linked lists, hashing, graphs and treesChapitre LAB · List of Laboratory Assignments
    • PCC205COMJava

      Object Oriented Programming and Computer Graphics Laboratory

      1

      leçon

      • OOP and graphics lab in Java: calculator, orders, inheritance, exceptions, threads, styled lines, circles, fills, bankin
      Voir les chapitres
      1. 1OOP and graphics lab in Java: calculator, orders, inheritance, exceptions, threads, styled lines, circles, fills, bankinChapitre LAB · List of Laboratory Assignments
  4. Semestre 4

    1 UE1 leçon de TPSQL
    • PCC254COMSQL

      Database Management Laboratory

      1

      leçon

      • DBMS lab in SQLite: constraints, DDL, DML, transactions, aggregates, joins, views, subqueries and triggers
      Voir les chapitres
      1. 1DBMS lab in SQLite: constraints, DDL, DML, transactions, aggregates, joins, views, subqueries and triggersChapitre LAB · List of Laboratory Assignments
  5. Semestre 5

    1 UE1 leçon de TPPython
    • PCC304COMPython

      Artificial Intelligence Laboratory

      1

      leçon

      • The AI lab list in Python — agents, search, games, constraints and an expert system
      Voir les chapitres
      1. 1The AI lab list in Python — agents, search, games, constraints and an expert systemChapitre LAB · List of Laboratory Assignments
  6. Semestre 6

    3 UE3 leçons de TPPythonSQL
    • PEC363ACOMPython

      Elective III Laboratory: Information Retrieval

      1

      leçon

      • A small search engine in Python — conflation, inverted index, Boolean queries, clustering, evaluation and PageRank
      Voir les chapitres
      1. 1A small search engine in Python — conflation, inverted index, Boolean queries, clustering, evaluation and PageRankChapitre LAB · List of Laboratory Assignments
    • PEC363CCOMPython

      Elective III Laboratory: Cryptography and Network Security

      1

      leçon

      • Cryptography lab in Python — classical ciphers, AES-128, RSA, Diffie-Hellman, signatures, HMAC, a packet filter and steg
      Voir les chapitres
      1. 1Cryptography lab in Python — classical ciphers, AES-128, RSA, Diffie-Hellman, signatures, HMAC, a packet filter and stegChapitre LAB · List of Laboratory Assignments
    • PEC363DCOMSQL

      Elective III Laboratory: Advanced Databases

      1

      leçon

      • Advanced databases in SQLite — fragmentation, query rewriting, materialised views, transactions, log recovery and serial
      Voir les chapitres
      1. 1Advanced databases in SQLite — fragmentation, query rewriting, materialised views, transactions, log recovery and serialChapitre LAB · List of Laboratory Assignments

Le programme complet, soit 41 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é à Savitribai Phule Pune University, 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 SPPU 2024 pattern ?

Oui. GroutCode intègre le programme SPPU 2024 pattern transcrit pour B.E. Computer Engineering — soit 41 cours — avec 29 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 SPPU ?

Python (15 séances), C (6 séances), Java (6 séances), SQL (2 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 SPPU 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