Gujarat Technological University

India · 2024 scheme

Gujarat Technological University

111 lab practicals for the GTU syllabus.

Gujarat Technological University’s B.E. Computer Engineering on the 2024 scheme, across C, Python, SQL, Java and web. Every lesson is stepped, compiled and checked by a real toolchain on your own machine — the model reviews your code afterwards, it does not decide whether you passed.

Updated

Semester by semester

Programme: B.E. Computer Engineering (Branch 07). Scheme: 2024 scheme (Sem 1-5); 2018 scheme (Sem 7). Open a course to see its practical units and the lab lesson GroutCode ships for each.

  1. Semester 1

    1 course11 lab lessonsC
    • BE01R00121C

      Programming for Problem Solving

      11

      lessons

      • From flowchart to machine code — number systems, algorithms and a tiny compiler
      • Types and operators in C — conversions, logic and bit manipulation
      See all 11 lessons
      1. 1From flowchart to machine code — number systems, algorithms and a tiny compilerUnit 1 · Introduction to Programming
      2. 2Types and operators in C — conversions, logic and bit manipulationUnit 2 · Basics of C Programming
      3. 3Control flow in C — decisions, loops and a menu-driven calculatorUnit 3 · Control Structures
      4. 4Functions and recursion in C — from factorial to the Towers of HanoiUnit 4 · Functions and Modular Programming
      5. 5Arrays, matrices and strings in C — writing <string.h> yourselfUnit 5 · Arrays and Strings
      6. 6Pointers in C — swapping, walking arrays and passing functionsUnit 6 · Pointers
      7. 7Structures and unions — a student record system and a tagged valueUnit 7 · Structures and Unions
      8. 8File handling in C — a small line-based text editorUnit 8 · File Handling
      9. 9Dynamic memory in C — malloc, calloc, realloc and a growable arrayUnit 9 · Dynamic Memory Allocation
      10. 10Debugging and testing in C — fix seven bugs, then build a test frameworkUnit 10 · Debugging and Testing
      11. 11The PPS practical list in C: from arithmetic to linked queues, files and a debugging huntUnit LAB · List of Practicals
  2. Semester 3

    2 courses17 lab lessonsCSQL
    • BE03000081C

      Data Structures

      6

      lessons

      • How primitive and non-primitive data are stored: bits, floats, arrays, links and structs
      • Stacks, queues and linked lists from arrays and pointers
      See all 6 lessons
      1. 1How primitive and non-primitive data are stored: bits, floats, arrays, links and structsUnit 1 · Introduction to Data Structures
      2. 2Stacks, queues and linked lists from arrays and pointersUnit 2 · Linear Data Structure
      3. 3Binary search trees, traversals and graph algorithms on an adjacency matrixUnit 3 · Non Linear Data Structure
      4. 4Hash tables, a symbol table and fixed, variable, sequential and indexed record filesUnit 4 · Hashing and File Structures
      5. 5Six sorts and two searches in C — bubble, selection, insertion, quick, merge, heap, sequential and binaryUnit 5 · Sorting & Searching
      6. 6Data Structures lab in C — stacks, queues, lists, trees and graphsUnit LAB · List of Practicals
    • BE03000091SQL

      Database Management System

      11

      lessons

      • From a flat order file to a relational database with views and transactions
      • Relational algebra in SQL — selection, projection, joins, set operators and division
      See all 11 lessons
      1. 1From a flat order file to a relational database with views and transactionsUnit 1 · Introductory concepts of DBMS
      2. 2Relational algebra in SQL — selection, projection, joins, set operators and divisionUnit 2 · Relational Model
      3. 3SQL from DDL to transactions — constraints, functions, sub-queries and savepointsUnit 3 · Introduction to SQL
      4. 4From an E-R Diagram to a Relational Schema: a College DatabaseUnit 4 · Entity-Relationship Model
      5. 5Functional Dependencies and Normalization in SQLUnit 5 · Relational Database Design
      6. 6Transactions, Serializability, Locking and Recovery in SQLiteUnit 6 · Transaction Management
      7. 7Query Cost, Size Estimates and a Self-Maintaining Materialized ViewUnit 7 · Query Processing & Optimization
      8. 8Database Security: Views, RBAC, DAC Grants, MAC and Intrusion DetectionUnit 8 · Database Security
      9. 9Indexes and hashing in SQLite — ordered, unique, composite, covering and partial indexes, B+-tree height, static and extUnit 9 · Indexing and Hashing
      10. 10Triggers, procedures and cursors in SQLite — a bank ledger that enforces its own rulesUnit 10 · PL/SQL Concepts
      11. 11DBMS practicals in SQLite — schema, DDL and DML, constraints, functions, grouping, subqueries, joins, transactions and tUnit LAB · List of Practicals
  3. Semester 4

    3 courses27 lab lessonsCJava
    • BE04000221C

      Operating System

      10

      lessons

      • Modelling operating systems — batch, multiprogramming, time sharing, system calls and real-time scheduling
      • CPU schedulers and real processes — FCFS, SJF, SRTF, priority, round robin, fork, exec and wait
      See all 10 lessons
      1. 1Modelling operating systems — batch, multiprogramming, time sharing, system calls and real-time schedulingUnit 1 · Introduction
      2. 2CPU schedulers and real processes — FCFS, SJF, SRTF, priority, round robin, fork, exec and waitUnit 2 · Process and Threads Management
      3. 3Synchronization primitives from scratch: locks, semaphores, pipes, messages, signals and monitorsUnit 3 · Concurrency & Synchronization
      4. 4IPC algorithms replayed: Peterson, producer-consumer, readers-writers and dining philosophersUnit 4 · Inter Process Communication
      5. 5Deadlock toolkit: Banker's algorithm, detection and preventionUnit 5 · Deadlock
      6. 6Memory manager simulator: allocation, paging and page replacementUnit 6 · Memory Management
      7. 7Disk subsystem simulator: head scheduling, RAID and the disk cacheUnit 7 · I/O Management & Disk Scheduling
      8. 8A Unix toolbox in C — permissions, paths and text filtersUnit 8 · Unix/Linux Operating System
      9. 9A toy hypervisor — guest bytecode, trap-and-emulate and shadow pagingUnit 9 · Virtualization Concepts
      10. 10OS lab practicals in C — the shell-script exercises, made checkableUnit LAB · List of Practicals
    • BE04000231Java

      Object Oriented Programming

      8

      lessons

      • Java fundamentals — data types, operators and type conversion
      • Java control flow — every branch and loop form in one file
      See all 8 lessons
      1. 1Java fundamentals — data types, operators and type conversionUnit 1 · Basic of Java
      2. 2Java control flow — every branch and loop form in one fileUnit 2 · Conditional and looping statements
      3. 3Points, rectangles and bank accounts — classes and objects in JavaUnit 3 · Basics of Object Oriented Programming
      4. 4Shapes, vehicles and strings — inheritance and polymorphism in JavaUnit 4 · Inheritance, Polymorphism and Wrapper classes
      5. 5Results, orders and a library — interfaces, abstract classes and exceptionsUnit 5 · Interface, Abstract class and Exception Handling
      6. 6Parallel sums, tables and a bounded buffer — threads in JavaUnit 6 · Concurrency control
      7. 7Student records and a generic toolkit — file I/O and generics in JavaUnit 7 · I/O Management and Generics
      8. 8Designing GUI Applications using JavaFx
      9. 9GTU Java practical list — from unit conversion to genericsUnit LAB · List of Practicals
    • BE04000241C

      Analysis and Design of Algorithms

      9

      lessons

      • Measuring algorithms — case analysis, asymptotic bounds and union-find
      • Sorting algorithms and their costs — from bubble sort to bucket sort
      See all 9 lessons
      1. 1Measuring algorithms — case analysis, asymptotic bounds and union-findUnit 1 · Introduction and Analysis of Algorithm
      2. 2Sorting algorithms and their costs — from bubble sort to bucket sortUnit 2 · Analysis of Sorting Algorithms
      3. 3Divide and conquer — from binary search to Strassen's matrix productUnit 3 · Divide and Conquer
      4. 4Dynamic programming tables — binomials, change, knapsack, chains and subsequencesUnit 4 · Dynamic Programming
      5. 5Greedy choices — making change, activities, knapsacks and job deadlinesUnit 5 · Greedy Algorithm
      6. 6Graph algorithms on an adjacency matrix — traversal, ordering, components, spanning trees and shortest pathsUnit 6 · Graph Algorithms
      7. 7Backtracking and branch and bound — queens, subsets, colourings, cycles, knapsack and TSPUnit 7 · Backtracking and Branch and Bound
      8. 8NP-completeness in code — certificate verifiers, exhaustive search and polynomial reductionsUnit 8 · Introduction to NP-Completeness
      9. 9The ADA practical list — sorting, searching, greedy, DP and backtracking in CUnit LAB · Suggested Course Practical List
  4. Semester 5

    4 courses34 lab lessonsPythonCNode.js
    • BE05000181Python

      Data Mining Techniques

      8

      lessons

      • Descriptive statistics from scratch — the summaries before the mining
      • Data pre-processing by hand — cleaning, integration, transformation and reduction
      See all 8 lessons
      1. 1Descriptive statistics from scratch — the summaries before the miningUnit 1 · Introduction to Data Mining
      2. 2Data pre-processing by hand — cleaning, integration, transformation and reductionUnit 2 · Data Pre-processing
      3. 3Apriori from scratch — frequent itemsets, association rules and pattern evaluationUnit 3 · Mining Frequent Patterns, Associations, and Correlations
      4. 4Classifiers from scratch — k-NN, ID3, naive Bayes, evaluation and regressionUnit 4 · Classification and Prediction
      5. 5Clustering from scratch: k-Means, k-Medoids, agglomerative and DBSCANUnit 5 · Cluster Analysis
      6. 6Tuning kNN with cross-validation and explaining models with stumps, permutation importance and Shapley valuesUnit 6 · Hyperparameters and Explainable AI
      7. 7Advanced mining toolkit: TF-IDF, PageRank, sequences, geo-radius, stream summaries and MapReduceUnit 7 · Advance data mining techniques
      8. 8Data mining lab: cleaning, normalisation, Apriori rules and a Naive Bayes classifier by handUnit LAB · List of Practicals
    • BE05000231Python

      Python for Data Science

      8

      lessons

      • Python foundations: operators, collections, control flow, closures and the math/statistics/random modules
      • Files, CSV, binary records and a student database with safe error handling
      See all 8 lessons
      1. 1Python foundations: operators, collections, control flow, closures and the math/statistics/random modulesUnit 1 · Introduction, Data Types, Operators, Decision making, Loops & Functions
      2. 2Files, CSV, binary records and a student database with safe error handlingUnit 2 · Python File Handling and exception handling
      3. 3Descriptive statistics from scratch — centre, spread, location, shape and correlationUnit 3 · Data Science and Descriptive Statistics
      4. 4Inside the data libraries — mini NumPy, SciPy, Pandas, Scikit-learn and Beautiful SoupUnit 4 · Exploring Python libraries
      5. 5Probability distributions and a one-sample z-test, built from first principlesUnit 5 · Probabilistic and Inferential Statistics
      6. 6A data-preparation toolkit — load, clean, reshape, aggregate, de-outlier and normalise a tableUnit 6 · Data preparation
      7. 7A text plotting library: axes, ticks, histograms, line plots and subplotsUnit 7 · Data Visualization
      8. 8Data-science lab toolkit: from raw CSV to a hypothesis testUnit LAB · List of Practicals
    • BE05000261C

      System Software

      10

      lessons

      • A hypothetical machine and the life cycle of a source program
      • Symbol tables and allocation structures for a language processor
      See all 10 lessons
      1. 1A hypothetical machine and the life cycle of a source programUnit 1 · Overview of System Software
      2. 2Symbol tables and allocation structures for a language processorUnit 2 · Overview of Language Processors
      3. 3A two-pass assembler with literals, ORIGIN and EQU - then one pass with backpatchingUnit 3 · Assemblers
      4. 4A two-pass macro processor with MNT, MDT, defaults and nested callsUnit 4 · Macro and Macro Processors
      5. 5Absolute, relocating and linking loaders for SIC-style object programsUnit 5 · Linkers and Loaders
      6. 6Scanner, recursive-descent parser and table-driven LL(1) parserUnit 6 · Scanning and Parsing
      7. 7Scopes, frame layout, quadruples and three code optimisationsUnit 7 · Compilers
      8. 8A stack-machine interpreter with an assembler, debugger and bytecode verifierUnit 8 · Interpreters & Debuggers
      9. 9Storage allocation and scope of names: struct layout, a block-structured symbol table and a heapUnit 9 · Programming Languages
      10. 10System software lab: lexer, recursive descent and LL(1) parsers, grammar rewriting, quadruples and SYMTAB/LITTABUnit LAB · List of Practicals
    • BE05000281Node.js

      Web Application Development

      8

      lessons

      • Client-server by hand: URLs, HTTP messages, a static file server and a dynamic router
      • What the browser computes: HTML generation, nesting checks, specificity, the box model, media queries, flexbox and the B
      See all 8 lessons
      1. 1Client-server by hand: URLs, HTTP messages, a static file server and a dynamic routerUnit 1 · Introduction to Web Technologies
      2. 2What the browser computes: HTML generation, nesting checks, specificity, the box model, media queries, flexbox and the BUnit 2 · HTML & CSS Fundamentals
      3. 3JavaScript from the ground up: data, a hand-built DOM with event bubbling, local storage, and promises over an injectedUnit 3 · JavaScript Fundamentals
      4. 4HTTP from the wire up: query strings, raw requests and responses, and a CRUD API that speaks JSON and XMLUnit 4 · APIs & HTTP Communication
      5. 5Express from scratch: routing, middleware, a books REST API, password hashing and JWT auth in plain NodeUnit 5 · Backend Development with Node.js
      6. 6React from scratch: JSX elements, components, useState, keys, useEffect, a data-fetching hook and CORSUnit 6 · Frontend Development with React.js
      7. 7Shipping a website: domain and DNS rules, a static host with caching, SEO audits, robots.txt, a replay-proof CAPTCHA andUnit 7 · Deployment & Modern Web Concepts
      8. 8Mini project: a Library Management System with form validation, a REST API, a fetch client and a dashboardUnit LAB · List of Practicals
  5. Semester 7

    2 courses22 lab lessonsCPython
    • 3170701C

      Compiler Design

      9

      lessons

      • A complete language processor in miniature: preprocessor, interpreter, compiler, assembler
      • A hand-written scanner: finite automata, longest match and a symbol table
      See all 9 lessons
      1. 1A complete language processor in miniature: preprocessor, interpreter, compiler, assemblerUnit 1 · Overview of the Compiler and its Structure
      2. 2A hand-written scanner: finite automata, longest match and a symbol tableUnit 2 · Lexical Analysis
      3. 3From grammar to parser: left recursion, FIRST/FOLLOW, LL(1), SLR and syntax-directed translationUnit 3 · Syntax Analysis
      4. 4A parser that keeps going: error detection, panic mode and phrase-level recoveryUnit 4 · Error Recovery
      5. 5Three-address code generator: quadruples, triples, DAGs and type coercionUnit 5 · Intermediate-Code Generation
      6. 6A run-time environment: frames, access links and a heap allocatorUnit 6 · Run-Time Environments
      7. 7Basic blocks, flow graphs and a simple code generator for three-address codeUnit 7 · Code Generation and Optimization
      8. 8Basic-block scheduling and a two-pass SIC assemblerUnit 8 · Instruction-Level Parallelism
      9. 9Compiler lab: automata, parsers, FIRST/FOLLOW and three-address codeUnit LAB · Sample List of Experiments
    • 3170716Python

      Artificial Intelligence

      13

      lessons

      • Tic-tac-toe three ways: the AI techniques of Unit 1
      • Searching state spaces: water jugs, the 8-puzzle and map colouring
      See all 13 lessons
      1. 1Tic-tac-toe three ways: the AI techniques of Unit 1Unit 1 · Introduction
      2. 2Searching state spaces: water jugs, the 8-puzzle and map colouringUnit 2 · Problems, State Space Search & Heuristic Search Techniques
      3. 3From isa hierarchies to a tiny Prolog: knowledge representation in codeUnit 3 · Knowledge Representation
      4. 4Tweety, Nixon and abnormal birds: nonmonotonic reasoning enginesUnit 4 · Symbolic Reasoning Under Uncertainty
      5. 5Reasoning with uncertainty: Bayes, certainty factors, Dempster-Shafer and fuzzy rulesUnit 5 · Probabilistic Reasoning
      6. 6Minimax, alpha-beta and iterative deepening on game trees and NimUnit 6 · Game Playing
      7. 7Blocks-world planner: STRIPS operators, goal stack planning and a reactive agentUnit 7 · Planning
      8. 8A small NLP pipeline: spelling correction, CYK parsing, logical forms and pronoun resolutionUnit 8 · Natural Language Processing
      9. 9Neural networks from scratch: a Hopfield memory, a perceptron, backpropagation and an RNNUnit 9 · Connectionist Models
      10. 10An expert system shell: forward and backward chaining, explanations and certainty factorsUnit 10 · Expert Systems
      11. 11A genetic algorithm from its parts: selection, crossover, mutation, schemata and terminationUnit 11 · Genetic Algorithms
      12. 12A Prolog interpreter in Python: matching, backtracking and the cutUnit 12 · Introduction to Prolog
      13. 13AI lab: water jug, 8-puzzle search, minimax, family trees, Hanoi, N-Queens and TSPUnit LAB · Sample List of Experiments

