
India · 2021 regulation
CHRIST (Deemed to be University)
94 lab practicals for the CHRIST syllabus.
The 2021 regulation B.Tech CSE programme, weighted towards Java and databases. 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.Tech Computer Science and Engineering. Scheme: 2021 regulation. Open a course to see its practical units and the lab lesson GroutCode ships for each.
Semester 1
1 course5 lab lessonsC- CS134PC
Computer Programming
5
lessons
- Array Statistics and Manipulation
- Fibonacci with Decision Making and Loops
- 1Array Statistics and ManipulationUnit I · Algorithms and Flowcharts, Constants, Variables and Datatypes, Operators, Managing Input and Output Operations
- 2Fibonacci with Decision Making and LoopsUnit II · Decision Making And Branching, Looping
- 3Array Sorting with User-Defined FunctionsUnit III · Arrays, User Defined Functions
- 4Pointer Basics and Array AccessUnit IV · Pointers
- 5String Reversal with StructuresUnit V · Strings, Derived Types, Files
Semester 3
3 courses15 lab lessonsSQLJava- CS331PSQL
Database Management Systems
5
lessons
- ER Model to Relational Schema Mapping
- SQL Query Building for Relational Database Design
- 1ER Model to Relational Schema MappingUnit I · INTRODUCTION AND CONCEPTUAL MODELING
- 2SQL Query Building for Relational Database DesignUnit II · RELATIONAL MODEL
- 3B+ Tree Index ImplementationUnit III · DATA STORAGE AND QUERY PROCESSING
- 4Transaction Isolation Levels in SQLiteUnit IV · TRANSACTION MANAGEMENT
- 5XML Data Processing with SQLiteUnit V · CURRENT TRENDS
- CS332PJava
Data Structures and Algorithms
5
lessons
- Understanding Data Structure Classification
- Stack Implementation with Array
- 1Understanding Data Structure ClassificationUnit I · INTRODUCTION
- 2Stack Implementation with ArrayUnit II · LISTS, STACKS AND QUEUES
- 3Binary Search Tree ImplementationUnit III · TREES
- 4Insertion Sort ImplementationUnit IV · SORTING
- 5Implementing Breadth-First Search for Unweighted Shortest PathUnit V · GRAPHS
- MICS331PJava
INTRODUCTION TO DATA STRUCTURES AND ALGORITHMS
5
lessons
- Generic Array Sorting with Bubble Sort
- Stack Implementation with Array Representation
- 1Generic Array Sorting with Bubble SortUnit I · INTRODUCTION
- 2Stack Implementation with Array RepresentationUnit II · LISTS, STACKS AND QUEUES
- 3Binary Search Tree InsertionUnit III · TREES
- 4Insertion Sort ImplementationUnit IV · SORTING
- 5Topological Sort ImplementationUnit V · GRAPHS
Semester 4
4 courses20 lab lessonsCJavaPython- CS432PC
Operating Systems
5
lessons
- Process State Management
- CPU Scheduling Algorithm Implementation
- 1Process State ManagementUnit I · INTRODUCTION
- 2CPU Scheduling Algorithm ImplementationUnit II · PROCESS MANAGEMENT
- 3Synchronization and deadlock: Peterson, semaphores, philosophers and the bankerUnit III · PROCESS SYNCHRONIZATION AND DEADLOCKS
- 4Simulate FIFO Page ReplacementUnit IV · MEMORY MANAGEMENT AND VIRTUAL MEMORY
- 5File System Directory ImplementationUnit V · FILE SYSTEM INTERFACE AND FILE SYSTEM IMPLEMENTATION & MASS STORAGE STRUCTURE
- CS433PJava
Programming Paradigm
5
lessons
- Creating a Student Class with OOP Fundamentals
- Inheritance and Polymorphism with Animal Hierarchy
- 1Creating a Student Class with OOP FundamentalsUnit I · OBJECT-ORIENTED PROGRAMMING – FUNDAMENTALS
- 2Inheritance and Polymorphism with Animal HierarchyUnit II · OBJECT-ORIENTED PROGRAMMING – INHERITANCE
- 3Building a Simple Swing Drawing ApplicationUnit III · EVENT-DRIVEN PROGRAMMING
- 4Generic Method ImplementationUnit IV · GENERIC PROGRAMMING
- 5Fork-Join Parallel SumUnit V · CONCURRENT PROGRAMMING
- IOT451Python
Python for IOT
5
lessons
- Python List Manipulation with Sorting
- Implementing a Basic Sorting Function with Conditional Logic
- 1Python List Manipulation with SortingUnit I · INTRODUCTION TO PYTHON
- 2Implementing a Basic Sorting Function with Conditional LogicUnit II · CONTROL FLOW AND FUNCTIONS
- 3List Manipulation and MethodsUnit III · DATA STRUCTURES
- 4Text File Word CounterUnit IV · FILES, MODULES, PACKAGES
- 5Sorting Algorithms with PythonUnit V · PYTHON FOR DATA ANALYSIS AND MACHINE LEARNING
- MICS432PJava
INTRODUCTION TO PROGRAMMING PARADIGM
5
lessons
- Creating a Student Class with Basic OOP Concepts
- Creating a Class Hierarchy with Inheritance
- 1Creating a Student Class with Basic OOP ConceptsUnit I · OBJECT-ORIENTED PROGRAMMING – FUNDAMENTALS
- 2Creating a Class Hierarchy with InheritanceUnit II · OBJECT-ORIENTED PROGRAMMING – INHERITANCE
- 3The event model behind AWT and Swing: listeners, mouse dispatch, MVC, layoutsUnit III · EVENT-DRIVEN PROGRAMMING
- 4Generic Method Implementation with Type SafetyUnit IV · GENERIC PROGRAMMING
- 5Fork-Join Framework: Parallel Sum of ArrayUnit V · CONCURRENT PROGRAMMING
Semester 5
5 courses25 lab lessonsJavaNode.jsPython- CS533PJava
Design and Analysis of Algorithms
5
lessons
- Binary Search Implementation
- Selection Sort Implementation
- 1Binary Search ImplementationUnit I · INTRODUCTION AND FUNDAMENTALS OF THE ANALYSIS OF ALGORITHM EFFICIENCY
- 2Selection Sort ImplementationUnit II · ALGORITHM DESIGN TECHNIQUES
- 3Merge Sort ImplementationUnit III · ALGORITHM DESIGN TECHNIQUES
- 4Knapsack Problem with Dynamic ProgrammingUnit IV · ALGORITHM DESIGN TECHNIQUES
- 5N-Queens Problem with BacktrackingUnit V · ALGORITHM DESIGN TECHNIQUES
- CS541E02Node.js
Internet and Web programming
5
lessons
- HTML5 Document Structure Builder
- CSS Property Selector Parser
- 1HTML5 Document Structure BuilderUnit I · HTML5
- 2CSS Property Selector ParserUnit II · CSS3
- 3JavaScript Functions and DOM ManipulationUnit III · JAVASCRIPT
- 4Inside MariaDB: escaping, data types, string and date functions, accounts and grantsUnit IV · NOSQL
- 5Building a Simple HTTP Server with Node.jsUnit V · CASE STUDY – Node.js
- CSOE561E01Node.js
Web Programming Concepts
5
lessons
- Building a Simple HTTP Server
- HTML5 Document Structure Validator
- 1Building a Simple HTTP ServerUnit I · INTRODUCTION TO WEB PROGRAMMING
- 2HTML5 Document Structure ValidatorUnit II · HTML5
- 3JavaScript Array Sorting with Bubble SortUnit III · JAVASCRIPT
- 4CSS Property Selector ParserUnit IV · CSS3
- 5jQuery Selectors ImplementationUnit V · jQuery
- CSOE561E03Java
Data Structures
5
lessons
- Data Structure Classification and Operations
- Stack Implementation with Array Representation
- 1Data Structure Classification and OperationsUnit I · INTRODUCTION
- 2Stack Implementation with Array RepresentationUnit II · LISTS, STACKS AND QUEUES
- 3Binary search trees, AVL rotations and a separate-chaining hash tableUnit III · TREES
- 4Insertion Sort ImplementationUnit IV · SORTING
- 5Graph algorithms: topological sort, BFS, Dijkstra and PrimUnit V · GRAPHS
- CSOE561E04Python
Python for Engineers
5
lessons
- Python Basics: Variables, Literals, and Operations
- Implementing Bubble Sort Algorithm
- 1Python Basics: Variables, Literals, and OperationsUnit I · INTRODUCTION
- 2Implementing Bubble Sort AlgorithmUnit II · CONDITIONAL STATEMENTS LOOPING AND ARRAY
- 3Function Return Values and ScopesUnit III · FUNCTIONS
- 4String Formatting and Exception Handling in ModulesUnit IV · MODULES
- 5Creating a Basic Bank Account ClassUnit V · FUNDAMENTALS OF OOP
Semester 6
3 courses15 lab lessonsCSQLPython- CS632PC
COMPILER DESIGN
5
lessons
- Compiler Phases Implementation
- Building a Lexical Analyzer with DFA
- 1Compiler Phases ImplementationUnit I · INTRODUCTION TO COMPILERS
- 2Building a Lexical Analyzer with DFAUnit II · LEXICAL ANALYSIS
- 3LL(1) Parser ImplementationUnit III · SYNTAX ANALYSIS
- 4Symbol Table Implementation for Type CheckingUnit IV · SYNTAX DIRECTED TRANSLATION & RUN TIME ENVIRONMENT
- 5DAG-based Optimization of Basic BlocksUnit V · CODE OPTIMIZATION AND CODE GENERATION
- CS642E03SQL
ADVANCED DATABASES
5
lessons
- ER-to-Relational Mapping with SQLite
- Object Database Querying with SQLite
- 1ER-to-Relational Mapping with SQLiteUnit I · DATABASE MANAGEMENT
- 2Object Database Querying with SQLiteUnit II · ADVANCED DATABASES
- 3Transaction Schedule Analysis with SQLiteUnit III · QUERY AND TRANSACTION PROCESSING
- 4Concurrency Control with Two-Phase LockingUnit IV · CONCURRENCY CONTROL AND RECOVERY
- 5Database Security Privilege ManagementUnit V · DATABASE SECURITY
- CSHO631AIPPython
ARTIFICIAL INTELLIGENCE AND MACHINE LEARNING
5
lessons
- Simple Linear Regression: Least Squares Fit
- Polynomial Regression Implementation
- 1Simple Linear Regression: Least Squares FitUnit I · Regression
- 2Polynomial Regression ImplementationUnit II · Multiple and Non Linear Regression
- 3Invariance, stability and scattering: why CNN features survive shiftsUnit III · Convolutional Neural Networks I
- 4LISTA Algorithm ImplementationUnit IV · Convolutional Neural Networks II
- 5Autoencoders, VAEs, GANs and maximum entropy from first principlesUnit V · Deep Unsupervised Learning
Semester 7
3 courses14 lab lessonsJavaPythonSQL- CS763E02Java
Java Programming
4
lessons
- Java Basics: Variables and Data Types
- Creating and Using Java Classes with Inheritance
- 1Java Basics: Variables and Data TypesUnit I · INTRODUCTION TO JAVA PROGRAMMING
- 2Creating and Using Java Classes with InheritanceUnit II · CLASS, OBJECTS AND INHERITANCE
- 3Implementing a Sortable InterfaceUnit III · INTERFACES, PACKAGES AND EXCEPTION HANDLING
- 4Reading and Writing Text Files with Java StreamsUnit IV · COLLECTIONS AND INPUT / OUTPUT
- 5APPLET AND JDBC
- CS763E03Python
Basics of Artificial Intelligence
5
lessons
- Uniformed Search Strategies Implementation
- Implementing A* Search Algorithm
- 1Uniformed Search Strategies ImplementationUnit I · INTRODUCTION
- 2Implementing A* Search AlgorithmUnit II · SEARCHING TECHNIQUES
- 3First-order inference: unification, forward and backward chaining, resolutionUnit III · KNOWLEDGE REPRESENTATION
- 4Decision Tree Learning from ObservationsUnit IV · LEARNING
- 5A CNN and an RNN from scratch: convolution, pooling, recurrence, LSTMUnit V · DEEP LEARNING
- MICS735PSQL
DATABASE SYSTEM
5
lessons
- ER Model to Relational Schema Mapping
- Relational Algebra and SQL Queries
- 1ER Model to Relational Schema MappingUnit I · INTRODUCTION AND CONCEPTUAL MODELING
- 2Relational Algebra and SQL QueriesUnit II · RELATIONAL MODEL
- 3B+ Tree Index ImplementationUnit III · DATA STORAGE AND QUERY PROCESSING
- 4Transaction Schedule AnalysisUnit IV · TRANSACTION MANAGEMENT
- 5XML Data Processing with SQLiteUnit V · CURRENT TRENDS
The full 108-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 CHRIST (Deemed to be 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
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
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
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
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
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 CHRIST 2021 regulation?
Yes. GroutCode ships the transcribed CHRIST 2021 regulation for B.Tech Computer Science and Engineering — 108 courses — with 94 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 CHRIST practicals use?
Java (34 lessons), Python (20 lessons), C (15 lessons), SQL (15 lessons), Node.js (10 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.
Other syllabuses

KTU
APJ Abdul Kalam Technological University
The 2024 scheme for Kerala’s technological university, covering CSE, IT, AI & DS and ECE from semester three onwards.
85
lab lessons

VTU
Visvesvaraya Technological University
Karnataka’s 2022 scheme across CSE, ISE, AI-ML, AI-DS and ECE, including the dedicated lab courses.
123
lab lessons

Anna University
Anna University, Chennai
Anna University’s Regulations 2021 B.E. CSE, from Python and C programming to the data structures and OOP laboratories.
31
lab lessons
Do your CHRIST lab work with the checks built in
GroutCode is included in every Grout Suite license. Free download for Windows and macOS.
Download GroutCode