University of Mumbai

India · NEP 2020

University of Mumbai

48 labpractica voor het Mumbai University-leerplan.

De NEP 2020 B.E. Computer Engineering van University of Mumbai: labs voor programmeren in C, datastructuren, Python, algoritmen en DBMS. 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: NEP 2020 (2024-25 onwards). Open een vak om de practicumonderdelen te zien en het labpracticum dat GroutCode bij elk onderdeel meelevert.

  1. Semester 1

    1 vak7 lablessenC
    • VSEC102C

      C Programming

      7

      lessen

      • Keywords, operators and formatted I/O in C
      • Decisions and loops in C — from grade ladders to goto
      Bekijk alle 7 lessen
      1. 1Keywords, operators and formatted I/O in COnderdeel 1 · Fundamentals of C-Programming
      2. 2Decisions and loops in C — from grade ladders to gotoOnderdeel 2 · Control Structures
      3. 3Functions, recursion and storage classes in COnderdeel 3 · Functions and Parameter
      4. 4Arrays, strings and Student records in COnderdeel 4 · Arrays, String, Structure
      5. 5Pointers in C — from swap to a linked listOnderdeel 5 · Pointer
      6. 6File handling in C — text processing and a binary student databaseOnderdeel 6 · Files
      7. 7C Programming lab — from factorials to a linked list and a student fileOnderdeel LAB · Suggested List of Experiments
  2. Semester 2

    3 vakken13 lablessenCPython
    • PCC2011C

      Data Structure

      6

      lessen

      • A List ADT on a growing array — every operation on a data structure
      • Array stacks, a shared two-stack array and expression evaluators
      Bekijk alle 6 lessen
      1. 1A List ADT on a growing array — every operation on a data structureOnderdeel I · Introduction
      2. 2Array stacks, a shared two-stack array and expression evaluatorsOnderdeel II · Stack
      3. 3Five queues on arrays — linear, circular, priority, deque and multi-levelOnderdeel III · Queue
      4. 4Linked lists in C — singly, doubly, circular, and the stack and queue built on themOnderdeel IV · Linked List
      5. 5Binary search trees in C — insert, search, four traversals, delete and tree shapesOnderdeel V · Tree
      6. 6Stacks and trees at work — parentheses, infix/postfix/prefix, expression trees and Huffman codesOnderdeel VI · Applications of Data Structures
    • PCL2011C

      Data Structure Lab

      1

      les

      • Data Structure Lab — arrays, stacks, queues, lists and BSTs in C
      Bekijk de onderdelen
      1. 1Data Structure Lab — arrays, stacks, queues, lists and BSTs in COnderdeel LAB · List of Experiments (all practicals in C)
    • VSEC202Python

      Python Programming

      6

      lessen

      • Python fundamentals for C programmers — types, operators, formatting and the four built-in collections
      • Control flow and functions in Python — number analysers, patterns and a guessing game
      Bekijk alle 6 lessen
      1. 1Python fundamentals for C programmers — types, operators, formatting and the four built-in collectionsOnderdeel 1 · Introduction to Python
      2. 2Control flow and functions in Python — number analysers, patterns and a guessing gameOnderdeel 2 · Control Flow and Functions
      3. 3Files, exceptions, packages and debugging — a word extractor, a city sorter and a fault-tolerant bank ledgerOnderdeel 3 · File Handling, Packaging, and Debugging
      4. 4Object-oriented Python — a vehicle rental system with single, multilevel and multiple inheritanceOnderdeel 4 · Object-Oriented Programming (OOP) in Python
      5. 5Regular expressions in Python — validators, extractors and the logic behind an admission formOnderdeel 5 · Advanced Python Concepts
      6. 6Python Libraries
      7. 7Python lab experiments — from greetings and set operations to custom exceptions, a rental fleet and regex validatorsOnderdeel LAB · List of Experiments
  3. Semester 3

    2 vakken7 lablessenC
    • 2113113C

      Analysis of Algorithm

      6

      lessen

      • Selection sort, insertion sort and the Master method — measured, not memorised
      • Divide and conquer — max-min, merge sort, quick sort and binary search
      Bekijk alle 6 lessen
      1. 1Selection sort, insertion sort and the Master method — measured, not memorisedOnderdeel I · Introduction
      2. 2Divide and conquer — max-min, merge sort, quick sort and binary searchOnderdeel II · Divide and Conquer Approach
      3. 3The greedy method — knapsack, Dijkstra, Prim and KruskalOnderdeel III · Greedy Method Approach
      4. 4Dynamic programming — multistage graphs, Floyd-Warshall, 0/1 knapsack, TSP and LCSOnderdeel IV · Dynamic Programming Approach
      5. 5Backtracking and branch and bound — N-queens to the 15-puzzleOnderdeel V · Backtracking and Branch and bound
      6. 6String matching — naive, Rabin-Karp and Knuth-Morris-PrattOnderdeel VI · String Matching Algorithms
    • 2113115C

      Analysis of Algorithm Lab

      1

      les

      • Analysis of Algorithms Lab — thirteen experiments in C
      Bekijk de onderdelen
      1. 1Analysis of Algorithms Lab — thirteen experiments in COnderdeel LAB · Suggested list of Experiments
  4. Semester 4

    4 vakken14 lablessenSQLC
    • 2114112SQL

      Database Management System

      6

      lessen

      • From ER diagram to tables — a college database in SQLite
      • Relational algebra in SQL — selection to division
      Bekijk alle 6 lessen
      1. 1From ER diagram to tables — a college database in SQLiteOnderdeel I · Introduction to Database and Data Modeling
      2. 2Relational algebra in SQL — selection to divisionOnderdeel II · Relational Model and Relational Algebra
      3. 3A college registrar database in SQL: constraints, views and triggersOnderdeel III · Structured Query Language (SQL)
      4. 4Normalising a registrar spreadsheet from 1NF to 4NF in SQLOnderdeel IV · Database Normalization
      5. 5Transactions in SQL: savepoints, serializability tests, 2PL, log recovery and deadlocksOnderdeel V · Transaction Management and Concurrency Control
      6. 6Modern databases in SQL: documents, key-value, sharding, replication, objects and cloud billingOnderdeel VI · Introduction to Modern databases
    • 2114113C

      Operating System

      6

      lessen

      • Operating system fundamentals in C: system calls, dual mode, boot, multiprogramming and real time
      • A CPU scheduler simulator — FCFS, SJF, priority, SRTF and round robin
      Bekijk alle 6 lessen
      1. 1Operating system fundamentals in C: system calls, dual mode, boot, multiprogramming and real timeOnderdeel I · Fundamentals of Operating System
      2. 2A CPU scheduler simulator — FCFS, SJF, priority, SRTF and round robinOnderdeel II · Process Management
      3. 3Races, semaphores and the banker's algorithm — synchronization and deadlock in codeOnderdeel III · Process Synchronization and Deadlock Management
      4. 4Allocation, paging and page replacement — a memory manager in COnderdeel IV · Memory Management
      5. 5Disk scheduling and file allocation — FCFS to C-LOOK, FAT chains and inodesOnderdeel V · File and IO Management
      6. 6Real-time, distributed, mobile and cloud OS — the algorithms behind special-purpose systemsOnderdeel VI · Special-purpose Operating Systems
    • 2114114SQL

      Database Management System Lab

      1

      les

      • College database in SQLite: DDL, queries, joins, a stored-procedure view, triggers and a locked seat booking
      Bekijk de onderdelen
      1. 1College database in SQLite: DDL, queries, joins, a stored-procedure view, triggers and a locked seat bookingOnderdeel LAB · Suggested List of experiments
    • 2114115C

      Operating System Lab

      1

      les

      • Operating system mechanisms in C: schedulers, Banker's algorithm, memory placement, paging, disk scheduling and a semaph
      Bekijk de onderdelen
      1. 1Operating system mechanisms in C: schedulers, Banker's algorithm, memory placement, paging, disk scheduling and a semaphOnderdeel LAB · Suggested List of Experiments
  5. Semester 6

    2 vakken7 lablessenPython
    • 2116112Python

      System Programming & Compiler Construction

      6

      lessen

      • A hypothetical machine and its language processor: encode, decode, execute, analyse and translate
      • Two-pass assembler with literal pools, and a two-pass macro processor with keyword parameters
      Bekijk alle 6 lessen
      1. 1A hypothetical machine and its language processor: encode, decode, execute, analyse and translateOnderdeel I · Introduction to System Software
      2. 2Two-pass assembler with literal pools, and a two-pass macro processor with keyword parametersOnderdeel II · Assembler and Macro Processor
      3. 3Loaders and linkers: absolute, relocating and direct linking loaders, and lazy dynamic linkingOnderdeel III · Loader and Linker
      4. 4A compiler front end in Python — tokenizer, DFAs, FIRST/FOLLOW, LL(1) and LR(0)Onderdeel IV · Introduction to Compiler & Lexical Analysis
      5. 5Syntax-directed translation in Python — parse trees, scoped symbol tables, type checking and three-address codeOnderdeel V · Syntax and Semantic Analysis
      6. 6An optimizer and code generator in Python — folding, propagation, DAGs, peephole and Sethi-UllmanOnderdeel VI · Code Optimization and Code Generation
    • 2116120Python

      System Programming & Compiler Construction Lab

      1

      les

      • System programming lab in Python — two-pass assembler, nested macro processor and linking loader
      Bekijk de onderdelen
      1. 1System programming lab in Python — two-pass assembler, nested macro processor and linking loaderOnderdeel LAB · Suggested List of Experiments

Het volledige leerplan van 43 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 University of Mumbai. 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 Mumbai University NEP 2020?

Ja. GroutCode bevat de overgenomen Mumbai University NEP 2020 voor B.E. (Computer Engineering) — 43 vakken — met 48 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 Mumbai University-practica?

C (28 lessen), Python (13 lessen), SQL (7 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 Mumbai University-labwerk met de controles ingebouwd

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

Download GroutCode