Grout
CHRIST (Deemed to be University)

India · 2021 regulation

CHRIST (Deemed to be University)

94 labpractica voor het CHRIST-leerplan.

De B.Tech CSE volgens de regeling van 2021, met de nadruk op Java en databases. 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.Tech Computer Science and Engineering. Regeling: 2021 regulation. Open een vak om de practicumonderdelen te zien en het labpracticum dat GroutCode bij elk onderdeel meelevert.

  1. Semester 1

    1 vak5 lablessenC
    • CS134PC

      Computer Programming

      5

      lessen

      • Array Statistics and Manipulation
      • Fibonacci with Decision Making and Loops
      Bekijk alle 5 lessen
      1. 1Array Statistics and ManipulationOnderdeel I · Algorithms and Flowcharts, Constants, Variables and Datatypes, Operators, Managing Input and Output Operations
      2. 2Fibonacci with Decision Making and LoopsOnderdeel II · Decision Making And Branching, Looping
      3. 3Array Sorting with User-Defined FunctionsOnderdeel III · Arrays, User Defined Functions
      4. 4Pointer Basics and Array AccessOnderdeel IV · Pointers
      5. 5String Reversal with StructuresOnderdeel V · Strings, Derived Types, Files
  2. Semester 3

    3 vakken15 lablessenSQLJava
    • CS331PSQL

      Database Management Systems

      5

      lessen

      • ER Model to Relational Schema Mapping
      • SQL Query Building for Relational Database Design
      Bekijk alle 5 lessen
      1. 1ER Model to Relational Schema MappingOnderdeel I · INTRODUCTION AND CONCEPTUAL MODELING
      2. 2SQL Query Building for Relational Database DesignOnderdeel II · RELATIONAL MODEL
      3. 3B+ Tree Index ImplementationOnderdeel III · DATA STORAGE AND QUERY PROCESSING
      4. 4Transaction Isolation Levels in SQLiteOnderdeel IV · TRANSACTION MANAGEMENT
      5. 5XML Data Processing with SQLiteOnderdeel V · CURRENT TRENDS
    • CS332PJava

      Data Structures and Algorithms

      5

      lessen

      • Understanding Data Structure Classification
      • Stack Implementation with Array
      Bekijk alle 5 lessen
      1. 1Understanding Data Structure ClassificationOnderdeel I · INTRODUCTION
      2. 2Stack Implementation with ArrayOnderdeel II · LISTS, STACKS AND QUEUES
      3. 3Binary Search Tree ImplementationOnderdeel III · TREES
      4. 4Insertion Sort ImplementationOnderdeel IV · SORTING
      5. 5Implementing Breadth-First Search for Unweighted Shortest PathOnderdeel V · GRAPHS
    • MICS331PJava

      INTRODUCTION TO DATA STRUCTURES AND ALGORITHMS

      5

      lessen

      • Generic Array Sorting with Bubble Sort
      • Stack Implementation with Array Representation
      Bekijk alle 5 lessen
      1. 1Generic Array Sorting with Bubble SortOnderdeel I · INTRODUCTION
      2. 2Stack Implementation with Array RepresentationOnderdeel II · LISTS, STACKS AND QUEUES
      3. 3Binary Search Tree InsertionOnderdeel III · TREES
      4. 4Insertion Sort ImplementationOnderdeel IV · SORTING
      5. 5Topological Sort ImplementationOnderdeel V · GRAPHS
  3. Semester 4

    4 vakken20 lablessenCJavaPython
    • CS432PC

      Operating Systems

      5

      lessen

      • Process State Management
      • CPU Scheduling Algorithm Implementation
      Bekijk alle 5 lessen
      1. 1Process State ManagementOnderdeel I · INTRODUCTION
      2. 2CPU Scheduling Algorithm ImplementationOnderdeel II · PROCESS MANAGEMENT
      3. 3Synchronization and deadlock: Peterson, semaphores, philosophers and the bankerOnderdeel III · PROCESS SYNCHRONIZATION AND DEADLOCKS
      4. 4Simulate FIFO Page ReplacementOnderdeel IV · MEMORY MANAGEMENT AND VIRTUAL MEMORY
      5. 5File System Directory ImplementationOnderdeel V · FILE SYSTEM INTERFACE AND FILE SYSTEM IMPLEMENTATION & MASS STORAGE STRUCTURE
    • CS433PJava

      Programming Paradigm

      5

      lessen

      • Creating a Student Class with OOP Fundamentals
      • Inheritance and Polymorphism with Animal Hierarchy
      Bekijk alle 5 lessen
      1. 1Creating a Student Class with OOP FundamentalsOnderdeel I · OBJECT-ORIENTED PROGRAMMING: FUNDAMENTALS
      2. 2Inheritance and Polymorphism with Animal HierarchyOnderdeel II · OBJECT-ORIENTED PROGRAMMING: INHERITANCE
      3. 3Building a Simple Swing Drawing ApplicationOnderdeel III · EVENT-DRIVEN PROGRAMMING
      4. 4Generic Method ImplementationOnderdeel IV · GENERIC PROGRAMMING
      5. 5Fork-Join Parallel SumOnderdeel V · CONCURRENT PROGRAMMING
    • IOT451Python

      Python for IOT

      5

      lessen

      • Python List Manipulation with Sorting
      • Implementing a Basic Sorting Function with Conditional Logic
      Bekijk alle 5 lessen
      1. 1Python List Manipulation with SortingOnderdeel I · INTRODUCTION TO PYTHON
      2. 2Implementing a Basic Sorting Function with Conditional LogicOnderdeel II · CONTROL FLOW AND FUNCTIONS
      3. 3List Manipulation and MethodsOnderdeel III · DATA STRUCTURES
      4. 4Text File Word CounterOnderdeel IV · FILES, MODULES, PACKAGES
      5. 5Sorting Algorithms with PythonOnderdeel V · PYTHON FOR DATA ANALYSIS AND MACHINE LEARNING
    • MICS432PJava

      INTRODUCTION TO PROGRAMMING PARADIGM

      5

      lessen

      • Creating a Student Class with Basic OOP Concepts
      • Creating a Class Hierarchy with Inheritance
      Bekijk alle 5 lessen
      1. 1Creating a Student Class with Basic OOP ConceptsOnderdeel I · OBJECT-ORIENTED PROGRAMMING: FUNDAMENTALS
      2. 2Creating a Class Hierarchy with InheritanceOnderdeel II · OBJECT-ORIENTED PROGRAMMING: INHERITANCE
      3. 3The event model behind AWT and Swing: listeners, mouse dispatch, MVC, layoutsOnderdeel III · EVENT-DRIVEN PROGRAMMING
      4. 4Generic Method Implementation with Type SafetyOnderdeel IV · GENERIC PROGRAMMING
      5. 5Fork-Join Framework: Parallel Sum of ArrayOnderdeel V · CONCURRENT PROGRAMMING
  4. Semester 5

    5 vakken25 lablessenJavaNode.jsPython
    • CS533PJava

      Design and Analysis of Algorithms

      5

      lessen

      • Binary Search Implementation
      • Selection Sort Implementation
      Bekijk alle 5 lessen
      1. 1Binary Search ImplementationOnderdeel I · INTRODUCTION AND FUNDAMENTALS OF THE ANALYSIS OF ALGORITHM EFFICIENCY
      2. 2Selection Sort ImplementationOnderdeel II · ALGORITHM DESIGN TECHNIQUES
      3. 3Merge Sort ImplementationOnderdeel III · ALGORITHM DESIGN TECHNIQUES
      4. 4Knapsack Problem with Dynamic ProgrammingOnderdeel IV · ALGORITHM DESIGN TECHNIQUES
      5. 5N-Queens Problem with BacktrackingOnderdeel V · ALGORITHM DESIGN TECHNIQUES
    • CS541E02Node.js

      Internet and Web programming

      5

      lessen

      • HTML5 Document Structure Builder
      • CSS Property Selector Parser
      Bekijk alle 5 lessen
      1. 1HTML5 Document Structure BuilderOnderdeel I · HTML5
      2. 2CSS Property Selector ParserOnderdeel II · CSS3
      3. 3JavaScript Functions and DOM ManipulationOnderdeel III · JAVASCRIPT
      4. 4Inside MariaDB: escaping, data types, string and date functions, accounts and grantsOnderdeel IV · NOSQL
      5. 5Building a Simple HTTP Server with Node.jsOnderdeel V · CASE STUDY: Node.js
    • CSOE561E01Node.js

      Web Programming Concepts

      5

      lessen

      • Building a Simple HTTP Server
      • HTML5 Document Structure Validator
      Bekijk alle 5 lessen
      1. 1Building a Simple HTTP ServerOnderdeel I · INTRODUCTION TO WEB PROGRAMMING
      2. 2HTML5 Document Structure ValidatorOnderdeel II · HTML5
      3. 3JavaScript Array Sorting with Bubble SortOnderdeel III · JAVASCRIPT
      4. 4CSS Property Selector ParserOnderdeel IV · CSS3
      5. 5jQuery Selectors ImplementationOnderdeel V · jQuery
    • CSOE561E03Java

      Data Structures

      5

      lessen

      • Data Structure Classification and Operations
      • Stack Implementation with Array Representation
      Bekijk alle 5 lessen
      1. 1Data Structure Classification and OperationsOnderdeel I · INTRODUCTION
      2. 2Stack Implementation with Array RepresentationOnderdeel II · LISTS, STACKS AND QUEUES
      3. 3Binary search trees, AVL rotations and a separate-chaining hash tableOnderdeel III · TREES
      4. 4Insertion Sort ImplementationOnderdeel IV · SORTING
      5. 5Graph algorithms: topological sort, BFS, Dijkstra and PrimOnderdeel V · GRAPHS
    • CSOE561E04Python

      Python for Engineers

      5

      lessen

      • Python Basics: Variables, Literals, and Operations
      • Implementing Bubble Sort Algorithm
      Bekijk alle 5 lessen
      1. 1Python Basics: Variables, Literals, and OperationsOnderdeel I · INTRODUCTION
      2. 2Implementing Bubble Sort AlgorithmOnderdeel II · CONDITIONAL STATEMENTS LOOPING AND ARRAY
      3. 3Function Return Values and ScopesOnderdeel III · FUNCTIONS
      4. 4String Formatting and Exception Handling in ModulesOnderdeel IV · MODULES
      5. 5Creating a Basic Bank Account ClassOnderdeel V · FUNDAMENTALS OF OOP
  5. Semester 6

    3 vakken15 lablessenCSQLPython
    • CS632PC

      COMPILER DESIGN

      5

      lessen

      • Compiler Phases Implementation
      • Building a Lexical Analyzer with DFA
      Bekijk alle 5 lessen
      1. 1Compiler Phases ImplementationOnderdeel I · INTRODUCTION TO COMPILERS
      2. 2Building a Lexical Analyzer with DFAOnderdeel II · LEXICAL ANALYSIS
      3. 3LL(1) Parser ImplementationOnderdeel III · SYNTAX ANALYSIS
      4. 4Symbol Table Implementation for Type CheckingOnderdeel IV · SYNTAX DIRECTED TRANSLATION & RUN TIME ENVIRONMENT
      5. 5DAG-based Optimization of Basic BlocksOnderdeel V · CODE OPTIMIZATION AND CODE GENERATION
    • CS642E03SQL

      ADVANCED DATABASES

      5

      lessen

      • ER-to-Relational Mapping with SQLite
      • Object Database Querying with SQLite
      Bekijk alle 5 lessen
      1. 1ER-to-Relational Mapping with SQLiteOnderdeel I · DATABASE MANAGEMENT
      2. 2Object Database Querying with SQLiteOnderdeel II · ADVANCED DATABASES
      3. 3Transaction Schedule Analysis with SQLiteOnderdeel III · QUERY AND TRANSACTION PROCESSING
      4. 4Concurrency Control with Two-Phase LockingOnderdeel IV · CONCURRENCY CONTROL AND RECOVERY
      5. 5Database Security Privilege ManagementOnderdeel V · DATABASE SECURITY
    • CSHO631AIPPython

      ARTIFICIAL INTELLIGENCE AND MACHINE LEARNING

      5

      lessen

      • Simple Linear Regression: Least Squares Fit
      • Polynomial Regression Implementation
      Bekijk alle 5 lessen
      1. 1Simple Linear Regression: Least Squares FitOnderdeel I · Regression
      2. 2Polynomial Regression ImplementationOnderdeel II · Multiple and Non Linear Regression
      3. 3Invariance, stability and scattering: why CNN features survive shiftsOnderdeel III · Convolutional Neural Networks I
      4. 4LISTA Algorithm ImplementationOnderdeel IV · Convolutional Neural Networks II
      5. 5Autoencoders, VAEs, GANs and maximum entropy from first principlesOnderdeel V · Deep Unsupervised Learning
  6. Semester 7

    3 vakken14 lablessenJavaPythonSQL
    • CS763E02Java

      Java Programming

      4

      lessen

      • Java Basics: Variables and Data Types
      • Creating and Using Java Classes with Inheritance
      Bekijk alle 4 lessen
      1. 1Java Basics: Variables and Data TypesOnderdeel I · INTRODUCTION TO JAVA PROGRAMMING
      2. 2Creating and Using Java Classes with InheritanceOnderdeel II · CLASS, OBJECTS AND INHERITANCE
      3. 3Implementing a Sortable InterfaceOnderdeel III · INTERFACES, PACKAGES AND EXCEPTION HANDLING
      4. 4Reading and Writing Text Files with Java StreamsOnderdeel IV · COLLECTIONS AND INPUT / OUTPUT
      5. 5APPLET AND JDBC
    • CS763E03Python

      Basics of Artificial Intelligence

      5

      lessen

      • Uniformed Search Strategies Implementation
      • Implementing A* Search Algorithm
      Bekijk alle 5 lessen
      1. 1Uniformed Search Strategies ImplementationOnderdeel I · INTRODUCTION
      2. 2Implementing A* Search AlgorithmOnderdeel II · SEARCHING TECHNIQUES
      3. 3First-order inference: unification, forward and backward chaining, resolutionOnderdeel III · KNOWLEDGE REPRESENTATION
      4. 4Decision Tree Learning from ObservationsOnderdeel IV · LEARNING
      5. 5A CNN and an RNN from scratch: convolution, pooling, recurrence, LSTMOnderdeel V · DEEP LEARNING
    • MICS735PSQL

      DATABASE SYSTEM

      5

      lessen

      • ER Model to Relational Schema Mapping
      • Relational Algebra and SQL Queries
      Bekijk alle 5 lessen
      1. 1ER Model to Relational Schema MappingOnderdeel I · INTRODUCTION AND CONCEPTUAL MODELING
      2. 2Relational Algebra and SQL QueriesOnderdeel II · RELATIONAL MODEL
      3. 3B+ Tree Index ImplementationOnderdeel III · DATA STORAGE AND QUERY PROCESSING
      4. 4Transaction Schedule AnalysisOnderdeel IV · TRANSACTION MANAGEMENT
      5. 5XML Data Processing with SQLiteOnderdeel V · CURRENT TRENDS

Het volledige leerplan van 108 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 CHRIST (Deemed to be 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. 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. 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. 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. 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. 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 CHRIST 2021 regulation?

Ja. GroutCode bevat de overgenomen CHRIST 2021 regulation voor B.Tech Computer Science and Engineering, 108 vakken, met 94 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 CHRIST-practica?

Java (34 lessen), Python (20 lessen), C (15 lessen), SQL (15 lessen), Node.js (10 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.

Doe je CHRIST-labwerk met de controles ingebouwd

GroutCode zit bij elke Grout Suite-licentie inbegrepen. Gratis te downloaden voor Windows en macOS.

Download GroutCode