The full 29-course syllabus is transcribed in the app, including the theory courses. Lessons are authored against the course codes that have practical work, and the list grows with each release.

GroutCode is not affiliated with or endorsed by Gujarat Technological University. Course codes and titles are transcribed from the institution’s published scheme documents.

How a practical runs

The same five steps for every lesson, in every language.

  1. 1

    Pick your syllabus

    Choose your university or board and the semester or class you are in. The course list is the transcribed official scheme, not an approximation.

  2. 2

    Open a lab lesson

    Each lesson is a stepped practical for a specific course, with a starter file you edit and a test file you do not.

  3. 3

    Write the code yourself

    The starter has the signatures and the TODOs. You implement them in the editor, in the language your course actually uses.

  4. 4

    Run the checks

    The toolchain compiles and runs the tests — 8 to 15 of them across the lesson, one per step, so you find out which change broke what.

  5. 5

    Get the review

    Once the tests pass, the model reads your implementation and tells you the input that breaks it. It never reports the pass or fail itself.

Why the compiler grades, not the model

The obvious way to build an AI lab tool is to let the model read the student’s code and say whether it is correct. It is also the way that produces a tool nobody can trust. A model will tell you your code works when the compiler says otherwise, and it will fail you for a style it happens to dislike.

So the two jobs are split:

  • The model designs the lesson, writes the starter and the tests, and — after the tests pass — reads what you actually wrote and tells you the input that breaks it.
  • The toolchain decides whether it compiles and whether each step passes. That verdict is not negotiable and the model never issues it.

