Indira Gandhi National Open University

India · BCA_NEW 2024

Indira Gandhi National Open University

59 labpractica voor het IGNOU BCA-leerplan.

Het BCA_NEW-programma van IGNOU voor afstandsstudenten: labs voor C en Python, C++, Java, datastructuren 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: Bachelor of Computer Applications (BCA_NEW, ODL). Regeling: BCA_NEW 2024 (Programme Guide v2.0, 2026). Open een vak om de practicumonderdelen te zien en het labpracticum dat GroutCode bij elk onderdeel meelevert.

  1. Semester 2

    2 vakken18 lablessenCPython
    • MCS201CPython

      Programming in C and Python

      16

      lessen

      • From flowchart to C — ten classic problem-solving algorithms
      • Operators that bite — integer division, casts and priority in C
      Bekijk alle 16 lessen
      1. 1From flowchart to C — ten classic problem-solving algorithmsOnderdeel 1 · Programming Fundamentals
      2. 2Operators that bite — integer division, casts and priority in COnderdeel 2 · Data Types Operators and Expressions
      3. 3Every control statement in C — from a grade ladder to a star triangleOnderdeel 3 · Decision and Loop Control Statements
      4. 4Arrays, matrices and strings in C — built by handOnderdeel 4 · Arrays& Strings
      5. 5Functions, storage classes and recursion in COnderdeel 5 · Functions
      6. 6A student record system with structures, unions and bit fieldsOnderdeel 6 · Structures and Unions
      7. 7Pointer toolkit — swap, scan, reverse, allocate and sort by addressOnderdeel 7 · Pointers
      8. 8File handling in C — text, formatted, binary and random-access I/OOnderdeel 8 · File Handling
      9. 9Your first Python program — from greeting to a runnable scriptOnderdeel 9 · Introduction to Python
      10. 10Python data structures from scratch — arrays, linked lists, stacks, queues and recursionOnderdeel 10 · Data Structures and control statements in Python
      11. 11Marks processing with functions and files in PythonOnderdeel 11 · Functions and File Handling in Python
      12. 12Modules and packages — building, finding and importing themOnderdeel 12 · Modules and Packages
      13. 13A banking model with classes, inheritance and operator overloadingOnderdeel 13 · Classes in Python
      14. 14Exception handling — catching, raising and defining errorsOnderdeel 14 · Exception Handling in Python Programming
      15. 15Decorators, generators, iterators and coroutinesOnderdeel 15 · Advanced Concepts
      16. 16A library catalogue in SQLite, driven from PythonOnderdeel 16 · Data Access using Python
    • MCSL205CPython

      C and Python Lab

      2

      lessen

      • C Programming Lab: ten sessions from digits to structures
      • Python Programming Lab: eleven sessions from conditionals to generators
      Bekijk de onderdelen
      1. 1C Programming Lab: ten sessions from digits to structuresOnderdeel 1 · Section 1: C Programming
      2. 2Python Programming Lab: eleven sessions from conditionals to generatorsOnderdeel 2 · Section 2: Python Programming
  2. Semester 3

    5 vakken27 lablessenC++SQLC
    • BCS131C++

      Programming in C++

      11

      lessen

      • Shapes two ways — structured functions, then classes and polymorphism
      • C++ fundamentals — eleven functions on types, operators and control flow
      Bekijk alle 11 lessen
      1. 1Shapes two ways — structured functions, then classes and polymorphismOnderdeel 1 · Object Oriented Programming
      2. 2C++ fundamentals — eleven functions on types, operators and control flowOnderdeel 2 · Introduction to C++
      3. 3A BankAccount class — encapsulation, const members and static membersOnderdeel 3 · Objects and Classes
      4. 4Constructors, destructors and a self-managing IntArray in C++Onderdeel 4 · Constructors and Destructors
      5. 5Inheritance in C++: accounts, staff, smartphones and a diamondOnderdeel 5 · Inheritance
      6. 6Overloading in C++: an exact Fraction type and a PolynomialOnderdeel 6 · Operator Overloading
      7. 7Polymorphism in C++: a shape hierarchy and a payroll behind abstract basesOnderdeel 7 · Polymorphism and Virtual Function
      8. 8Streams and files in C++: formatted reports, parsing, and binary file pointersOnderdeel 8 · Streams and Files
      9. 9Templates and the STL: generic functions, a Stack<T> and a word counterOnderdeel 9 · Templates and STL
      10. 10Exception handling: a parser, a bank account and stack unwindingOnderdeel 10 · Exception Handling
      11. 11Case study: a study-centre library management system in C++Onderdeel 11 · Case Study
    • BCSL135SQLC++

      DBMS and C++ Lab

      2

      lessen

      • DBMS lab in SQLite: a study centre's learners, courses and marks
      • C++ lab: from control structures to templates, streams, exceptions and the STL
      Bekijk de onderdelen
      1. 1DBMS lab in SQLite: a study centre's learners, courses and marksOnderdeel 1 · Section 1: Database Management Systems
      2. 2C++ lab: from control structures to templates, streams, exceptions and the STLOnderdeel 2 · Section 2: C++ Lab
    • MCS207SQL

      Database Management Systems

      3

      lessen

      • SQL on an employee database — DDL, DML, aggregates, GROUP BY and HAVING
      • Joins, self joins and correlated sub-queries over an employee database
      Bekijk alle 3 lessen
      1. 1SQL on an employee database — DDL, DML, aggregates, GROUP BY and HAVINGOnderdeel 7 · Structured Query language
      2. 2Joins, self joins and correlated sub-queries over an employee databaseOnderdeel 8 · Complex Queries
      3. 3Triggers as assertions, a transfer procedure and window queries for a bankOnderdeel 9 · Advanced SQL
    • MCS208C

      Data Structures and Algorithms

      10

      lessen

      • Address arithmetic, sparse matrices and polynomials in C
      • The List ADT four ways: array, singly, doubly and circularly linked, and a skip list
      Bekijk alle 10 lessen
      1. 1Address arithmetic, sparse matrices and polynomials in COnderdeel 2 · Arrays, Pointers and Structures
      2. 2The List ADT four ways: array, singly, doubly and circularly linked, and a skip listOnderdeel 3 · Lists
      3. 3Stacks in C: arrays, linked nodes, shared arrays and their applicationsOnderdeel 4 · Stacks
      4. 4Queues in C: circular arrays, linked queues, deques, priority queues and schedulingOnderdeel 5 · Queues
      5. 5Binary and general trees in C: traversals, array form and expression treesOnderdeel 6 · Trees
      6. 6Search trees in C: BST operations, AVL balancing, red-black rules and splayingOnderdeel 7 · Advanced Trees
      7. 7Graph algorithms in C: traversals, shortest paths, spanning trees and SCCsOnderdeel 8 · Graphs
      8. 8Searching and sorting toolkit — from linear search to an external mergeOnderdeel 9 · Searching and Sorting Techniques
      9. 9Hash tables four ways — index mapping, chaining, probing and rehashingOnderdeel 10 · Hashing
      10. 10Scapegoat trees, tries, and x-fast / y-fast tries over 8-bit keysOnderdeel 11 · Advanced Data Structures
    • MCSL209C

      Data Structures and Algorithms Lab

      1

      les

      • DSA lab — stacks, queues, lists and trees, then graphs and dynamic programming
      Bekijk de onderdelen
      1. 1DSA lab — stacks, queues, lists and trees, then graphs and dynamic programmingOnderdeel LAB · Data Structures and Algorithms Lab
  3. Semester 4

    2 vakken13 lablessenJava
    • BCSL146Java

      Object Oriented Programming using Java Lab

      1

      les

      • Java lab: from loops to a thread-safe bank
      Bekijk de onderdelen
      1. 1Java lab: from loops to a thread-safe bankOnderdeel LAB · Section 1: Java Programming
    • MCS206Java

      Object Oriented Programming using Java

      12

      lessen

      • Your first Java program and the Java platform it runs on
      • Java basics: primitive types, Unicode, operators and reading input with Scanner
      Bekijk alle 12 lessen
      1. 1Your first Java program and the Java platform it runs onOnderdeel 1 · Introduction to Java
      2. 2Java basics: primitive types, Unicode, operators and reading input with ScannerOnderdeel 2 · Basics of Java
      3. 3Arrays, decisions and loops: searching, grading, primes and matrices in JavaOnderdeel 3 · Decisions and Loops
      4. 4Classes and objects: an immutable Point, an encapsulated BankAccount and object lifecycleOnderdeel 4 · Class and Objects
      5. 5Inheritance: a Person, Employee, Manager and Contractor class hierarchyOnderdeel 5 · Inheritance
      6. 6A polymorphic payroll — overloading, overriding and abstract classes in JavaOnderdeel 6 · Polymorphism
      7. 7A bank that fails safely — exceptions and assertions in JavaOnderdeel 7 · Assertions and Exception Handling
      8. 8A shipping manifest — interfaces, default and static methods, and access rules in JavaOnderdeel 8 · Packages and Interfaces
      9. 9Threads that cooperate — creating, joining, synchronizing and signalling in JavaOnderdeel 9 · Multithreading
      10. 10Text and number utilities — wrapper classes, String, StringBuilder and StringBuffer in JavaOnderdeel 10 · Number and Strings (String, StringBuilder, string buffer)
      11. 11Java I/O streams: bytes, characters, files and serializationOnderdeel 11 · I/O Streams
      12. 12The Java API: dates, sets, maps, stacks, vectors and listsOnderdeel 12 · Java API
  4. Semester 5

    1 vak1 lablesC
    • BCSL159C

      Introduction to Algorithm Design Lab

      1

      les

      • Algorithm Design Lab: from Euclid to BFS
      Bekijk de onderdelen
      1. 1Algorithm Design Lab: from Euclid to BFSOnderdeel LAB · Algorithm Design Lab

Het volledige leerplan van 24 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 Indira Gandhi National Open 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 IGNOU BCA BCA_NEW 2024?

Ja. GroutCode bevat de overgenomen IGNOU BCA BCA_NEW 2024 voor Bachelor of Computer Applications (BCA_NEW, ODL) — 24 vakken — met 59 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 IGNOU BCA-practica?

C (21 lessen), Java (13 lessen), C++ (12 lessen), Python (9 lessen), SQL (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 IGNOU BCA-labwerk met de controles ingebouwd

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

Download GroutCode