Grout
Visvesvaraya Technological University

Inde · 2022 scheme

Visvesvaraya Technological University

123 travaux pratiques pour le programme VTU.

Le programme 2022 du Karnataka pour CSE, ISE, AI-ML, AI-DS et ECE, y compris les cours de TP dédiés. 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. CSE / ISE / AI-ML / AI-DS / ECE. Régime : 2022 scheme. Ouvrez un cours pour voir ses unités pratiques et la séance de TP que GroutCode propose pour chacune.

  1. Semestre 3

    8 UE29 leçons de TPCJavaC++Python
    • BCS303C

      Operating Systems

      6

      leçons

      • A tiny kernel's plumbing: traps, system calls, files, ports and boot
      • Writing the scheduler: FCFS, SJF, SRTF, priority, ageing and round robin
      Voir les 6 leçons
      1. 1A tiny kernel's plumbing: traps, system calls, files, ports and bootChapitre I · Introduction to operating systems, System structures
      2. 2Writing the scheduler: FCFS, SJF, SRTF, priority, ageing and round robinChapitre II · Process Management
      3. 3Process synchronization and deadlocks: building the algorithms instead of tracing themChapitre III · Process Synchronization
      4. 4Memory management: relocation, paging, segmentation and the page-replacement policiesChapitre IV · Memory Management
      5. 5Building the file system: control blocks, directories, allocation, the disk arm and the access matrixChapitre V · File System, Implementation of File System
      6. 6The whole operating systems lab, simulated: process table, schedulers, semaphores, pipes, the banker, memory, pages andChapitre LAB · Practical Component of IPCC
    • BCS304C

      Data Structures and Applications

      5

      leçons

      • Arrays, polynomials, sparse matrices, strings and stacks. Unit I in C
      • Queues, shared arrays and linked chains. Unit II in C
      Voir les 5 leçons
      1. 1Arrays, polynomials, sparse matrices, strings and stacks. Unit I in CChapitre I · Introduction to Data Structures
      2. 2Queues, shared arrays and linked chains. Unit II in CChapitre II · Queues
      3. 3Chains that point both ways: list surgery, linked sparse matrices, and trees with and without threadsChapitre III · Linked Lists
      4. 4Search trees, tournaments, forests and graphs: the structures that answer a query fastChapitre IV · TREES(Cont..): Binary Search trees
      5. 5Hash Table Implementation with Linear ProbingChapitre V · Hashing
    • BCS306AJava

      Object Oriented Programming with JAVA

      5

      leçons

      • A numeric and tabular toolkit: types, casts, operators and control flow
      • An immutable Fraction and the machinery around it
      Voir les 5 leçons
      1. 1A numeric and tabular toolkit: types, casts, operators and control flowChapitre I · An Overview of Java
      2. 2An immutable Fraction and the machinery around itChapitre II · Introducing Classes
      3. 3A document tree: abstract classes, super, dispatch and interfacesChapitre III · Inheritance
      4. 4A configuration loader that fails precisely: access, exceptions and finallyChapitre IV · Packages
      5. 5A ticket desk with several clerks: threads, locks, an enum and the boxes around intChapitre V · Multithreaded Programming
    • BCS306BC++

      Object Oriented Programming with C++

      5

      leçons

      • A Clock class: constructors, destructors, statics and friends
      • A Buffer that owns its memory: copies, pointers and this
      Voir les 5 leçons
      1. 1A Clock class: constructors, destructors, statics and friendsChapitre I · An overview of C++
      2. 2A Buffer that owns its memory: copies, pointers and thisChapitre II · Arrays, Pointers, References, and the Dynamic Allocation Operators
      3. 3Polynomials that add themselves, and a hierarchy that logs its own constructionChapitre III · Operator Overloading
      4. 4A shape hierarchy that dispatches late, and templates that work for any typeChapitre IV · Virtual Functions and Polymorphism
      5. 5A ledger that throws, and a report it writes and reads backChapitre V · Exception Handling
    • BCS358DPython

      Data Visualization with Python

      1

      leçon

      • Data visualization without a plotting library
      Voir les chapitres
      1. 1Data visualization without a plotting libraryChapitre LAB · List of Experiments
    • BCSL305C

      Data Structures Laboratory

      1

      leçon

      • Calendar Management System
      Voir les chapitres
      1. 1Calendar Management SystemChapitre LAB · List of Experiments
    • BDS306BPython

      Python Programming for Data Science

      5

      leçons

      • Python Variables and Data Types
      • Conditional Logic with Grade Classification
      Voir les 5 leçons
      1. 1Python Variables and Data TypesChapitre I · Introduction to python
      2. 2Conditional Logic with Grade ClassificationChapitre II · Decision structure
      3. 3List Sorting with Bubble SortChapitre III · Lists
      4. 4NumPy Array Manipulation with Basic OperationsChapitre IV · The NumPy Library
      5. 5Data I/O tools and pandas-style manipulation from the standard libraryChapitre V · The pandas
    • BEC358CC++

      C++ Basics

      1

      leçon

      • C++ Student Marks Average Calculator
      Voir les chapitres
      1. 1C++ Student Marks Average CalculatorChapitre LAB · List of Experiments
  2. Semestre 4

    6 UE20 leçons de TPSQLCNode.jsJava
    • BCS403SQL

      Database Management System

      6

      leçons

      • An ER design, interrogated: entities, weak entities, participation and specialization
      • The relational model with its constraints on: keys, integrity, the algebra, and the ER mapping
      Voir les 6 leçons
      1. 1An ER design, interrogated: entities, weak entities, participation and specializationChapitre I · Introduction to Databases
      2. 2The relational model with its constraints on: keys, integrity, the algebra, and the ER mappingChapitre II · Relational Model
      3. 3Normalization as arithmetic: 1NF to 5NF, with the dependencies stored as rowsChapitre III · Normalization
      4. 4Advanced SQL and the theory of transactions: windows, recursion, an updatable view, an assertion, and six schedulesChapitre IV · SQL
      5. 5Concurrency control protocols, and the four NoSQL data models, all of them as queriesChapitre V · Concurrency Control in Databases
      6. 6The BCS403 experiment list, run end to end: DDL, transactions, triggers, cursors, a merge and documentsChapitre LAB · Practical Component of IPCC
    • BCSL404C

      Analysis & Design of Algorithms Lab

      1

      leçon

      • Kruskal's Algorithm for Minimum Spanning Tree
      Voir les chapitres
      1. 1Kruskal's Algorithm for Minimum Spanning TreeChapitre LAB · List of Experiments
    • BDSL456CNode.js

      MERN

      1

      leçon

      • MERN lab logic: Mongo-style queries, cookies, file CRUD, Express routes, auth and fetch
      Voir les chapitres
      1. 1MERN lab logic: Mongo-style queries, cookies, file CRUD, Express routes, auth and fetchChapitre LAB · List of Experiments
    • BEC405DC

      Data Structures Using C

      5

      leçons

      • Dynamic Array Implementation with malloc
      • An array stack, infix to postfix and prefix, and recursive programs in C
      Voir les 5 leçons
      1. 1Dynamic Array Implementation with mallocChapitre I · Arrays
      2. 2An array stack, infix to postfix and prefix, and recursive programs in CChapitre II · The Stack
      3. 3Implementing a Circular Queue using ArrayChapitre III · Queues and Lists
      4. 4Binary Tree Node Creation and TraversalChapitre IV · Trees
      5. 5Hash Table Implementation with ChainingChapitre V · Hashing
    • BECL456DC

      Data Structures Lab using C

      1

      leçon

      • Stack Implementation with Linked List
      Voir les chapitres
      1. 1Stack Implementation with Linked ListChapitre LAB · List of Experiments
    • BIS402Java

      Advanced Java

      6

      leçons

      • A course enrolment register: lists, sets, iterators and the collection algorithms
      • A student record cleaner: constructors, character extraction and StringBuffer
      Voir les 6 leçons
      1. 1A course enrolment register: lists, sets, iterators and the collection algorithmsChapitre I · The collections and Framework
      2. 2A student record cleaner: constructors, character extraction and StringBufferChapitre II · String Handling
      3. 3From the Alpha and Beta buttons to a registration form that validates itselfChapitre III · Introducing Swing
      4. 4A servlet container in plain Java - requests, responses, cookies, sessions and JSPChapitre IV · Introducing servlets
      5. 5The Student database and its login page: schema, queries, the ResultSet cursor and the bound loginChapitre V · JDBC Objects
      6. 6The twelve experiments in one file: collections, strings, events, a modelled container and a modelled driverChapitre LAB · Practical Component of IPCC
  3. Semestre 5

    6 UE27 leçons de TPPythonJavaC++CNode.js
    • BAI515EPython

      Exploratory Data Analysis

      5

      leçons

      • NumPy Array Sorting
      • Series, DataFrame, missing data, MultiIndex and pivot tables from scratch
      Voir les 5 leçons
      1. 1NumPy Array SortingChapitre I · Introduction to Python and NumPy
      2. 2Series, DataFrame, missing data, MultiIndex and pivot tables from scratchChapitre II · Data Manipulation with Pandas - I
      3. 3Vectorised strings, time series and a safe eval/query, in plain PythonChapitre III · Data Manipulation with Pandas - II
      4. 4Under Matplotlib and Seaborn: axes, ticks, format strings, histograms, KDE and an SVG plotChapitre IV · Data Visualization with MatPlotlib
      5. 5Scikit-Learn Model Validation WorkflowChapitre V · Introduction to Machine Learning
    • BCS502Java

      Computer Networks

      6

      leçons

      • A protocol stack in memory: encapsulation, segmentation, delay, and the two kinds of switch
      • The data link layer in memory: framing, error control, ARQ and the medium
      Voir les 6 leçons
      1. 1A protocol stack in memory: encapsulation, segmentation, delay, and the two kinds of switchChapitre I · Introduction
      2. 2The data link layer in memory: framing, error control, ARQ and the mediumChapitre II · Data Link Layer
      3. 3The network layer in memory: addressing, forwarding, fragmentation and four routing algorithmsChapitre III · Network Layer
      4. 4The transport layer, written out: demultiplexing, UDP, and the whole of TCPChapitre IV · Introduction to Transport Layer
      5. 5The application layer without a socket: HTTP, DNS, SMTP, FTP and a file serverChapitre V · Introduction to Application Layer: Introduction
      6. 6A network you can count: queues, routing, collisions, CRC, windows, sockets and bucketsChapitre LAB · Practical Component of IPCC
    • BCS515AC++

      Computer Graphics

      5

      leçons

      • A graphics system in miniature: frame buffer, pinhole and synthetic camera, pipeline
      • Event-Driven Menu Interaction with GLUT
      Voir les 5 leçons
      1. 1A graphics system in miniature: frame buffer, pinhole and synthetic camera, pipelineChapitre I · Graphics Systems and Models
      2. 2Event-Driven Menu Interaction with GLUTChapitre II · Input and Interaction
      3. 3Homogeneous-coordinate transformations, the colored cube and frames in C++Chapitre III · Geometric Objects and Transformations
      4. 4Camera, projection, viewport and the Phong lighting model in C++Chapitre IV · Viewing
      5. 5Cohen-Sutherland Line ClippingChapitre V · From Vertices to Fragments
    • BCS515CC

      Unix System Programming

      5

      leçons

      • Unix Command Line Argument Parser
      • File Permission String Builder
      Voir les 5 leçons
      1. 1Unix Command Line Argument ParserChapitre I · Introduction
      2. 2File Permission String BuilderChapitre II · File attributes and permissions
      3. 3Unix File Operations: Basic File ManagementChapitre III · Unix Standardization and Implementations
      4. 4Process Creation with fork()Chapitre IV · Process Control
      5. 5Signals with sigaction, signal masks, sigsuspend and daemon coding rulesChapitre V · Signals and Daemon Processes: Introduction
    • BCSL504Node.js

      Web Technology Lab

      1

      leçon

      • HTML Page Generator
      Voir les chapitres
      1. 1HTML Page GeneratorChapitre LAB · List of Experiments
    • BEC515CC++

      Data Structures using C++

      5

      leçons

      • An array-based list template that owns its memory
      • Linked List Stack Implementation
      Voir les 5 leçons
      1. 1An array-based list template that owns its memoryChapitre I · UNIT-I
      2. 2Linked List Stack ImplementationChapitre II · UNIT-III
      3. 3Implementing a Queue using ArrayChapitre III · UNIT-IV
      4. 4Binary Search Tree InsertionChapitre IV · UNIT-V
      5. 5Graph Adjacency List ImplementationChapitre V · UNIT-VI
  4. Semestre 6

    9 UE30 leçons de TPPythonJavaCNode.js
    • BAI602Python

      Machine Learning

      5

      leçons

      • Robust statistics and the shape of a distribution
      • Splits, confusion matrices, ROC and the bootstrap
      Voir les 5 leçons
      1. 1Robust statistics and the shape of a distributionChapitre I · Introduction
      2. 2Splits, confusion matrices, ROC and the bootstrapChapitre II · Understanding Data - 2
      3. 3Nearest Centroid Classifier ImplementationChapitre III · Similarity-based Learning
      4. 4CART, pruning and Gaussian naive BayesChapitre IV · Decision Tree Learning
      5. 5A softmax classifier, and clustering by proximityChapitre V · Artificial Neural Networks
    • BAIL606Python

      Machine Learning lab

      1

      leçon

      • Statistical Analysis of Numerical Data
      Voir les chapitres
      1. 1Statistical Analysis of Numerical DataChapitre LAB · List of Experiments
    • BAIL657CPython

      Generative AI

      1

      leçon

      • Word Embedding Similarity Search
      Voir les chapitres
      1. 1Word Embedding Similarity SearchChapitre LAB · List of Experiments
    • BCS602Python

      Machine Learning

      5

      leçons

      • Descriptive statistics, batch and streaming
      • Correlation, feature engineering and the version space
      Voir les 5 leçons
      1. 1Descriptive statistics, batch and streamingChapitre I · Introduction
      2. 2Correlation, feature engineering and the version spaceChapitre II · Understanding Data - 2
      3. 3K-Nearest Neighbor Classifier ImplementationChapitre III · Similarity-based Learning
      4. 4Bayesian learning and neural networks from the counts upChapitre IV · Bayesian Learning
      5. 5Clustering by partition, and control by rewardChapitre V · Clustering Algorithms
    • BCS613DJava

      Advanced Java

      5

      leçons

      • A parcel depot's dispatch board: maps, queues, comparators and the collection algorithms
      • A template engine and its tokeniser: searching, slicing and StringBuilder
      Voir les 5 leçons
      1. 1A parcel depot's dispatch board: maps, queues, comparators and the collection algorithmsChapitre I · The collections and Framework
      2. 2A template engine and its tokeniser: searching, slicing and StringBuilderChapitre II · String Handling
      3. 3A ticket kiosk's component tree: containment, layout, dispatch and a paint passChapitre III · Introducing Swing
      4. 4The container behind a reporting API: servlet life cycle, mapping, filters, dispatchers and sessionsChapitre IV · Introducing servlets
      5. 5A JDBC driver taken apart: the URL, the DriverManager, the pool and the transactionChapitre V · JDBC Objects
    • BCS654AC

      Introduction to Data Structures

      5

      leçons

      • Dynamic 2D Array Implementation
      • Array-Based Stack Implementation
      Voir les 5 leçons
      1. 1Dynamic 2D Array ImplementationChapitre I · Arrays
      2. 2Array-Based Stack ImplementationChapitre II · Stacks
      3. 3Singly Linked List ImplementationChapitre III · Linked Lists
      4. 4Binary Search Tree InsertionChapitre IV · Trees
      5. 5Insertion Sort ImplementationChapitre V · Sorting
    • BCSL606Python

      Machine Learning lab

      1

      leçon

      • The ten ML lab experiments, written from scratch
      Voir les chapitres
      1. 1The ten ML lab experiments, written from scratchChapitre LAB · List of Experiments
    • BEC657DPython

      Python Programming for Machine Learning Applications

      1

      leçon

      • ID3 Decision Tree Construction
      Voir les chapitres
      1. 1ID3 Decision Tree ConstructionChapitre LAB · List of Experiments
    • BIS601Node.js

      Full Stack Development

      6

      leçons

      • A marks report in plain JavaScript: parse, coerce, group, rank, format
      • The Document Object Model, implemented. There is no browser, so you write the DOM
      Voir les 6 leçons
      1. 1A marks report in plain JavaScript: parse, coerce, group, rank, formatChapitre I · Basic JavaScript Instructions
      2. 2The Document Object Model, implemented. There is no browser, so you write the DOMChapitre II · Document Object Model
      3. 3React from the inside: elements, composition, and the Issue Tracker's validated formChapitre III · Form enhancement and validation
      4. 4State, lifting it up, and the API under it: hooks, Express and one GraphQL endpointChapitre IV · React State
      5. 5The aggregation pipeline, and the bundler that ships the appChapitre V · MongoDB
      6. 6The whole stack, one experiment at a timeChapitre LAB · Practical Component of IPCC
  5. Semestre 7

    3 UE17 leçons de TPPythonCSQL
    • BCS701Python

      Internet of Things

      6

      leçons

      • IoT Network Topology Analyzer
      • NETCONF Configuration Parser
      Voir les 6 leçons
      1. 1IoT Network Topology AnalyzerChapitre I · Introduction to Internet of Things
      2. 2NETCONF Configuration ParserChapitre II · IOT and M2M
      3. 3IoT Weather Station Data ProcessingChapitre III · IoT Platforms Design Methodology
      4. 4Raspberry Pi Sensor Data ProcessingChapitre IV · IoT Physical Devices & End points
      5. 5Apache Spark Streaming Window OperationsChapitre V · Data Analytics for IoT
      6. 6Blinking LEDs Back and ForthChapitre LAB · Practical Component of IPCC
    • BCS702C

      Parallel Computing

      6

      leçons

      • Parallel MIMD System Process Coordination
      • OpenMP Parallel Reduction
      Voir les 6 leçons
      1. 1Parallel MIMD System Process CoordinationChapitre I · Introduction to parallel programming
      2. 2OpenMP Parallel ReductionChapitre II · GPU programming
      3. 3MPI Parallel Merge SortChapitre III · Distributed memory programming with MPI
      4. 4Parallel Sum Reduction with OpenMPChapitre IV · Shared-memory programming with OpenMP
      5. 5The CUDA execution model on the CPU: vector addition and the trapezoidal rule I-IIIChapitre V · GPU programming with CUDA
      6. 6OpenMP Parallel Merge SortChapitre LAB · Practical Component of IPCC
    • BCS755ASQL

      Introduction to DBMS

      5

      leçons

      • Basic SQL Queries with SQLite
      • ER Diagram to Relational Schema Mapping
      Voir les 5 leçons
      1. 1Basic SQL Queries with SQLiteChapitre I · Introduction to Databases
      2. 2ER Diagram to Relational Schema MappingChapitre II · Conceptual Data Modeling using Entities and Relationships
      3. 3Relational Algebra with SQLiteChapitre III · Relational Model
      4. 4Basic SQL Query ConstructionChapitre IV · SQL
      5. 5Nested and correlated queries, views and triggers on the COMPANY databaseChapitre V · SQL

Le programme complet, soit 157 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é à Visvesvaraya Technological 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 VTU 2022 scheme ?

Oui. GroutCode intègre le programme VTU 2022 scheme transcrit pour B.E. CSE / ISE / AI-ML / AI-DS / ECE, soit 157 cours, avec 123 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 VTU ?

C (35 séances), Python (31 séances), Java (22 séances), C++ (16 séances), SQL (11 séances), Node.js (8 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 VTU 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