Savitribai Phule Pune University

India · 2024 pattern

Savitribai Phule Pune University

29 labpractica voor het SPPU-leerplan.

De B.E. Computer Engineering van Pune University volgens het 2024 pattern (NEP 2020), met de labs datastructuren, OOP 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.E. Computer Engineering. Regeling: 2024 pattern (NEP 2020). Open een vak om de practicumonderdelen te zien en het labpracticum dat GroutCode bij elk onderdeel meelevert.

  1. Semester 1

    1 vak6 lablessenC
    • ESC105COMC

      Fundamentals of Programming Languages

      6

      lessen

      • C tokens, constants and storage classes — a tiny lexer
      • Operators and expressions — from bit tricks to an infix evaluator
      Bekijk alle 6 lessen
      1. 1C tokens, constants and storage classes — a tiny lexerOnderdeel I · Introduction to Program Planning & C Programming
      2. 2Operators and expressions — from bit tricks to an infix evaluatorOnderdeel II · Operators and Expressions
      3. 3Control flow — a calculator and a month calendarOnderdeel III · Control Flow
      4. 4Arrays and strings — search, string handling and matrix multiplicationOnderdeel IV · Arrays
      5. 5Functions and structures — Tower of Hanoi, employee records and a balance sheetOnderdeel V · User Defined Functions
      6. 6The FPL lab list in C — numbers, arrays, strings and an employee recordOnderdeel LAB · List of Laboratory Experiments/Assignments
  2. Semester 2

    1 vak6 lablessenPython
    • PCC151ITTPython

      Programming and Problem Solving

      6

      lessen

      • Problem-solving strategies in Python — brute force to top-down design
      • Tuples, sets, dictionaries and every loop form in Python
      Bekijk alle 6 lessen
      1. 1Problem-solving strategies in Python — brute force to top-down designOnderdeel I · Problem Solving, Programming and Python Programming
      2. 2Tuples, sets, dictionaries and every loop form in PythonOnderdeel II · Advance Data Types and Decision Control Statements
      3. 3String tools in Python — your own functions, closures and formattingOnderdeel III · Functions and Strings
      4. 4Files and dictionaries in Python — read, write, seek, rename and indexOnderdeel IV · File Handling and Dictionaries
      5. 5Classes, inheritance and polymorphism: a small banking and library modelOnderdeel V · Object Oriented Programming
      6. 6Python lab: conversions, strings, files, classes and engineering formulasOnderdeel LAB · List of Laboratory Assignments
  3. Semester 3

    4 vakken12 lablessenPythonJava
    • PCC201COMPython

      Data Structures

      5

      lessen

      • Measuring algorithms: step counts, growth rates, ADTs, divide and conquer, greedy
      • Arrays, sparse matrices, four searches and five sorts
      Bekijk alle 5 lessen
      1. 1Measuring algorithms: step counts, growth rates, ADTs, divide and conquer, greedyOnderdeel I · Introduction to Data Structures and Algorithms
      2. 2Arrays, sparse matrices, four searches and five sortsOnderdeel II · Linear Data Structures, searching and sorting
      3. 3Stacks, queues and linked lists: expression conversion to JosephusOnderdeel III · Stacks, Queues and Linked Lists
      4. 4Hash tables — chaining, open addressing, rehashing and extendible hashingOnderdeel IV · Hashing
      5. 5Graphs and trees — traversals, spanning trees, BSTs and Huffman codingOnderdeel V · Graphs and Trees
    • PCC202COMJava

      Object Oriented Programming and Computer Graphics

      5

      lessen

      • Java fundamentals — control structures, references and your first classes
      • Classes, arrays and streams — a library management system
      Bekijk alle 5 lessen
      1. 1Java fundamentals — control structures, references and your first classesOnderdeel I · Introduction to OOP Concepts and Control Structure
      2. 2Classes, arrays and streams — a library management systemOnderdeel II · Introduction to Classes and Objects and Arrays
      3. 3Online banking — inheritance, exceptions and threadsOnderdeel III · Inheritance and Polymorphism Exception Handling and Multithreading
      4. 4Raster graphics in Java: DDA, Bresenham, midpoint circle, fills and clippingOnderdeel IV · Graphics Primitives, Scan Conversion, Windowing and Clipping
      5. 5Homogeneous transformations and projections in Java: 2D, 3D, oblique, isometric and perspectiveOnderdeel V · 2D, 3D Transformations and Projections
    • PCC204COMPython

      Data Structures Laboratory

      1

      les

      • Data structures lab in Python: searching, sorting, stacks, queues, linked lists, hashing, graphs and trees
      Bekijk de onderdelen
      1. 1Data structures lab in Python: searching, sorting, stacks, queues, linked lists, hashing, graphs and treesOnderdeel LAB · List of Laboratory Assignments
    • PCC205COMJava

      Object Oriented Programming and Computer Graphics Laboratory

      1

      les

      • OOP and graphics lab in Java: calculator, orders, inheritance, exceptions, threads, styled lines, circles, fills, bankin
      Bekijk de onderdelen
      1. 1OOP and graphics lab in Java: calculator, orders, inheritance, exceptions, threads, styled lines, circles, fills, bankinOnderdeel LAB · List of Laboratory Assignments
  4. Semester 4

    1 vak1 lablesSQL
    • PCC254COMSQL

      Database Management Laboratory

      1

      les

      • DBMS lab in SQLite: constraints, DDL, DML, transactions, aggregates, joins, views, subqueries and triggers
      Bekijk de onderdelen
      1. 1DBMS lab in SQLite: constraints, DDL, DML, transactions, aggregates, joins, views, subqueries and triggersOnderdeel LAB · List of Laboratory Assignments
  5. Semester 5

    1 vak1 lablesPython
    • PCC304COMPython

      Artificial Intelligence Laboratory

      1

      les

      • The AI lab list in Python — agents, search, games, constraints and an expert system
      Bekijk de onderdelen
      1. 1The AI lab list in Python — agents, search, games, constraints and an expert systemOnderdeel LAB · List of Laboratory Assignments
  6. Semester 6

    3 vakken3 lablessenPythonSQL
    • PEC363ACOMPython

      Elective III Laboratory: Information Retrieval

      1

      les

      • A small search engine in Python — conflation, inverted index, Boolean queries, clustering, evaluation and PageRank
      Bekijk de onderdelen
      1. 1A small search engine in Python — conflation, inverted index, Boolean queries, clustering, evaluation and PageRankOnderdeel LAB · List of Laboratory Assignments
    • PEC363CCOMPython

      Elective III Laboratory: Cryptography and Network Security

      1

      les

      • Cryptography lab in Python — classical ciphers, AES-128, RSA, Diffie-Hellman, signatures, HMAC, a packet filter and steg
      Bekijk de onderdelen
      1. 1Cryptography lab in Python — classical ciphers, AES-128, RSA, Diffie-Hellman, signatures, HMAC, a packet filter and stegOnderdeel LAB · List of Laboratory Assignments
    • PEC363DCOMSQL

      Elective III Laboratory: Advanced Databases

      1

      les

      • Advanced databases in SQLite — fragmentation, query rewriting, materialised views, transactions, log recovery and serial
      Bekijk de onderdelen
      1. 1Advanced databases in SQLite — fragmentation, query rewriting, materialised views, transactions, log recovery and serialOnderdeel LAB · List of Laboratory Assignments

Het volledige leerplan van 41 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 Savitribai Phule Pune 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 SPPU 2024 pattern?

Ja. GroutCode bevat de overgenomen SPPU 2024 pattern voor B.E. Computer Engineering — 41 vakken — met 29 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 SPPU-practica?

Python (15 lessen), C (6 lessen), Java (6 lessen), SQL (2 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 SPPU-labwerk met de controles ingebouwd

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

Download GroutCode