
India · 2022 scheme
Visvesvaraya Technological University
123 labpractica voor het VTU-leerplan.
Het 2022-schema van Karnataka voor CSE, ISE, AI-ML, AI-DS en ECE, inclusief de aparte labvakken. 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: B.E. CSE / ISE / AI-ML / AI-DS / ECE. Regeling: 2022 scheme. Open een vak om de practicumonderdelen te zien en het labpracticum dat GroutCode bij elk onderdeel meelevert.
Semester 3
8 vakken29 lablessenCJavaC++Python- BCS303C
Operating Systems
6
lessen
- A tiny kernel's plumbing: traps, system calls, files, ports and boot
- Writing the scheduler: FCFS, SJF, SRTF, priority, ageing and round robin
- 1A tiny kernel's plumbing: traps, system calls, files, ports and bootOnderdeel I · Introduction to operating systems, System structures
- 2Writing the scheduler: FCFS, SJF, SRTF, priority, ageing and round robinOnderdeel II · Process Management
- 3Process synchronization and deadlocks: building the algorithms instead of tracing themOnderdeel III · Process Synchronization
- 4Memory management: relocation, paging, segmentation and the page-replacement policiesOnderdeel IV · Memory Management
- 5Building the file system: control blocks, directories, allocation, the disk arm and the access matrixOnderdeel V · File System, Implementation of File System
- 6The whole operating systems lab, simulated: process table, schedulers, semaphores, pipes, the banker, memory, pages andOnderdeel LAB · Practical Component of IPCC
- BCS304C
Data Structures and Applications
5
lessen
- Arrays, polynomials, sparse matrices, strings and stacks. Unit I in C
- Queues, shared arrays and linked chains. Unit II in C
- 1Arrays, polynomials, sparse matrices, strings and stacks. Unit I in COnderdeel I · Introduction to Data Structures
- 2Queues, shared arrays and linked chains. Unit II in COnderdeel II · Queues
- 3Chains that point both ways: list surgery, linked sparse matrices, and trees with and without threadsOnderdeel III · Linked Lists
- 4Search trees, tournaments, forests and graphs: the structures that answer a query fastOnderdeel IV · TREES(Cont..): Binary Search trees
- 5Hash Table Implementation with Linear ProbingOnderdeel V · Hashing
- BCS306AJava
Object Oriented Programming with JAVA
5
lessen
- A numeric and tabular toolkit: types, casts, operators and control flow
- An immutable Fraction and the machinery around it
- 1A numeric and tabular toolkit: types, casts, operators and control flowOnderdeel I · An Overview of Java
- 2An immutable Fraction and the machinery around itOnderdeel II · Introducing Classes
- 3A document tree: abstract classes, super, dispatch and interfacesOnderdeel III · Inheritance
- 4A configuration loader that fails precisely: access, exceptions and finallyOnderdeel IV · Packages
- 5A ticket desk with several clerks: threads, locks, an enum and the boxes around intOnderdeel V · Multithreaded Programming
- BCS306BC++
Object Oriented Programming with C++
5
lessen
- A Clock class: constructors, destructors, statics and friends
- A Buffer that owns its memory: copies, pointers and this
- 1A Clock class: constructors, destructors, statics and friendsOnderdeel I · An overview of C++
- 2A Buffer that owns its memory: copies, pointers and thisOnderdeel II · Arrays, Pointers, References, and the Dynamic Allocation Operators
- 3Polynomials that add themselves, and a hierarchy that logs its own constructionOnderdeel III · Operator Overloading
- 4A shape hierarchy that dispatches late, and templates that work for any typeOnderdeel IV · Virtual Functions and Polymorphism
- 5A ledger that throws, and a report it writes and reads backOnderdeel V · Exception Handling
- BCS358DPython
Data Visualization with Python
1
les
- Data visualization without a plotting library
- 1Data visualization without a plotting libraryOnderdeel LAB · List of Experiments
- BCSL305C
Data Structures Laboratory
1
les
- Calendar Management System
- 1Calendar Management SystemOnderdeel LAB · List of Experiments
- BDS306BPython
Python Programming for Data Science
5
lessen
- Python Variables and Data Types
- Conditional Logic with Grade Classification
- 1Python Variables and Data TypesOnderdeel I · Introduction to python
- 2Conditional Logic with Grade ClassificationOnderdeel II · Decision structure
- 3List Sorting with Bubble SortOnderdeel III · Lists
- 4NumPy Array Manipulation with Basic OperationsOnderdeel IV · The NumPy Library
- 5Data I/O tools and pandas-style manipulation from the standard libraryOnderdeel V · The pandas
- BEC358CC++
C++ Basics
1
les
- C++ Student Marks Average Calculator
- 1C++ Student Marks Average CalculatorOnderdeel LAB · List of Experiments
Semester 4
6 vakken20 lablessenSQLCNode.jsJava- BCS403SQL
Database Management System
6
lessen
- 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
- 1An ER design, interrogated: entities, weak entities, participation and specializationOnderdeel I · Introduction to Databases
- 2The relational model with its constraints on: keys, integrity, the algebra, and the ER mappingOnderdeel II · Relational Model
- 3Normalization as arithmetic: 1NF to 5NF, with the dependencies stored as rowsOnderdeel III · Normalization
- 4Advanced SQL and the theory of transactions: windows, recursion, an updatable view, an assertion, and six schedulesOnderdeel IV · SQL
- 5Concurrency control protocols, and the four NoSQL data models, all of them as queriesOnderdeel V · Concurrency Control in Databases
- 6The BCS403 experiment list, run end to end: DDL, transactions, triggers, cursors, a merge and documentsOnderdeel LAB · Practical Component of IPCC
- BCSL404C
Analysis & Design of Algorithms Lab
1
les
- Kruskal's Algorithm for Minimum Spanning Tree
- 1Kruskal's Algorithm for Minimum Spanning TreeOnderdeel LAB · List of Experiments
- BDSL456CNode.js
MERN
1
les
- MERN lab logic: Mongo-style queries, cookies, file CRUD, Express routes, auth and fetch
- 1MERN lab logic: Mongo-style queries, cookies, file CRUD, Express routes, auth and fetchOnderdeel LAB · List of Experiments
- BEC405DC
Data Structures Using C
5
lessen
- Dynamic Array Implementation with malloc
- An array stack, infix to postfix and prefix, and recursive programs in C
- 1Dynamic Array Implementation with mallocOnderdeel I · Arrays
- 2An array stack, infix to postfix and prefix, and recursive programs in COnderdeel II · The Stack
- 3Implementing a Circular Queue using ArrayOnderdeel III · Queues and Lists
- 4Binary Tree Node Creation and TraversalOnderdeel IV · Trees
- 5Hash Table Implementation with ChainingOnderdeel V · Hashing
- BECL456DC
Data Structures Lab using C
1
les
- Stack Implementation with Linked List
- 1Stack Implementation with Linked ListOnderdeel LAB · List of Experiments
- BIS402Java
Advanced Java
6
lessen
- A course enrolment register: lists, sets, iterators and the collection algorithms
- A student record cleaner: constructors, character extraction and StringBuffer
- 1A course enrolment register: lists, sets, iterators and the collection algorithmsOnderdeel I · The collections and Framework
- 2A student record cleaner: constructors, character extraction and StringBufferOnderdeel II · String Handling
- 3From the Alpha and Beta buttons to a registration form that validates itselfOnderdeel III · Introducing Swing
- 4A servlet container in plain Java - requests, responses, cookies, sessions and JSPOnderdeel IV · Introducing servlets
- 5The Student database and its login page: schema, queries, the ResultSet cursor and the bound loginOnderdeel V · JDBC Objects
- 6The twelve experiments in one file: collections, strings, events, a modelled container and a modelled driverOnderdeel LAB · Practical Component of IPCC
Semester 5
6 vakken27 lablessenPythonJavaC++CNode.js- BAI515EPython
Exploratory Data Analysis
5
lessen
- NumPy Array Sorting
- Series, DataFrame, missing data, MultiIndex and pivot tables from scratch
- 1NumPy Array SortingOnderdeel I · Introduction to Python and NumPy
- 2Series, DataFrame, missing data, MultiIndex and pivot tables from scratchOnderdeel II · Data Manipulation with Pandas - I
- 3Vectorised strings, time series and a safe eval/query, in plain PythonOnderdeel III · Data Manipulation with Pandas - II
- 4Under Matplotlib and Seaborn: axes, ticks, format strings, histograms, KDE and an SVG plotOnderdeel IV · Data Visualization with MatPlotlib
- 5Scikit-Learn Model Validation WorkflowOnderdeel V · Introduction to Machine Learning
- BCS502Java
Computer Networks
6
lessen
- 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
- 1A protocol stack in memory: encapsulation, segmentation, delay, and the two kinds of switchOnderdeel I · Introduction
- 2The data link layer in memory: framing, error control, ARQ and the mediumOnderdeel II · Data Link Layer
- 3The network layer in memory: addressing, forwarding, fragmentation and four routing algorithmsOnderdeel III · Network Layer
- 4The transport layer, written out: demultiplexing, UDP, and the whole of TCPOnderdeel IV · Introduction to Transport Layer
- 5The application layer without a socket: HTTP, DNS, SMTP, FTP and a file serverOnderdeel V · Introduction to Application Layer: Introduction
- 6A network you can count: queues, routing, collisions, CRC, windows, sockets and bucketsOnderdeel LAB · Practical Component of IPCC
- BCS515AC++
Computer Graphics
5
lessen
- A graphics system in miniature: frame buffer, pinhole and synthetic camera, pipeline
- Event-Driven Menu Interaction with GLUT
- 1A graphics system in miniature: frame buffer, pinhole and synthetic camera, pipelineOnderdeel I · Graphics Systems and Models
- 2Event-Driven Menu Interaction with GLUTOnderdeel II · Input and Interaction
- 3Homogeneous-coordinate transformations, the colored cube and frames in C++Onderdeel III · Geometric Objects and Transformations
- 4Camera, projection, viewport and the Phong lighting model in C++Onderdeel IV · Viewing
- 5Cohen-Sutherland Line ClippingOnderdeel V · From Vertices to Fragments
- BCS515CC
Unix System Programming
5
lessen
- Unix Command Line Argument Parser
- File Permission String Builder
- 1Unix Command Line Argument ParserOnderdeel I · Introduction
- 2File Permission String BuilderOnderdeel II · File attributes and permissions
- 3Unix File Operations: Basic File ManagementOnderdeel III · Unix Standardization and Implementations
- 4Process Creation with fork()Onderdeel IV · Process Control
- 5Signals with sigaction, signal masks, sigsuspend and daemon coding rulesOnderdeel V · Signals and Daemon Processes: Introduction
- BCSL504Node.js
Web Technology Lab
1
les
- HTML Page Generator
- 1HTML Page GeneratorOnderdeel LAB · List of Experiments
- BEC515CC++
Data Structures using C++
5
lessen
- An array-based list template that owns its memory
- Linked List Stack Implementation
- 1An array-based list template that owns its memoryOnderdeel I · UNIT-I
- 2Linked List Stack ImplementationOnderdeel II · UNIT-III
- 3Implementing a Queue using ArrayOnderdeel III · UNIT-IV
- 4Binary Search Tree InsertionOnderdeel IV · UNIT-V
- 5Graph Adjacency List ImplementationOnderdeel V · UNIT-VI
Semester 6
9 vakken30 lablessenPythonJavaCNode.js- BAI602Python
Machine Learning
5
lessen
- Robust statistics and the shape of a distribution
- Splits, confusion matrices, ROC and the bootstrap
- 1Robust statistics and the shape of a distributionOnderdeel I · Introduction
- 2Splits, confusion matrices, ROC and the bootstrapOnderdeel II · Understanding Data - 2
- 3Nearest Centroid Classifier ImplementationOnderdeel III · Similarity-based Learning
- 4CART, pruning and Gaussian naive BayesOnderdeel IV · Decision Tree Learning
- 5A softmax classifier, and clustering by proximityOnderdeel V · Artificial Neural Networks
- BAIL606Python
Machine Learning lab
1
les
- Statistical Analysis of Numerical Data
- 1Statistical Analysis of Numerical DataOnderdeel LAB · List of Experiments
- BAIL657CPython
Generative AI
1
les
- Word Embedding Similarity Search
- 1Word Embedding Similarity SearchOnderdeel LAB · List of Experiments
- BCS602Python
Machine Learning
5
lessen
- Descriptive statistics, batch and streaming
- Correlation, feature engineering and the version space
- 1Descriptive statistics, batch and streamingOnderdeel I · Introduction
- 2Correlation, feature engineering and the version spaceOnderdeel II · Understanding Data - 2
- 3K-Nearest Neighbor Classifier ImplementationOnderdeel III · Similarity-based Learning
- 4Bayesian learning and neural networks from the counts upOnderdeel IV · Bayesian Learning
- 5Clustering by partition, and control by rewardOnderdeel V · Clustering Algorithms
- BCS613DJava
Advanced Java
5
lessen
- A parcel depot's dispatch board: maps, queues, comparators and the collection algorithms
- A template engine and its tokeniser: searching, slicing and StringBuilder
- 1A parcel depot's dispatch board: maps, queues, comparators and the collection algorithmsOnderdeel I · The collections and Framework
- 2A template engine and its tokeniser: searching, slicing and StringBuilderOnderdeel II · String Handling
- 3A ticket kiosk's component tree: containment, layout, dispatch and a paint passOnderdeel III · Introducing Swing
- 4The container behind a reporting API: servlet life cycle, mapping, filters, dispatchers and sessionsOnderdeel IV · Introducing servlets
- 5A JDBC driver taken apart: the URL, the DriverManager, the pool and the transactionOnderdeel V · JDBC Objects
- BCS654AC
Introduction to Data Structures
5
lessen
- Dynamic 2D Array Implementation
- Array-Based Stack Implementation
- 1Dynamic 2D Array ImplementationOnderdeel I · Arrays
- 2Array-Based Stack ImplementationOnderdeel II · Stacks
- 3Singly Linked List ImplementationOnderdeel III · Linked Lists
- 4Binary Search Tree InsertionOnderdeel IV · Trees
- 5Insertion Sort ImplementationOnderdeel V · Sorting
- BCSL606Python
Machine Learning lab
1
les
- The ten ML lab experiments, written from scratch
- 1The ten ML lab experiments, written from scratchOnderdeel LAB · List of Experiments
- BEC657DPython
Python Programming for Machine Learning Applications
1
les
- ID3 Decision Tree Construction
- 1ID3 Decision Tree ConstructionOnderdeel LAB · List of Experiments
- BIS601Node.js
Full Stack Development
6
lessen
- 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
- 1A marks report in plain JavaScript: parse, coerce, group, rank, formatOnderdeel I · Basic JavaScript Instructions
- 2The Document Object Model, implemented. There is no browser, so you write the DOMOnderdeel II · Document Object Model
- 3React from the inside: elements, composition, and the Issue Tracker's validated formOnderdeel III · Form enhancement and validation
- 4State, lifting it up, and the API under it: hooks, Express and one GraphQL endpointOnderdeel IV · React State
- 5The aggregation pipeline, and the bundler that ships the appOnderdeel V · MongoDB
- 6The whole stack, one experiment at a timeOnderdeel LAB · Practical Component of IPCC
Semester 7
3 vakken17 lablessenPythonCSQL- BCS701Python
Internet of Things
6
lessen
- IoT Network Topology Analyzer
- NETCONF Configuration Parser
- 1IoT Network Topology AnalyzerOnderdeel I · Introduction to Internet of Things
- 2NETCONF Configuration ParserOnderdeel II · IOT and M2M
- 3IoT Weather Station Data ProcessingOnderdeel III · IoT Platforms Design Methodology
- 4Raspberry Pi Sensor Data ProcessingOnderdeel IV · IoT Physical Devices & End points
- 5Apache Spark Streaming Window OperationsOnderdeel V · Data Analytics for IoT
- 6Blinking LEDs Back and ForthOnderdeel LAB · Practical Component of IPCC
- BCS702C
Parallel Computing
6
lessen
- Parallel MIMD System Process Coordination
- OpenMP Parallel Reduction
- 1Parallel MIMD System Process CoordinationOnderdeel I · Introduction to parallel programming
- 2OpenMP Parallel ReductionOnderdeel II · GPU programming
- 3MPI Parallel Merge SortOnderdeel III · Distributed memory programming with MPI
- 4Parallel Sum Reduction with OpenMPOnderdeel IV · Shared-memory programming with OpenMP
- 5The CUDA execution model on the CPU: vector addition and the trapezoidal rule I-IIIOnderdeel V · GPU programming with CUDA
- 6OpenMP Parallel Merge SortOnderdeel LAB · Practical Component of IPCC
- BCS755ASQL
Introduction to DBMS
5
lessen
- Basic SQL Queries with SQLite
- ER Diagram to Relational Schema Mapping
- 1Basic SQL Queries with SQLiteOnderdeel I · Introduction to Databases
- 2ER Diagram to Relational Schema MappingOnderdeel II · Conceptual Data Modeling using Entities and Relationships
- 3Relational Algebra with SQLiteOnderdeel III · Relational Model
- 4Basic SQL Query ConstructionOnderdeel IV · SQL
- 5Nested and correlated queries, views and triggers on the COMPANY databaseOnderdeel V · SQL
Het volledige leerplan van 157 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 Visvesvaraya Technological University. 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
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
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
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
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
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 VTU 2022 scheme?
Ja. GroutCode bevat de overgenomen VTU 2022 scheme voor B.E. CSE / ISE / AI-ML / AI-DS / ECE, 157 vakken, met 123 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 VTU-practica?
C (35 lessen), Python (31 lessen), Java (22 lessen), C++ (16 lessen), SQL (11 lessen), Node.js (8 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.
Andere leerplannen

KTU
APJ Abdul Kalam Technological University
Het 2024-schema van de technische universiteit van Kerala, met CSE, IT, AI & DS en ECE vanaf het derde semester.
85
lablessen

Anna University
Anna University, Chennai
De B.E. CSE van Anna University volgens Regulations 2021, van programmeren in Python en C tot de labs datastructuren en OOP.
31
lablessen

AKTU
Dr. A.P.J. Abdul Kalam Technical University, Lucknow
De B.Tech CSE van AKTU Lucknow voor het studiejaar 2026-27: programmeren in C, datastructuren, OOP in Java en het besturingssystemenlab.
28
lablessen
Doe je VTU-labwerk met de controles ingebouwd
GroutCode zit bij elke Grout Suite-licentie inbegrepen. Gratis te downloaden voor Windows en macOS.
Download GroutCode