Grout
APJ Abdul Kalam Technological University

India · 2024 scheme

APJ Abdul Kalam Technological University

85 labpractica voor het curriculum van KTU Kerala.

Het 2024-schema van de technische universiteit van Kerala, met CSE, IT, AI & DS en ECE vanaf het derde semester. 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 CSE / IT / AI & DS / ECE. Regeling: 2024 scheme. Open een vak om de practicumonderdelen te zien en het labpracticum dat GroutCode bij elk onderdeel meelevert.

  1. Semester 3

    8 vakken20 lablessenJavaSQLPythonC
    • PBCST304Java

      Object Oriented Programming

      4

      lessen

      • A job ticket toolkit: bits, boxes, arrays and the first class
      • A build pipeline that dispatches on the object
      Bekijk alle 4 lessen
      1. 1A job ticket toolkit: bits, boxes, arrays and the first classOnderdeel I · Introduction to Java
      2. 2A build pipeline that dispatches on the objectOnderdeel II · Polymorphism
      3. 3A configuration service: singleton, adapter, and exceptions that mean somethingOnderdeel III · Packages and Interfaces
      4. 4SOLID and the delegation event model, with no window in sightOnderdeel IV · SOLID Principles in Java Swings fundamentals
    • PBITT304SQL

      Database Management System

      4

      lessen

      • A library database, from ER diagram to enforced schema
      • SQL CRUD Operations with Student Database
      Bekijk alle 4 lessen
      1. 1A library database, from ER diagram to enforced schemaOnderdeel I · Introduction
      2. 2SQL CRUD Operations with Student DatabaseOnderdeel II · Normalization
      3. 3Database Constraints and Transaction ManagementOnderdeel III · Constraints
      4. 4Database Schema Validation with SQLiteOnderdeel IV · Testing and Validation
    • PCCDL308Python

      Python and Statistical Modeling Lab

      1

      les

      • Find Largest of Three Numbers
      Bekijk de onderdelen
      1. 1Find Largest of Three NumbersOnderdeel LAB · List of Experiments
    • PCCSL307C

      Data Structures Lab

      1

      les

      • Sparse Matrix Addition
      Bekijk de onderdelen
      1. 1Sparse Matrix AdditionOnderdeel LAB · List of Experiments
    • PCCST303C

      Data Structures and Algorithms

      4

      lessen

      • Measuring what an algorithm costs, then building the array containers
      • Linked lists, the containers they carry, and a memory manager that fits, coalesces and compacts
      Bekijk alle 4 lessen
      1. 1Measuring what an algorithm costs, then building the array containersOnderdeel I · Basic Concepts of Data Structures
      2. 2Linked lists, the containers they carry, and a memory manager that fits, coalesces and compactsOnderdeel II · Linked List and Memory Management
      3. 3Trees, expression trees, heaps and graphs: the non-linear half of the courseOnderdeel III · Trees and Graphs
      4. 4Six sorts, two searches and four hash functions, with the operations countedOnderdeel IV · Sorting and Searching
    • PCITL307Python

      Programming in Python Lab

      1

      les

      • List Sorting with Bubble Sort
      Bekijk de onderdelen
      1. 1List Sorting with Bubble SortOnderdeel LAB · List of Experiments
    • PCITL308C

      Data Structures Lab

      1

      les

      • Stack Implementation and Postfix Evaluation
      Bekijk de onderdelen
      1. 1Stack Implementation and Postfix EvaluationOnderdeel LAB · List of Experiments
    • PCITT303C

      Data Structures

      4

      lessen

      • From an address calculation to the containers a record index runs on
      • Binary Search Implementation
      Bekijk alle 4 lessen
      1. 1From an address calculation to the containers a record index runs onOnderdeel I · Introduction to Data Structures
      2. 2Binary Search ImplementationOnderdeel II · Searching
      3. 3Singly Linked List ImplementationOnderdeel III · Linked List
      4. 4Binary Tree TraversalsOnderdeel IV · Trees
  2. Semester 4

    8 vakken20 lablessenPythonCSQLJava
    • PBITT404Python

      Data Science

      4

      lessen

      • Loading and cleaning a dataset by hand: read_csv, fillna and groupby without pandas
      • Building a Data Pipeline for EDA
      Bekijk alle 4 lessen
      1. 1Loading and cleaning a dataset by hand: read_csv, fillna and groupby without pandasOnderdeel I · Introducing data science and Python
      2. 2Building a Data Pipeline for EDAOnderdeel II · Data Pipeline, Exploratory data analysis (EDA)
      3. 3K-Nearest Neighbors Classifier ImplementationOnderdeel III · Machine Learning
      4. 4Confusion Matrix and Metrics from ScratchOnderdeel IV · Evaluation
    • PCADL407Python

      Foundations of AI and Data Science Lab

      1

      les

      • Implementing Breadth-First Search (BFS) for AI Applications
      Bekijk de onderdelen
      1. 1Implementing Breadth-First Search (BFS) for AI ApplicationsOnderdeel LAB · List of Experiments
    • PCCSL407C

      Operating Systems Lab

      1

      les

      • The kernel side of the syscalls: a process table, a pipe, IPC, scheduling, deadlock and paging in C
      Bekijk de onderdelen
      1. 1The kernel side of the syscalls: a process table, a pipe, IPC, scheduling, deadlock and paging in COnderdeel LAB · List of Experiments
    • PCCSL408SQL

      DBMS Lab

      1

      les

      • SQLite Database Schema Design
      Bekijk de onderdelen
      1. 1SQLite Database Schema DesignOnderdeel LAB · List of Experiments
    • PCCST402SQL

      Database Management Systems

      4

      lessen

      • ER Model Entity and Relationship Querying
      • Relational Algebra: Selection and Projection Operations
      Bekijk alle 4 lessen
      1. 1ER Model Entity and Relationship QueryingOnderdeel I · Introduction to Databases
      2. 2Relational Algebra: Selection and Projection OperationsOnderdeel II · The Relational Data Model and SQL
      3. 3Functional Dependencies and Normalization in SQLiteOnderdeel III · Database Design Theory & Normalization
      4. 4NoSQL Database Types AnalysisOnderdeel IV · Introduction To NoSQL Concepts
    • PCITL408C

      Operating Systems Lab

      1

      les

      • Process and thread lifecycle, semaphores, memory and files: an operating system modelled in C
      Bekijk de onderdelen
      1. 1Process and thread lifecycle, semaphores, memory and files: an operating system modelled in COnderdeel LAB · List of Experiments
    • PEECT414Java

      Object Oriented Programming

      4

      lessen

      • Java Program Structure and Basic Syntax
      • Java Primitive Types and Operators
      Bekijk alle 4 lessen
      1. 1Java Program Structure and Basic SyntaxOnderdeel I · Introduction
      2. 2Java Primitive Types and OperatorsOnderdeel II · Core Java Fundamentals
      3. 3Exception Handling with Arithmetic OperationsOnderdeel III · More features of Java
      4. 4Swing's MVC, events and layout managers, and the SQL behind JDBC, without a windowOnderdeel IV · Advanced features of Java
    • PEITT411Java

      Object Oriented Design using Java

      4

      lessen

      • UML that runs: a design model you can execute and check
      • Requirements you can check: traceability, gaps and impact
      Bekijk alle 4 lessen
      1. 1UML that runs: a design model you can execute and checkOnderdeel I · Introduction to Software Engineering
      2. 2Requirements you can check: traceability, gaps and impactOnderdeel II · Requirements Elicitation
      3. 3System Design: Managing Book InventoryOnderdeel III · System Design
      4. 4Designing an Interface for a Simple Bank Account SystemOnderdeel IV · Object Design
  3. Semester 5

    5 vakken11 lablessenNode.jsCPython
    • PBITT504Node.js

      Web Application Development

      4

      lessen

      • Basic JavaScript Functions and Variables
      • ECMAScript Features: Let, Const, and Arrow Functions
      Bekijk alle 4 lessen
      1. 1Basic JavaScript Functions and VariablesOnderdeel I · Javascript
      2. 2ECMAScript Features: Let, Const, and Arrow FunctionsOnderdeel II · ECMA Script
      3. 3Building a Minimal Node.js HTTP ServerOnderdeel III · Node.js
      4. 4Express-style middleware, validation and session login, built from scratchOnderdeel IV · Refactoring to MVC
    • PCCSL507C

      Networks Lab

      1

      les

      • TCP Matrix Type Identifier
      Bekijk de onderdelen
      1. 1TCP Matrix Type IdentifierOnderdeel LAB · List of Experiments
    • PCCSL508Python

      Machine Learning Lab

      1

      les

      • Linear Regression Implementation
      Bekijk de onderdelen
      1. 1Linear Regression ImplementationOnderdeel LAB · List of Experiments
    • PCITL507Python

      Machine Learning Lab

      1

      les

      • Implementing Decision Tree ID3 Algorithm
      Bekijk de onderdelen
      1. 1Implementing Decision Tree ID3 AlgorithmOnderdeel LAB · List of Experiments
    • PEECT522C

      Data Structures

      4

      lessen

      • Stack Implementation with Array
      • Singly Linked List Implementation
      Bekijk alle 4 lessen
      1. 1Stack Implementation with ArrayOnderdeel I · Basic Concepts of Data Structures
      2. 2Singly Linked List ImplementationOnderdeel II · Linked List
      3. 3Binary Tree Traversal ImplementationOnderdeel III · Trees and Graphs
      4. 4Selection Sort ImplementationOnderdeel IV · Sorting and Hashing
  4. Semester 6

    7 vakken22 lablessenCJavaC++Python
    • OECST611C

      Data Structures

      4

      lessen

      • Stack Implementation with Array
      • Singly Linked List Implementation
      Bekijk alle 4 lessen
      1. 1Stack Implementation with ArrayOnderdeel I · Basic Concepts of Data Structures
      2. 2Singly Linked List ImplementationOnderdeel II · Linked List and Memory Management
      3. 3Binary Search Tree InsertionOnderdeel III · Trees and Graphs
      4. 4Selection Sort ImplementationOnderdeel IV · Sorting and Searching
    • OECST615Java

      Object Oriented Programming

      4

      lessen

      • Java Primitive Types and Operations
      • Understanding Method Overloading in Java
      Bekijk alle 4 lessen
      1. 1Java Primitive Types and OperationsOnderdeel I · Introduction to Java
      2. 2Understanding Method Overloading in JavaOnderdeel II · Polymorphism
      3. 3Implementing and Extending Java InterfacesOnderdeel III · Packages and Interfaces
      4. 4The delegation event model and JDBC connection steps, built without a windowOnderdeel IV · Swings fundamentals
    • OEITT611Java

      Object-Oriented Programming in Java

      4

      lessen

      • Reading expense lines from a console you do not have
      • An Expense class, and a Wallet that guards it
      Bekijk alle 4 lessen
      1. 1Reading expense lines from a console you do not haveOnderdeel I · Introduction to Java and OOP
      2. 2An Expense class, and a Wallet that guards itOnderdeel II · Classes and Objects
      3. 3Kinds of expense, each answering for itselfOnderdeel III · Inheritance
      4. 4A ledger that keeps its shape when things go wrongOnderdeel IV · Exception Handling
    • OEITT612C++

      Data Structures using C++

      4

      lessen

      • An array ADT you own the memory of
      • Linked structures, and the two ends of a queue
      Bekijk alle 4 lessen
      1. 1An array ADT you own the memory ofOnderdeel I · Module 1
      2. 2Linked structures, and the two ends of a queueOnderdeel II · Module 2
      3. 3Binary Search Tree ImplementationOnderdeel III · Module 3
      4. 4Binary Search ImplementationOnderdeel IV · Advanced Data Structures and Algorithms
    • OEITT613Python

      AI with Python

      4

      lessen

      • AI Agent Types Classification
      • Water Jug Problem: State Representation and Valid Moves
      Bekijk alle 4 lessen
      1. 1AI Agent Types ClassificationOnderdeel I · Introduction to Artificial Intelligence (AI) and Python
      2. 2Water Jug Problem: State Representation and Valid MovesOnderdeel II · AI Problems
      3. 3Breadth-First Search ImplementationOnderdeel III · AI Search Algorithms
      4. 4Minimax Algorithm for Tic-Tac-ToeOnderdeel IV · Game Playing and Constraint Satisfaction Problem (CSP)
    • PCADL607Python

      Deep Learning Lab

      1

      les

      • Implement Logistic Regression from Scratch
      Bekijk de onderdelen
      1. 1Implement Logistic Regression from ScratchOnderdeel LAB · List of Experiments
    • PCCSL607C

      Systems Lab

      1

      les

      • Lexical Analyzer Token Counter
      Bekijk de onderdelen
      1. 1Lexical Analyzer Token CounterOnderdeel LAB · List of Experiments
  5. Semester 7

    1 vak4 lablessenNode.js
    • PECST742Node.js

      Web Programming

      4

      lessen

      • HTML5 Page Generator
      • JavaScript Array Sorting with Custom Comparison
      Bekijk alle 4 lessen
      1. 1HTML5 Page GeneratorOnderdeel I · Creating Web Page using HTML5
      2. 2JavaScript Array Sorting with Custom ComparisonOnderdeel II · Scripting language
      3. 3Building a Simple HTTP Server with Node.jsOnderdeel III · JavaScript runtime environment
      4. 4A layered book catalogue service: SQL placeholders to REST, XML and SOAPOnderdeel IV · SPA: Basics, Angular JS; Working with databases
  6. Semester 8

    2 vakken8 lablessenNode.js
    • OECST832Node.js

      Web Programming

      4

      lessen

      • Building HTML5 Pages with Semantic Structure
      • JavaScript Array Sorting with Custom Comparison
      Bekijk alle 4 lessen
      1. 1Building HTML5 Pages with Semantic StructureOnderdeel I · Creating Web Page using HTML5
      2. 2JavaScript Array Sorting with Custom ComparisonOnderdeel II · Scripting language
      3. 3Building a Simple HTTP Server with Node.jsOnderdeel III · JavaScript runtime environment
      4. 4A layered book catalogue service: SQL placeholders to REST, XML and SOAPOnderdeel IV · SPA: Basics, Angular JS; Working with databases
    • OEITT833Node.js

      Web Designing

      4

      lessen

      • HTML Page Builder
      • CSS Rule Builder
      Bekijk alle 4 lessen
      1. 1HTML Page BuilderOnderdeel I · Website creation roles, Gearing up for web design, Web Page Addresses
      2. 2CSS Rule BuilderOnderdeel II · Concept of CSS, Creating Style Sheet, CSS Properties, CSS Styling
      3. 3Basic DOM Manipulation with JavaScriptOnderdeel III · Introduction to JavaScript
      4. 4SVG Path ParserOnderdeel IV · Introduction to XML

Het volledige leerplan van 264 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 APJ Abdul Kalam Technological 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 KTU 2024 scheme?

Ja. GroutCode bevat de overgenomen KTU 2024 scheme voor B.Tech CSE / IT / AI & DS / ECE, 264 vakken, met 85 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 KTU-practica?

C (22 lessen), Java (20 lessen), Node.js (16 lessen), Python (14 lessen), SQL (9 lessen), C++ (4 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 KTU-labwerk met de controles ingebouwd

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

Download GroutCode