Grout
CHRIST (Deemed to be University)

Inde · 2021 regulation

CHRIST (Deemed to be University)

94 travaux pratiques pour le programme CHRIST.

Le programme B.Tech CSE du règlement 2021, axé sur Java et les bases de données. 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.Tech Computer Science and Engineering. Régime : 2021 regulation. Ouvrez un cours pour voir ses unités pratiques et la séance de TP que GroutCode propose pour chacune.

  1. Semestre 1

    1 UE5 leçons de TPC
    • CS134PC

      Computer Programming

      5

      leçons

      • Array Statistics and Manipulation
      • Fibonacci with Decision Making and Loops
      Voir les 5 leçons
      1. 1Array Statistics and ManipulationChapitre I · Algorithms and Flowcharts, Constants, Variables and Datatypes, Operators, Managing Input and Output Operations
      2. 2Fibonacci with Decision Making and LoopsChapitre II · Decision Making And Branching, Looping
      3. 3Array Sorting with User-Defined FunctionsChapitre III · Arrays, User Defined Functions
      4. 4Pointer Basics and Array AccessChapitre IV · Pointers
      5. 5String Reversal with StructuresChapitre V · Strings, Derived Types, Files
  2. Semestre 3

    3 UE15 leçons de TPSQLJava
    • CS331PSQL

      Database Management Systems

      5

      leçons

      • ER Model to Relational Schema Mapping
      • SQL Query Building for Relational Database Design
      Voir les 5 leçons
      1. 1ER Model to Relational Schema MappingChapitre I · INTRODUCTION AND CONCEPTUAL MODELING
      2. 2SQL Query Building for Relational Database DesignChapitre II · RELATIONAL MODEL
      3. 3B+ Tree Index ImplementationChapitre III · DATA STORAGE AND QUERY PROCESSING
      4. 4Transaction Isolation Levels in SQLiteChapitre IV · TRANSACTION MANAGEMENT
      5. 5XML Data Processing with SQLiteChapitre V · CURRENT TRENDS
    • CS332PJava

      Data Structures and Algorithms

      5

      leçons

      • Understanding Data Structure Classification
      • Stack Implementation with Array
      Voir les 5 leçons
      1. 1Understanding Data Structure ClassificationChapitre I · INTRODUCTION
      2. 2Stack Implementation with ArrayChapitre II · LISTS, STACKS AND QUEUES
      3. 3Binary Search Tree ImplementationChapitre III · TREES
      4. 4Insertion Sort ImplementationChapitre IV · SORTING
      5. 5Implementing Breadth-First Search for Unweighted Shortest PathChapitre V · GRAPHS
    • MICS331PJava

      INTRODUCTION TO DATA STRUCTURES AND ALGORITHMS

      5

      leçons

      • Generic Array Sorting with Bubble Sort
      • Stack Implementation with Array Representation
      Voir les 5 leçons
      1. 1Generic Array Sorting with Bubble SortChapitre I · INTRODUCTION
      2. 2Stack Implementation with Array RepresentationChapitre II · LISTS, STACKS AND QUEUES
      3. 3Binary Search Tree InsertionChapitre III · TREES
      4. 4Insertion Sort ImplementationChapitre IV · SORTING
      5. 5Topological Sort ImplementationChapitre V · GRAPHS
  3. Semestre 4

    4 UE20 leçons de TPCJavaPython
    • CS432PC

      Operating Systems

      5

      leçons

      • Process State Management
      • CPU Scheduling Algorithm Implementation
      Voir les 5 leçons
      1. 1Process State ManagementChapitre I · INTRODUCTION
      2. 2CPU Scheduling Algorithm ImplementationChapitre II · PROCESS MANAGEMENT
      3. 3Synchronization and deadlock: Peterson, semaphores, philosophers and the bankerChapitre III · PROCESS SYNCHRONIZATION AND DEADLOCKS
      4. 4Simulate FIFO Page ReplacementChapitre IV · MEMORY MANAGEMENT AND VIRTUAL MEMORY
      5. 5File System Directory ImplementationChapitre V · FILE SYSTEM INTERFACE AND FILE SYSTEM IMPLEMENTATION & MASS STORAGE STRUCTURE
    • CS433PJava

      Programming Paradigm

      5

      leçons

      • Creating a Student Class with OOP Fundamentals
      • Inheritance and Polymorphism with Animal Hierarchy
      Voir les 5 leçons
      1. 1Creating a Student Class with OOP FundamentalsChapitre I · OBJECT-ORIENTED PROGRAMMING: FUNDAMENTALS
      2. 2Inheritance and Polymorphism with Animal HierarchyChapitre II · OBJECT-ORIENTED PROGRAMMING: INHERITANCE
      3. 3Building a Simple Swing Drawing ApplicationChapitre III · EVENT-DRIVEN PROGRAMMING
      4. 4Generic Method ImplementationChapitre IV · GENERIC PROGRAMMING
      5. 5Fork-Join Parallel SumChapitre V · CONCURRENT PROGRAMMING
    • IOT451Python

      Python for IOT

      5

      leçons

      • Python List Manipulation with Sorting
      • Implementing a Basic Sorting Function with Conditional Logic
      Voir les 5 leçons
      1. 1Python List Manipulation with SortingChapitre I · INTRODUCTION TO PYTHON
      2. 2Implementing a Basic Sorting Function with Conditional LogicChapitre II · CONTROL FLOW AND FUNCTIONS
      3. 3List Manipulation and MethodsChapitre III · DATA STRUCTURES
      4. 4Text File Word CounterChapitre IV · FILES, MODULES, PACKAGES
      5. 5Sorting Algorithms with PythonChapitre V · PYTHON FOR DATA ANALYSIS AND MACHINE LEARNING
    • MICS432PJava

      INTRODUCTION TO PROGRAMMING PARADIGM

      5

      leçons

      • Creating a Student Class with Basic OOP Concepts
      • Creating a Class Hierarchy with Inheritance
      Voir les 5 leçons
      1. 1Creating a Student Class with Basic OOP ConceptsChapitre I · OBJECT-ORIENTED PROGRAMMING: FUNDAMENTALS
      2. 2Creating a Class Hierarchy with InheritanceChapitre II · OBJECT-ORIENTED PROGRAMMING: INHERITANCE
      3. 3The event model behind AWT and Swing: listeners, mouse dispatch, MVC, layoutsChapitre III · EVENT-DRIVEN PROGRAMMING
      4. 4Generic Method Implementation with Type SafetyChapitre IV · GENERIC PROGRAMMING
      5. 5Fork-Join Framework: Parallel Sum of ArrayChapitre V · CONCURRENT PROGRAMMING
  4. Semestre 5

    5 UE25 leçons de TPJavaNode.jsPython
    • CS533PJava

      Design and Analysis of Algorithms

      5

      leçons

      • Binary Search Implementation
      • Selection Sort Implementation
      Voir les 5 leçons
      1. 1Binary Search ImplementationChapitre I · INTRODUCTION AND FUNDAMENTALS OF THE ANALYSIS OF ALGORITHM EFFICIENCY
      2. 2Selection Sort ImplementationChapitre II · ALGORITHM DESIGN TECHNIQUES
      3. 3Merge Sort ImplementationChapitre III · ALGORITHM DESIGN TECHNIQUES
      4. 4Knapsack Problem with Dynamic ProgrammingChapitre IV · ALGORITHM DESIGN TECHNIQUES
      5. 5N-Queens Problem with BacktrackingChapitre V · ALGORITHM DESIGN TECHNIQUES
    • CS541E02Node.js

      Internet and Web programming

      5

      leçons

      • HTML5 Document Structure Builder
      • CSS Property Selector Parser
      Voir les 5 leçons
      1. 1HTML5 Document Structure BuilderChapitre I · HTML5
      2. 2CSS Property Selector ParserChapitre II · CSS3
      3. 3JavaScript Functions and DOM ManipulationChapitre III · JAVASCRIPT
      4. 4Inside MariaDB: escaping, data types, string and date functions, accounts and grantsChapitre IV · NOSQL
      5. 5Building a Simple HTTP Server with Node.jsChapitre V · CASE STUDY: Node.js
    • CSOE561E01Node.js

      Web Programming Concepts

      5

      leçons

      • Building a Simple HTTP Server
      • HTML5 Document Structure Validator
      Voir les 5 leçons
      1. 1Building a Simple HTTP ServerChapitre I · INTRODUCTION TO WEB PROGRAMMING
      2. 2HTML5 Document Structure ValidatorChapitre II · HTML5
      3. 3JavaScript Array Sorting with Bubble SortChapitre III · JAVASCRIPT
      4. 4CSS Property Selector ParserChapitre IV · CSS3
      5. 5jQuery Selectors ImplementationChapitre V · jQuery
    • CSOE561E03Java

      Data Structures

      5

      leçons

      • Data Structure Classification and Operations
      • Stack Implementation with Array Representation
      Voir les 5 leçons
      1. 1Data Structure Classification and OperationsChapitre I · INTRODUCTION
      2. 2Stack Implementation with Array RepresentationChapitre II · LISTS, STACKS AND QUEUES
      3. 3Binary search trees, AVL rotations and a separate-chaining hash tableChapitre III · TREES
      4. 4Insertion Sort ImplementationChapitre IV · SORTING
      5. 5Graph algorithms: topological sort, BFS, Dijkstra and PrimChapitre V · GRAPHS
    • CSOE561E04Python

      Python for Engineers

      5

      leçons

      • Python Basics: Variables, Literals, and Operations
      • Implementing Bubble Sort Algorithm
      Voir les 5 leçons
      1. 1Python Basics: Variables, Literals, and OperationsChapitre I · INTRODUCTION
      2. 2Implementing Bubble Sort AlgorithmChapitre II · CONDITIONAL STATEMENTS LOOPING AND ARRAY
      3. 3Function Return Values and ScopesChapitre III · FUNCTIONS
      4. 4String Formatting and Exception Handling in ModulesChapitre IV · MODULES
      5. 5Creating a Basic Bank Account ClassChapitre V · FUNDAMENTALS OF OOP
  5. Semestre 6

    3 UE15 leçons de TPCSQLPython
    • CS632PC

      COMPILER DESIGN

      5

      leçons

      • Compiler Phases Implementation
      • Building a Lexical Analyzer with DFA
      Voir les 5 leçons
      1. 1Compiler Phases ImplementationChapitre I · INTRODUCTION TO COMPILERS
      2. 2Building a Lexical Analyzer with DFAChapitre II · LEXICAL ANALYSIS
      3. 3LL(1) Parser ImplementationChapitre III · SYNTAX ANALYSIS
      4. 4Symbol Table Implementation for Type CheckingChapitre IV · SYNTAX DIRECTED TRANSLATION & RUN TIME ENVIRONMENT
      5. 5DAG-based Optimization of Basic BlocksChapitre V · CODE OPTIMIZATION AND CODE GENERATION
    • CS642E03SQL

      ADVANCED DATABASES

      5

      leçons

      • ER-to-Relational Mapping with SQLite
      • Object Database Querying with SQLite
      Voir les 5 leçons
      1. 1ER-to-Relational Mapping with SQLiteChapitre I · DATABASE MANAGEMENT
      2. 2Object Database Querying with SQLiteChapitre II · ADVANCED DATABASES
      3. 3Transaction Schedule Analysis with SQLiteChapitre III · QUERY AND TRANSACTION PROCESSING
      4. 4Concurrency Control with Two-Phase LockingChapitre IV · CONCURRENCY CONTROL AND RECOVERY
      5. 5Database Security Privilege ManagementChapitre V · DATABASE SECURITY
    • CSHO631AIPPython

      ARTIFICIAL INTELLIGENCE AND MACHINE LEARNING

      5

      leçons

      • Simple Linear Regression: Least Squares Fit
      • Polynomial Regression Implementation
      Voir les 5 leçons
      1. 1Simple Linear Regression: Least Squares FitChapitre I · Regression
      2. 2Polynomial Regression ImplementationChapitre II · Multiple and Non Linear Regression
      3. 3Invariance, stability and scattering: why CNN features survive shiftsChapitre III · Convolutional Neural Networks I
      4. 4LISTA Algorithm ImplementationChapitre IV · Convolutional Neural Networks II
      5. 5Autoencoders, VAEs, GANs and maximum entropy from first principlesChapitre V · Deep Unsupervised Learning
  6. Semestre 7

    3 UE14 leçons de TPJavaPythonSQL
    • CS763E02Java

      Java Programming

      4

      leçons

      • Java Basics: Variables and Data Types
      • Creating and Using Java Classes with Inheritance
      Voir les 4 leçons
      1. 1Java Basics: Variables and Data TypesChapitre I · INTRODUCTION TO JAVA PROGRAMMING
      2. 2Creating and Using Java Classes with InheritanceChapitre II · CLASS, OBJECTS AND INHERITANCE
      3. 3Implementing a Sortable InterfaceChapitre III · INTERFACES, PACKAGES AND EXCEPTION HANDLING
      4. 4Reading and Writing Text Files with Java StreamsChapitre IV · COLLECTIONS AND INPUT / OUTPUT
      5. 5APPLET AND JDBC
    • CS763E03Python

      Basics of Artificial Intelligence

      5

      leçons

      • Uniformed Search Strategies Implementation
      • Implementing A* Search Algorithm
      Voir les 5 leçons
      1. 1Uniformed Search Strategies ImplementationChapitre I · INTRODUCTION
      2. 2Implementing A* Search AlgorithmChapitre II · SEARCHING TECHNIQUES
      3. 3First-order inference: unification, forward and backward chaining, resolutionChapitre III · KNOWLEDGE REPRESENTATION
      4. 4Decision Tree Learning from ObservationsChapitre IV · LEARNING
      5. 5A CNN and an RNN from scratch: convolution, pooling, recurrence, LSTMChapitre V · DEEP LEARNING
    • MICS735PSQL

      DATABASE SYSTEM

      5

      leçons

      • ER Model to Relational Schema Mapping
      • Relational Algebra and SQL Queries
      Voir les 5 leçons
      1. 1ER Model to Relational Schema MappingChapitre I · INTRODUCTION AND CONCEPTUAL MODELING
      2. 2Relational Algebra and SQL QueriesChapitre II · RELATIONAL MODEL
      3. 3B+ Tree Index ImplementationChapitre III · DATA STORAGE AND QUERY PROCESSING
      4. 4Transaction Schedule AnalysisChapitre IV · TRANSACTION MANAGEMENT
      5. 5XML Data Processing with SQLiteChapitre V · CURRENT TRENDS

Le programme complet, soit 108 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é à CHRIST (Deemed to be 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 CHRIST 2021 regulation ?

Oui. GroutCode intègre le programme CHRIST 2021 regulation transcrit pour B.Tech Computer Science and Engineering, soit 108 cours, avec 94 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 CHRIST ?

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