And why steps instead of one big task

A 40-to-60 minute practical with a single Run at the end gives a beginner one bit of feedback an hour, and it arrives after every decision has already been made. Each lesson here is 8 to 15 steps, each with its own instruction and its own check, so you find out which change broke what while you still remember making it.

Frequently asked questions

Does GroutCode cover the GTU 2024 scheme?

Yes. GroutCode ships the transcribed GTU 2024 scheme for B.E. Computer Engineering (Branch 07) — 29 courses — with 111 authored lab lessons mapped to specific course codes. The syllabus was transcribed from the official documents, and the source and checksum of each one is recorded in the app.

Which languages do the GTU practicals use?

C (55 lessons), Python (29 lessons), SQL (11 lessons), Java (8 lessons), Node.js (8 lessons). The language is set per course code rather than guessed from the title, because the same subject is taught in different languages at different institutions.

Does the AI just write the practical for me?

No. The starter file has the signatures and the TODOs; you implement them. The toolchain — not the model — decides whether your code compiles and whether each step passes, so the AI cannot tell you your code works when the compiler disagrees. What it does afterwards is read your implementation and point out the input that breaks it.

Do the practicals work offline?

The lessons, the syllabus and the test runner are bundled in the app and run locally, so the compile-and-check loop works with no connection. The review step at the end uses a model, which can be a local one or a cloud one with your own key.

What do I need installed?

GroutCode detects which toolchains are present on your machine and tells you what is missing and what would fix it. You need the compiler or interpreter for the language your course uses — a C compiler, a JDK, Python, Node or SQLite.

Do your GTU lab work with the checks built in

GroutCode is included in every Grout Suite license. Free download for Windows and macOS.

Download GroutCode