Grout
University of Calicut

Inde · CUFYUGP 2024

University of Calicut

128 travaux pratiques pour le programme Calicut.

Les programmes honours en quatre ans CUFYUGP 2024 en Computer Science et BCA, dès le premier semestre. 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 : BSc Computer Science (Hons) / BCA (Hons). Régime : CUFYUGP 2024. Ouvrez un cours pour voir ses unités pratiques et la séance de TP que GroutCode propose pour chacune.

  1. Semestre 2

    5 UE25 leçons de TPCNode.jsPython
    • BCA2CJ101C

      Fundamentals of Programming (C Language)

      5

      leçons

      • C Operators and Expressions
      • Decision Making with If-Else Statements
      Voir les 5 leçons
      1. 1C Operators and ExpressionsChapitre I · Introduction to C Language
      2. 2Decision Making with If-Else StatementsChapitre II · Decision Making Branching and Looping
      3. 3Passing Arrays to FunctionsChapitre III · Arrays and Functions
      4. 4Pointer Arithmetic and Array AccessChapitre IV · Storage Classes, Structure and Union, Pointers
      5. 5Sorting an Array Using Bubble SortChapitre V · Hands-on Problem-Solving Using C
    • CSC2CJ101C

      Fundamentals Of Programming (C Language)

      5

      leçons

      • C Language Basics: Understanding Variables and Data Types
      • Decision Making with If-Else Statements
      Voir les 5 leçons
      1. 1C Language Basics: Understanding Variables and Data TypesChapitre I · Introduction to C Language
      2. 2Decision Making with If-Else StatementsChapitre II · Decision Making Branching and Looping
      3. 3Passing Arrays to FunctionsChapitre III · Arrays and Functions
      4. 4Pointer Arithmetic and Array AccessChapitre IV · Storage Classes, Structure and Union, Pointers
      5. 5Matrix Addition and SubtractionChapitre V · Hands-on Problem Solving Using C
    • CSC2MN101C

      Foundations of C Programming

      5

      leçons

      • Flowchart to C Program Conversion
      • C from the character set up: tokens, types, operators and formatted I/O
      Voir les 5 leçons
      1. 1Flowchart to C Program ConversionChapitre I · Problem-solving and logical Thinking
      2. 2C from the character set up: tokens, types, operators and formatted I/OChapitre II · Introduction to C
      3. 3Array Sorting with Selection SortChapitre III · Control Statements, Arrays & Strings
      4. 4Understanding Function Parameters and RecursionChapitre IV · User-defined Functions
      5. 5Library Book Search with Linear SearchChapitre V · Hands-on C: Practical Applications, Case Study and Course Project
    • CSC2MN104Node.js

      Web Design Trends and Techniques

      5

      leçons

      • Web Design Evolution Timeline
      • Building Semantic HTML Documents
      Voir les 5 leçons
      1. 1Web Design Evolution TimelineChapitre I · Introduction to Web Design
      2. 2Building Semantic HTML DocumentsChapitre II · HTML - Building the Foundation
      3. 3CSS Box Model & Layout FoundationsChapitre III · CSS - Styling Your Web Pages
      4. 4Writing the DOM: elements, selectors, styles, event propagation and a jQuery-style wrapperChapitre IV · JavaScript Essentials
      5. 5HTML and CSS Tag ImplementationChapitre V · Hands-on Programming in Java(Using VSCode, Atom, Aptana Studio): Practical Applications, Case Study and Course Project
    • CSC2VN101Python

      Introduction to Data Science

      5

      leçons

      • Introduction to Data Science Concepts
      • Data Cleaning: Remove Duplicates from Lists
      Voir les 5 leçons
      1. 1Introduction to Data Science ConceptsChapitre I · Introduction to Data Science
      2. 2Data Cleaning: Remove Duplicates from ListsChapitre II · Data Collection and Data Pre-Processing
      3. 3Descriptive Statistics CalculatorChapitre III · Data Analytics
      4. 4Simple Linear Regression ImplementationChapitre IV · Data Model Devolopment and Evaluation
      5. 5A data-analysis toolkit in plain Python: tables, frequencies, correlation and regressionChapitre V · Practical: Introduction to data analysis tools in Python
  2. Semestre 3

    4 UE20 leçons de TPCPython
    • BCA3CJ201C

      Data Structures using C

      5

      leçons

      • Singly Linked List Insertion
      • Stack Implementation Using Array
      Voir les 5 leçons
      1. 1Singly Linked List InsertionChapitre I · Introduction to Data Structures and Basic Algorithms
      2. 2Stack Implementation Using ArrayChapitre II · Stack and Queue
      3. 3Binary Tree Node CreationChapitre III · Non- Linear Data Structures
      4. 4Implementing Linear and Binary Search in CChapitre IV · Sorting and Searching
      5. 5Singly Linked List: Insert, Delete, and SearchChapitre V · Hands-on Programming in Data Structures: Practical
    • CSC3CJ202C

      Data Structures and Algorithm

      5

      leçons

      • Singly Linked List Implementation
      • Stack Implementation Using Array
      Voir les 5 leçons
      1. 1Singly Linked List ImplementationChapitre I · Introduction to Data Structures and Basic Algorithms
      2. 2Stack Implementation Using ArrayChapitre II · Stack and Queue
      3. 3Binary Tree Traversal ImplementationChapitre III · Non- Linear Data Structures
      4. 4Binary Search ImplementationChapitre IV · Sorting and Searching
      5. 5Stack Implementation Using ArrayChapitre V · Hands-on Programming in Data Structures: Practical
    • CSC3MN202Python

      Introduction to AI and Machine Learning

      5

      leçons

      • Implementing a Simple Search Algorithm
      • Implement a Single-Layer Perceptron
      Voir les 5 leçons
      1. 1Implementing a Simple Search AlgorithmChapitre I · Introduction to Artificial Intelligence & Problem Solving
      2. 2Implement a Single-Layer PerceptronChapitre II · Introduction to Neural Networks
      3. 3Data Wrangling with Pandas: Load, Inspect, and Clean a DatasetChapitre III · Python Packages for AI
      4. 4Supervised Learning: Implement a Simple ClassifierChapitre IV · Machine Learning Fundamentals
      5. 5Machine learning from scratch: perceptrons, regression, trees, k-means and PCAChapitre V · Hands-on Artificial Intelligence & Machine Learning using Python: Practical Applications, Case Study and Course Project
    • CSC3MN204C

      Programming fundamentals using C

      5

      leçons

      • Flowchart to C Implementation: Simple Sorting
      • First C functions: types, operators, identifiers and formatted I/O
      Voir les 5 leçons
      1. 1Flowchart to C Implementation: Simple SortingChapitre I · Problem solving and logical Thinking
      2. 2First C functions: types, operators, identifiers and formatted I/OChapitre II · Introduction to C
      3. 3Implementing Selection Sort AlgorithmChapitre III · Control Statements,Arrays & Strings
      4. 4Function Parameters and Recursion in CChapitre IV · User defined Functions
      5. 5Library Book Management with Arrays and FunctionsChapitre V · Hands-on C: Practical Applications, Case Study and Course Project
  3. Semestre 4

    4 UE20 leçons de TPSQLPython
    • BCA4CJ205SQL

      Database Management System

      5

      leçons

      • Understanding NULLs, Duplicates, and Data Models in SQLite
      • Relational Database Design with SQLite
      Voir les 5 leçons
      1. 1Understanding NULLs, Duplicates, and Data Models in SQLiteChapitre I · Database System- Concept
      2. 2Relational Database Design with SQLiteChapitre II · Database Design
      3. 3Basic SQL SELECT QueriesChapitre III · Query Languages
      4. 4Transaction Schedules and Serializability AnalysisChapitre IV · Transaction Processing, Concurrency Control
      5. 5SQLite Query Practice with Basic SELECT and FilteringChapitre V · DBMS LAB
    • BCA4CJ206Python

      Python Programming

      5

      leçons

      • Implementing a Simple Sorting Algorithm
      • Function Arguments and Scope in Python
      Voir les 5 leçons
      1. 1Implementing a Simple Sorting AlgorithmChapitre I · Introduction to Python and Control Flow Statements
      2. 2Function Arguments and Scope in PythonChapitre II · Introduction to Functions & Modules
      3. 3String Manipulation with ListsChapitre III ·
      4. 4NumPy Array Sorting with Custom LogicChapitre IV · Introduction to Scientific Computing in Python
      5. 5Binary Search ImplementationChapitre V · Hands-on Data Structures: Practical Applications, Case
    • CSC3CJ204Python

      Python Programming

      5

      leçons

      • Implementing a Simple Sorting Algorithm
      • Function Arguments and Scope
      Voir les 5 leçons
      1. 1Implementing a Simple Sorting AlgorithmChapitre I · Fundamentals of Python
      2. 2Function Arguments and ScopeChapitre II · Functions & Modules
      3. 3String Reversal with SlicingChapitre III · Data Structures in Python
      4. 4NumPy Array Creation and Basic OperationsChapitre IV · Introduction to Scientific Computing in Python
      5. 5Implementing a Binary Search FunctionChapitre V · Hands-on Data Structures: Practical Applications, Case Study and Course Project
    • CSC4CJ203SQL

      Database Management System

      5

      leçons

      • Database Schema Design and Querying
      • Relational Database Design and Normalization
      Voir les 5 leçons
      1. 1Database Schema Design and QueryingChapitre I · Database System- Concept
      2. 2Relational Database Design and NormalizationChapitre II · Database Design
      3. 3Basic SQL Query ConstructionChapitre III · Query Languages
      4. 4Transaction Isolation and Serializable SchedulesChapitre IV · Transaction Processing,Concurrency Control
      5. 5SQL Query Building with Aggregates and GroupingChapitre V · DBMS LAB
  4. Semestre 5

    3 UE14 leçons de TPJavaNode.js
    • BCA5CJ301Java

      Object Oriented Programming (Java)

      4

      leçons

      • Implementing a Simple Bank Account System
      • Exception Handling with Custom Exceptions
      Voir les 4 leçons
      1. 1Implementing a Simple Bank Account SystemChapitre I · Review of OOPs and Introduction to Java
      2. 2Exception Handling with Custom ExceptionsChapitre II · Exception and I/O Operations
      3. 3Java threads: Thread and Runnable, thread states, priorities, synchronisation and wait/notifyChapitre III · Multithreading and Database Connectivity
      4. 4GUI Programming
      5. 5String Operations in JavaChapitre V · Hands-on Programming in Java(Using IDE NetBeans Eclipse, VSCode): Practical Applications, Case Study and Course Project
    • CSC5CJ302Java

      Object Oriented Programming (Java)

      5

      leçons

      • Implementing a Simple Bank Account System
      • Exception Handling with Custom Exceptions
      Voir les 5 leçons
      1. 1Implementing a Simple Bank Account SystemChapitre I · Review of OOPs and Introduction to Java
      2. 2Exception Handling with Custom ExceptionsChapitre II · Exception and I/O Operations
      3. 3Java threads from Thread to wait/notify, and the PreparedStatement side of JDBCChapitre III · Multithreading and Database Connectivity
      4. 4Swing GUIs with MVC: controls, layout managers and event handlingChapitre IV · GUI Programming
      5. 5Complex Number Operations with Method OverloadingChapitre V · Hands-on Programming in Java(Using IDE NetBeans, Eclipse VSCode): Practical Applications, Case Study and Course Project
    • CSC5CJ303Node.js

      Full Stack Web Development

      5

      leçons

      • HTML Tag Validator
      • Implementing a Basic Sorting Algorithm in JavaScript
      Voir les 5 leçons
      1. 1HTML Tag ValidatorChapitre I · HTML & CSS
      2. 2Implementing a Basic Sorting Algorithm in JavaScriptChapitre II · JavaScript & Node.JS
      3. 3React Component State ManagementChapitre III · React.JS
      4. 4A MongoDB-style document store in Node: queries, updates, indexes and aggregationChapitre IV · MongoDB
      5. 5Building a Simple Web Server with Node.jsChapitre V · Practical Implementations of Full Stack Web Development
  5. Semestre 6

    4 UE19 leçons de TPPython
    • BCA6CJ304Python

      Introduction to AI and ML

      5

      leçons

      • Implementing Breadth-First Search (BFS) for Graph Traversal
      • Propositional Logic Reasoner
      Voir les 5 leçons
      1. 1Implementing Breadth-First Search (BFS) for Graph TraversalChapitre I · Introduction to Artificial Intelligence & Problem Solving and Searching
      2. 2Propositional Logic ReasonerChapitre II · Knowledge Representation & Reasoning
      3. 3Implement a Single-Layer Perceptron from ScratchChapitre III · Introduction to Neural Networks
      4. 4Implementing a Basic Decision Tree ClassifierChapitre IV · Machine Learning Fundamentals
      5. 5Implementing BFS and DFS Search AlgorithmsChapitre V · Hands-on Artificial Intelligence & Machine Learning using Python: Practical Applications, Case Study and Course Project
    • BCA6EJ303(4)Python

      Advanced Python for Data Science

      4

      leçons

      • NumPy Array Sorting and Manipulation
      • Data Analysis with NumPy Arrays
      Voir les 4 leçons
      1. 1NumPy Array Sorting and ManipulationChapitre I · Arrays, Matrix manipulation using NumPy
      2. 2Data Analysis and Manipulation using Pandas
      3. 3Data Analysis with NumPy ArraysChapitre III · Other Python packages for data science
      4. 4Tensor Creation and Basic OperationsChapitre IV · TensorFlow Fundamentals
      5. 5Data Loading and Basic Inspection with PandasChapitre V · Open Ended Module
    • CSC6CJ306Python

      Introduction to Artificial Intelligence & Machine Learning

      5

      leçons

      • Implementing Breadth-First Search (BFS) for Graph Traversal
      • A small reasoning engine: logic, semantic networks, frames and rule-based inference
      Voir les 5 leçons
      1. 1Implementing Breadth-First Search (BFS) for Graph TraversalChapitre I · Introduction to Artificial Intelligence & Problem Solving and Searching
      2. 2A small reasoning engine: logic, semantic networks, frames and rule-based inferenceChapitre II · Knowledge Representation & Reasoning
      3. 3Implement a Single-Layer Perceptron from ScratchChapitre III · Introduction to Neural Networks
      4. 4Implementing a Simple K-Means Clustering AlgorithmChapitre IV · Machine Learning Fundamentals
      5. 5Breadth-First Search ImplementationChapitre V · Hands-on Artificial Intelligence & Machine Learning using Python: Practical Applications, Case Study and Course Project
    • CSC6EJ312aPython

      Advanced Python for Data Science

      5

      leçons

      • NumPy Array Sorting with Custom Logic
      • Building a mini pandas: Series, DataFrame, alignment, broadcasting, melt and pivot
      Voir les 5 leçons
      1. 1NumPy Array Sorting with Custom LogicChapitre I · Arrays, Matrix manipulation using NumPy
      2. 2Building a mini pandas: Series, DataFrame, alignment, broadcasting, melt and pivotChapitre II · Data Analysis and Manipulation using Pandas
      3. 3Central Tendency & Variance CalculatorChapitre III · Other Python packages for data science
      4. 4Tensor Creation and Basic OperationsChapitre IV · TensorFlow Fundamentals
      5. 5A data-analysis pipeline from CSV and JSON to charts and a trained modelChapitre V · Hands-on Data Structures: Practical Applications, Case Study and Course Project
  6. Semestre 7

    2 UE10 leçons de TPC
    • BCA7CJ401C

      Advanced Data Structures and algorithms

      5

      leçons

      • Algorithm Complexity Analysis
      • Merge Sort Implementation
      Voir les 5 leçons
      1. 1Algorithm Complexity AnalysisChapitre I · Introduction to Data Structures and Analysis of Quality of an Algorithm
      2. 2Merge Sort ImplementationChapitre II · Basic Technique for Design of Efficient Algorithm
      3. 3Singly Linked List ImplementationChapitre III · Linked lists - operations and implementations
      4. 4Binary Search Tree InsertionChapitre IV · Non-linear Data Structures
      5. 5Heap Sort ImplementationChapitre V · Practical Implementations of Data Structures and its Operations
    • CSC7CJ403C

      Advanced Data Structures and algorithms

      5

      leçons

      • Algorithm Complexity Analysis
      • Merge Sort Implementation
      Voir les 5 leçons
      1. 1Algorithm Complexity AnalysisChapitre I · Introduction to data structures and analysis of Quality of an algorithm
      2. 2Merge Sort ImplementationChapitre II · Basic Technique for Design of Efficient Algorithm
      3. 3Singly Linked List ImplementationChapitre III · Linked lists - operations and implementations
      4. 4Binary Search Tree InsertionChapitre IV · Non-linear Data Structures
      5. 5Implementation of Max Heap and Delete OperationChapitre V · Practical Implementations of Data structures and its operations in Java or C programming Language
  7. Semestre 8

    4 UE20 leçons de TPCJavaPython
    • BCA8EJ404(1)C

      Compiler Design

      5

      leçons

      • Lexical Analyzer Token Recognition
      • Building parsers: recursive descent, left recursion, FIRST/FOLLOW, LL(1) tables and operator precedence
      Voir les 5 leçons
      1. 1Lexical Analyzer Token RecognitionChapitre I · COMPILERS AND LEXICAL ANALYSIS
      2. 2Building parsers: recursive descent, left recursion, FIRST/FOLLOW, LL(1) tables and operator precedenceChapitre II · SYNTAX ANALYSIS
      3. 3Three-Address Code GenerationChapitre III · SEMANTIC ANALYSIS AND INTERMEDIATE CODE GENERATION
      4. 4Simple Code Generator for Arithmetic ExpressionsChapitre IV · CODE OPTIMIZATION AND CODE GENERATION
      5. 5Lexical Analyzer with Token RecognitionChapitre V · Open Ended Module - Application Level
    • BCA8EJ405(1)Java

      Mastering Java Web Development

      5

      leçons

      • Building a User Profile Service with Logging
      • Understanding JSP Page Lifecycle
      Voir les 5 leçons
      1. 1Building a User Profile Service with LoggingChapitre I · Over View of Core Java
      2. 2Understanding JSP Page LifecycleChapitre II · Introduction to JSP
      3. 3Building a Spring MVC ControllerChapitre III · Introduction to Spring MVC
      4. 4Building a RESTful API with Spring MVC and AJAXChapitre IV · Integrated Spring and AJAX
      5. 5Library Management System with Spring MVCChapitre V · Practical Applications, Case Study and Course Project
    • CSC8CJ406C

      Compiler Design

      5

      leçons

      • Lexical Analyzer Token Recognition
      • Recursive Descent Parser for Simple Expressions
      Voir les 5 leçons
      1. 1Lexical Analyzer Token RecognitionChapitre I · COMPILERS AND LEXICAL ANALYSIS
      2. 2Recursive Descent Parser for Simple ExpressionsChapitre II · SYNTAX ANALYSIS
      3. 3Syntax-directed translation to three-address code, quadruples and triplesChapitre III · SEMANTIC ANALYSIS AND INTERMEDIATE CODE GENERATION
      4. 4Local Optimization: Dead Code EliminationChapitre IV · CODE OPTIMIZATION AND CODE GENERATION
      5. 5Lexical Analyzer for Simple ExpressionsChapitre V · Open Ended Module - Application Level
    • CSC8VN401Python

      Predictive Modelling

      5

      leçons

      • Covariance, correlation matrices, and partial and multiple correlation from first principles
      • Simple Linear Regression Implementation
      Voir les 5 leçons
      1. 1Covariance, correlation matrices, and partial and multiple correlation from first principlesChapitre I · Correlation & Covariance
      2. 2Simple Linear Regression ImplementationChapitre II · Regression Techniques
      3. 3Logistic Regression ImplementationChapitre III · Logistics Regression
      4. 4Decomposing and forecasting a time series: moving averages, seasonal indices, AR, ARMA and ARIMAChapitre IV · Time Series analysis and forecasting
      5. 5Health-care case study: encoding variables, multiple linear regression and logistic regression from scratchChapitre V · Open Ended Module: Assignments, Case study

Le programme complet, soit 112 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é à University of Calicut, 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 Calicut CUFYUGP 2024 ?

Oui. GroutCode intègre le programme Calicut CUFYUGP 2024 transcrit pour BSc Computer Science (Hons) / BCA (Hons), soit 112 cours, avec 128 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 Calicut ?

C (50 séances), Python (44 séances), Java (14 séances), Node.js (10 séances), SQL (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 Calicut 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