Advanced & Post-Graduate DiplomaAdvanced

ADSE - Advanced Diploma in Software Engineering

C/C++ foundations, Core Java, Python, SQL/MySQL, Git, testing and an application project with reviewed AI-assisted coding.

Talk to a counsellor about ADSE - Advanced Diploma in Software Engineering

Fees, batch dates and timings are shared by a counsellor. No payment is needed to ask.

What you will cover
  • C/C++ foundations
  • Core Java
  • Python
  • SQL/MySQL
  • Git
  • testing
  • an application project with reviewed AI-assisted coding

Topic list from the institute's programme record.

Certification

Certificate terms for this programme are confirmed by the institute at admission. Any ADIVAS course-completion certificate is an institute certificate; it is not a university degree, an externally accredited qualification or a vendor certification (such as AWS or Microsoft) unless the institute states so in writing.

The programme title is as supplied in the institute's list. Please confirm the awarding body and recognition with the institute before enrolling.

Curriculum 0.1 · Draft: written for ADIVAS and awaiting academic review and approval. Topics and weeks may change before your batch starts.

Your skill trail

You move through 10 stations. Each week builds one skill you can show, not just a topic you have heard.

  1. Programming with C

    Learn logic and structured programming, pointers, memory and files in C.

    • Week 1 Programming logic and tool setup
    • Week 2 C basics: data, input and output
    • Week 3 Decisions and test cases
    • Week 4 Loops and tracing
    • Week 5 Functions and recursion
    • Week 6 Arrays and strings
    • Week 7 Pointers and dynamic memory
    • Week 8 Structures, files and C mini-project
  2. C++ and object-oriented design

    Model problems with classes, inheritance, templates, the STL and smart pointers.

    • Week 9 From C to C++
    • Week 10 Classes, objects and encapsulation
    • Week 11 Inheritance and polymorphism
    • Week 12 Templates and the STL
    • Week 13 RAII, smart pointers and exceptions
    • Week 14 C++ mini-project: Library manager
  3. Python programming

    Write scripts, modules, tools and tests in Python.

    • Week 15 Python basics
    • Week 16 Functions and modules
    • Week 17 Lists, tuples, dictionaries and sets
    • Week 18 Files, CSV, JSON and exceptions
    • Week 19 Object-oriented Python
    • Week 20 Packages, automation and data handling
    • Week 21 Python mini-project with pytest
  4. Core Java

    Build object-oriented Java programs with exceptions, collections and unit tests.

    • Week 22 Java setup and syntax
    • Week 23 Arrays, strings and methods
    • Week 24 Classes and encapsulation
    • Week 25 Inheritance, interfaces and polymorphism
    • Week 26 Exceptions and validation
    • Week 27 Collections and generics
    • Week 28 Files, lambdas and dates
    • Week 29 Java mini-project with JUnit
  5. Data structures and algorithms

    Implement and compare core data structures and algorithms.

    • Week 30 Complexity, searching and sorting
    • Week 31 Linked lists, stacks and queues
    • Week 32 Hash tables and trees
    • Week 33 Graphs and problem solving
  6. Databases with SQL and MySQL

    Design schemas, write queries and connect code to MySQL safely.

    • Week 34 Relational model and MySQL basics
    • Week 35 Querying data
    • Week 36 Joins and subqueries
    • Week 37 Database design and integrity
    • Week 38 Using a database from code
  7. Git and testing

    Collaborate with Git and design effective tests.

    • Week 39 Git and collaboration
    • Week 40 Testing and debugging strategy
  8. Web APIs

    Build and consume REST APIs.

    • Week 41 HTTP, JSON and REST
    • Week 42 Building a REST API
  9. AI-assisted coding

    Use AI tools responsibly with review and testing.

    • Week 43 AI-assisted coding with review
  10. Capstone project

    Design, build, test and present a complete application.

    • Week 44 Capstone: requirements and design
    • Week 45 Capstone: sprint 1
    • Week 46 Capstone: sprint 2
    • Week 47 Capstone: testing, review and documentation
    • Week 48 Capstone: demo, viva and retrospective
  11. Student Marks Manager (C with a C++ class version)

    Your project, reviewed by a trainer.

The ADIVAS mastery ladder: how each skill is recognised
  1. Explored You have seen the idea and tried a first example.
  2. Practising You can do it with hints and keep improving.
  3. Proficient You complete the weekly practical task correctly on your own.
  4. Proven You apply it in a project reviewed by your trainer.

Skill-level tracking is being added to the learner workspace. Your trainer already reviews weekly practical work.

What you will be able to do

  • Write and trace structured C programs using variables, decisions, loops, functions and arrays.
  • Use pointers, dynamic memory, structs and files safely in C.
  • Model problems with C++ classes, inheritance, templates, the STL and smart pointers.
  • Write Python scripts and modules using collections, files, exceptions, classes and pytest.
  • Design and build object-oriented Java programs with exceptions, collections and JUnit tests.
  • Implement and compare core data structures and algorithms using Big-O reasoning.
  • Design a normalised MySQL schema, write joins and aggregates and access it safely from code.
  • Use Git branching, pull requests and code review in a team workflow, and design effective tests.
  • Build and consume a REST API with JSON and correct status codes.
  • Review, test and responsibly use AI-generated code and keep an assistance log.
  • Deliver a tested, version-controlled capstone application with documentation and a demo.

Who it suits

  • School Strong Class 12 students who have finished school computer science basics and want a full-year, project-based path into software development.
  • College Students and fresh graduates (BCA, BSc, BE, diploma) who want a broad and practical software engineering foundation.
  • Professional Career changers and working professionals who want a structured, full-year route into software development with a portfolio project.

Prerequisites: Comfortable use of a computer and basic school mathematics. No prior programming needed; the course starts from logic. Tools: GCC or Clang compiler (MinGW-w64 on Windows), Visual Studio Code, Python 3 with venv, pip and pytest, JDK 17 or 21 (LTS) and Maven, MySQL Community Server and MySQL Workbench, Git and a GitHub account, Postman or curl, Flask or Spring Boot for the API.

Weekly plan

Programming with C Weeks 1–8

Week 1: Programming logic and tool setup

Theory
  • Algorithms, flowcharts and pseudocode
  • Sequence, decision and repetition
  • Installing GCC, VS Code and Git
Lab
Install the toolchain, compile Hello World and create a Git repository for the course; write a flowchart and pseudocode for finding the largest of three marks.
Homework
Write pseudocode for an ATM withdrawal and trace it with two inputs.
Deliverable
Flowchart, Hello program and an initialised repository.
Weekly checkpoint
Order algorithm steps; trace a flowchart.
You will be able to
Write and trace structured C programs using variables, decisions, loops, functions and arrays. Use pointers, dynamic memory, structs and files safely in C.

Week 2: C basics: data, input and output

Theory
  • Types, variables and constants
  • printf and scanf
  • Operators and integer division
Lab
Write a GST bill calculator with quantity and unit price in ₹, and explain integer division with three examples.
Homework
Write a simple-interest and a temperature conversion program.
Deliverable
bill.c with sample runs.
Weekly checkpoint
Predict outputs of snippets with int and float.
You will be able to
Write and trace structured C programs using variables, decisions, loops, functions and arrays. Use pointers, dynamic memory, structs and files safely in C.

Week 3: Decisions and test cases

Theory
  • if, else-if and switch
  • Relational and logical operators
  • Writing test tables before coding
Lab
Build a grade calculator and leap-year checker driven by a test table including boundary values.
Homework
Write a menu calculator that rejects division by zero.
Deliverable
Programs with test tables.
Weekly checkpoint
Debug an assignment-versus-comparison bug.
You will be able to
Write and trace structured C programs using variables, decisions, loops, functions and arrays. Use pointers, dynamic memory, structs and files safely in C.

Week 4: Loops and tracing

Theory
  • for, while and do-while
  • Nested loops and patterns
  • Trace tables
Lab
Print multiplication tables, digit sums and patterns; trace each loop on paper before running it.
Homework
Compute the average of marks until -1 is entered.
Deliverable
Loop programs with trace tables.
Weekly checkpoint
Predict loop output; find an off-by-one error.
You will be able to
Write and trace structured C programs using variables, decisions, loops, functions and arrays. Use pointers, dynamic memory, structs and files safely in C.

Week 5: Functions and recursion

Theory
  • Parameters, return values and scope
  • Pass by value
  • Recursion: factorial and Fibonacci
Lab
Split the bill program into functions and test each; write recursive factorial and trace the call stack.
Homework
Write isPrime and list primes up to 100.
Deliverable
Modular program with function tests.
Weekly checkpoint
Predict output when a function modifies a parameter.
You will be able to
Write and trace structured C programs using variables, decisions, loops, functions and arrays. Use pointers, dynamic memory, structs and files safely in C.

Week 6: Arrays and strings

Theory
  • One- and two-dimensional arrays
  • Strings and the null terminator
  • Linear search and bubble sort
Lab
Compute statistics for 10 marks, search for a value, reverse a string and show each pass of a bubble sort.
Homework
Write a program that counts words in a sentence.
Deliverable
marks.c with sorting trace.
Weekly checkpoint
Find an out-of-bounds bug; trace a sort pass.
You will be able to
Write and trace structured C programs using variables, decisions, loops, functions and arrays. Use pointers, dynamic memory, structs and files safely in C.

Week 7: Pointers and dynamic memory

Theory
  • Addresses, & and *
  • Pointers and arrays
  • malloc, free and leaks
Lab
Write swap(), walk an array with a pointer and allocate an array of n marks with malloc; run with AddressSanitizer.
Homework
Draw memory diagrams for three of your programs.
Deliverable
pointers.c and a sanitizer-clean dynamic array.
Weekly checkpoint
Predict pointer output; spot use-after-free.
You will be able to
Use pointers, dynamic memory, structs and files safely in C.

Week 8: Structures, files and C mini-project

Theory
  • struct and arrays of struct
  • Text file read and write
  • Checking fopen for NULL
  • Debugging with gdb basics
Lab
Build the Student Marks Manager: struct records, menu, save and load from a text file, plus a test table of at least eight cases.
Homework
Fix three bugs found by a classmate's review.
Deliverable
C mini-project with test table, in Git.
Weekly checkpoint
Assessment 1: C programming theory and a short practical test.
You will be able to
Use pointers, dynamic memory, structs and files safely in C.
C++ and object-oriented design Weeks 9–14

Week 9: From C to C++

Theory
  • cin/cout, namespaces and references
  • std::string and std::vector
  • Function overloading and default arguments
Lab
Port two earlier C programs to C++ using string and vector, and explain each improvement.
Homework
Write a reference-parameter version of swap.
Deliverable
Two ported programs in Git.
Weekly checkpoint
Predict output with references; compare C and C++ strings.
You will be able to
Model problems with C++ classes, inheritance, templates, the STL and smart pointers.

Week 10: Classes, objects and encapsulation

Theory
  • Classes, constructors and destructors
  • private/public members
  • const methods and member initialiser lists
Lab
Create a Student class with a validating constructor and display(); store objects in a vector and sort them by marks.
Homework
Add a Book class with title, author and availability.
Deliverable
Student and Book classes with tests.
Weekly checkpoint
Read a class and predict output; explain encapsulation.
You will be able to
Model problems with C++ classes, inheritance, templates, the STL and smart pointers.

Week 11: Inheritance and polymorphism

Theory
  • Base and derived classes
  • virtual functions and abstract classes
  • Composition versus inheritance
Lab
Model Shape, Circle and Rectangle with a virtual area() and print areas through a vector of base pointers.
Homework
Design a Vehicle hierarchy and justify inheritance versus composition.
Deliverable
Shape hierarchy with notes.
Weekly checkpoint
Predict which virtual function runs.
You will be able to
Model problems with C++ classes, inheritance, templates, the STL and smart pointers.

Week 12: Templates and the STL

Theory
  • vector, map, set and unordered_map
  • Algorithms and lambdas
  • Function and class templates
Lab
Count word frequencies with unordered_map, sort the results with a lambda and write a template Stack<T>.
Homework
Choose containers for three scenarios and justify them.
Deliverable
Word-frequency program and Stack<T>.
Weekly checkpoint
Pick a container; read a template.
You will be able to
Model problems with C++ classes, inheritance, templates, the STL and smart pointers.

Week 13: RAII, smart pointers and exceptions

Theory
  • unique_ptr and shared_ptr
  • RAII and the rule of zero
  • try, catch and throw in C++
Lab
Refactor a raw-pointer program to unique_ptr and add exception handling for bad input and file errors.
Homework
List bugs that smart pointers prevent.
Deliverable
Refactored program with a clean sanitizer run.
Weekly checkpoint
Explain why a unique_ptr copy fails.
You will be able to
Model problems with C++ classes, inheritance, templates, the STL and smart pointers.

Week 14: C++ mini-project: Library manager

Theory
  • Class design and responsibilities
  • File persistence with fstream
  • Code review
Lab
Build a library manager with Book and Member classes, file persistence and menu; review a classmate's code with a checklist.
Homework
Write five test cases for issuing and returning a book.
Deliverable
C++ mini-project in Git with review notes.
Weekly checkpoint
Assessment 2: C++ practical and viva.
You will be able to
Model problems with C++ classes, inheritance, templates, the STL and smart pointers.
Python programming Weeks 15–21

Week 15: Python basics

Theory
  • Running scripts and virtual environments
  • Variables, types and f-strings
  • Conditions, loops and indentation
Lab
Set up a virtual environment, write a marks-to-grade script and a loop that prints a multiplication table.
Homework
Port a C program from week 2 to Python and compare.
Deliverable
Three scripts in Git.
Weekly checkpoint
Predict Python output; explain indentation.
You will be able to
Write Python scripts and modules using collections, files, exceptions, classes and pytest.

Week 16: Functions and modules

Theory
  • Functions, default and keyword arguments
  • Modules and the standard library
  • Docstrings and naming
Lab
Create a billing module with functions for GST, discount and total, and import it from a main script.
Homework
Add docstrings and check names against a style guide.
Deliverable
billing.py module.
Weekly checkpoint
Read a function and predict results; scope questions.
You will be able to
Write Python scripts and modules using collections, files, exceptions, classes and pytest.

Week 17: Lists, tuples, dictionaries and sets

Theory
  • Lists and slicing
  • Dictionaries and sets
  • Comprehensions
Lab
Process a list of student records: filter, sort, group by class using a dictionary and compute averages with comprehensions.
Homework
Solve three data-cleaning exercises on messy lists.
Deliverable
Data-processing script with explanation.
Weekly checkpoint
Choose a data structure; predict slicing results.
You will be able to
Write Python scripts and modules using collections, files, exceptions, classes and pytest.

Week 18: Files, CSV, JSON and exceptions

Theory
  • Reading and writing text files
  • csv and json modules
  • try/except and raising errors
Lab
Read a CSV of invoices, skip bad rows with logged errors and write a JSON summary of totals.
Homework
Handle a missing file and an empty file gracefully.
Deliverable
Invoice summarizer.
Weekly checkpoint
Debug a ZeroDivisionError; order file-handling steps.
You will be able to
Write Python scripts and modules using collections, files, exceptions, classes and pytest.

Week 19: Object-oriented Python

Theory
  • Classes, __init__ and methods
  • Dataclasses
  • Inheritance and special methods
Lab
Model Product, Customer and Invoice classes with validation and a __str__ method.
Homework
Compare the same class in C++ and Python.
Deliverable
Invoice model classes.
Weekly checkpoint
Predict output of class code; read a dataclass.
You will be able to
Write Python scripts and modules using collections, files, exceptions, classes and pytest.

Week 20: Packages, automation and data handling

Theory
  • pip, requirements.txt and virtual environments
  • datetime and pathlib
  • Command-line arguments with argparse
Lab
Write a command-line tool that renames files by date and generates a monthly spending report from a CSV.
Homework
Package the tool with a README and requirements.txt.
Deliverable
CLI tool in Git.
Weekly checkpoint
Choose the right library for a task.
You will be able to
Write Python scripts and modules using collections, files, exceptions, classes and pytest.

Week 21: Python mini-project with pytest

Theory
  • Project structure
  • pytest basics
  • Fixtures and test data
Lab
Build an expense tracker CLI with at least ten pytest tests including edge cases.
Homework
Increase test coverage on the riskiest function.
Deliverable
Expense tracker with passing tests.
Weekly checkpoint
Assessment 3: Python practical test.
You will be able to
Write Python scripts and modules using collections, files, exceptions, classes and pytest.
Core Java Weeks 22–29

Week 22: Java setup and syntax

Theory
  • JDK, JVM and bytecode
  • Types, operators and control flow
  • Scanner input
Lab
Install JDK 17 or 21 and an IDE; write the GST bill program in Java and compare it with the C and Python versions.
Homework
Write a grade program using switch.
Deliverable
Java bill and grade programs.
Weekly checkpoint
Explain compile versus run; predict casting results.
You will be able to
Design and build object-oriented Java programs with exceptions, collections and JUnit tests.

Week 23: Arrays, strings and methods

Theory
  • Arrays and 2D arrays
  • String and StringBuilder
  • Methods and overloading
Lab
Compute marks statistics, count vowels and write overloaded add methods.
Homework
Write a palindrome checker.
Deliverable
Array and string programs.
Weekly checkpoint
Find an index bug; predict String output.
You will be able to
Design and build object-oriented Java programs with exceptions, collections and JUnit tests.

Week 24: Classes and encapsulation

Theory
  • Fields, constructors and this
  • private fields and getters
  • static and final
Lab
Create Student and Account classes with validation and a static counter.
Homework
Draw a class diagram.
Deliverable
Classes with a diagram.
Weekly checkpoint
Class versus object; predict static output.
You will be able to
Design and build object-oriented Java programs with exceptions, collections and JUnit tests.

Week 25: Inheritance, interfaces and polymorphism

Theory
  • extends, super and overriding
  • Abstract classes and interfaces
  • Polymorphism and instanceof
Lab
Build an Employee hierarchy with an interface Payable and print salaries through a List<Payable>.
Homework
Give one example where composition beats inheritance.
Deliverable
Payroll hierarchy.
Weekly checkpoint
Match OOP ideas; predict which override runs.
You will be able to
Design and build object-oriented Java programs with exceptions, collections and JUnit tests.

Week 26: Exceptions and validation

Theory
  • Checked and unchecked exceptions
  • try, catch, finally, try-with-resources
  • Custom exceptions
Lab
Add robust validation and custom exceptions to the billing input program.
Homework
Review earlier labs for missing error handling.
Deliverable
Robust input program.
Weekly checkpoint
Predict try/catch/finally output.
You will be able to
Design and build object-oriented Java programs with exceptions, collections and JUnit tests.

Week 27: Collections and generics

Theory
  • ArrayList, HashMap and HashSet
  • Generics
  • Comparable and Comparator
Lab
Manage customers in a HashMap keyed by email; sort and filter them.
Homework
Choose collections for three scenarios.
Deliverable
Customer manager.
Weekly checkpoint
Pick a collection; spot a generics error.
You will be able to
Design and build object-oriented Java programs with exceptions, collections and JUnit tests.

Week 28: Files, lambdas and dates

Theory
  • Files and BufferedReader
  • Lambdas and streams basics
  • LocalDate
Lab
Load members from CSV, filter with streams and compute due dates with LocalDate.
Homework
Write a daily report to a file.
Deliverable
CSV loading module.
Weekly checkpoint
Order the steps of a safe file read.
You will be able to
Design and build object-oriented Java programs with exceptions, collections and JUnit tests.

Week 29: Java mini-project with JUnit

Theory
  • JUnit 5 basics
  • Test-case design and boundary values
  • Packaging a JAR
Lab
Build a Library Management console app with at least eight JUnit tests including late-fee boundaries.
Homework
Write a README and test report.
Deliverable
Library app with tests.
Weekly checkpoint
Assessment 4: Java practical and viva.
You will be able to
Design and build object-oriented Java programs with exceptions, collections and JUnit tests.
Data structures and algorithms Weeks 30–33

Week 30: Complexity, searching and sorting

Theory
  • Big-O notation
  • Binary search and its precondition
  • Insertion sort and merge sort
Lab
Implement binary search and two sorts in Python or Java and time them on 10,000 and 100,000 numbers.
Homework
Explain why binary search fails on unsorted data.
Deliverable
Timing table and conclusions.
Weekly checkpoint
Match algorithms to complexities.
You will be able to
Implement and compare core data structures and algorithms using Big-O reasoning.

Week 31: Linked lists, stacks and queues

Theory
  • Singly linked list
  • Stack and queue
  • Bracket matching and undo
Lab
Implement a linked list, a stack and a queue and use the stack to check balanced brackets.
Homework
Reverse a linked list and draw the pointers.
Deliverable
Data-structure module with tests.
Weekly checkpoint
Order pointer updates; choose stack or queue.
You will be able to
Implement and compare core data structures and algorithms using Big-O reasoning.

Week 32: Hash tables and trees

Theory
  • Hashing and collisions
  • Binary search tree
  • Tree traversals
Lab
Implement a simple hash table with chaining and a BST with in-order traversal.
Homework
Draw the BST for a given insertion order.
Deliverable
Hash table and BST with tests.
Weekly checkpoint
Trace BST insertion; explain collisions.
You will be able to
Implement and compare core data structures and algorithms using Big-O reasoning.

Week 33: Graphs and problem solving

Theory
  • Graph representation
  • BFS and DFS
  • Choosing the right data structure
Lab
Model a bus-route map as a graph and find the fewest-stops route with BFS.
Homework
Solve three problems and justify the data structure for each.
Deliverable
Route finder program.
Weekly checkpoint
Assessment 5: data structures and algorithms test.
You will be able to
Implement and compare core data structures and algorithms using Big-O reasoning.
Databases with SQL and MySQL Weeks 34–38

Week 34: Relational model and MySQL basics

Theory
  • Tables, keys and data types
  • Installing MySQL and using a client
  • CREATE, INSERT, UPDATE and DELETE
Lab
Install MySQL, create a shop database with products and customers, and insert sample data.
Homework
Write down primary and foreign keys for your design.
Deliverable
schema.sql and seed data.
Weekly checkpoint
Choose keys and data types.
You will be able to
Design a normalised MySQL schema, write joins and aggregates and access it safely from code.

Week 35: Querying data

Theory
  • SELECT, WHERE and ORDER BY
  • Aggregate functions and GROUP BY
  • HAVING and LIMIT
Lab
Write fifteen queries for sales reports: totals per product, top five customers and monthly totals.
Homework
Add three business questions and queries.
Deliverable
Query sheet with results.
Weekly checkpoint
Predict GROUP BY output.
You will be able to
Design a normalised MySQL schema, write joins and aggregates and access it safely from code.

Week 36: Joins and subqueries

Theory
  • INNER and LEFT JOIN
  • Subqueries
  • Views
Lab
Write join queries across customers, orders and order_items; find customers without orders.
Homework
Create a view for monthly revenue.
Deliverable
Join exercises and a view.
Weekly checkpoint
Pick the correct join type.
You will be able to
Design a normalised MySQL schema, write joins and aggregates and access it safely from code.

Week 37: Database design and integrity

Theory
  • Normalisation to third normal form
  • Constraints and indexes
  • Transactions
Lab
Normalise a messy spreadsheet of invoices, create the tables with constraints and test a transaction with rollback.
Homework
Add an index and compare query plans using EXPLAIN.
Deliverable
Normalised design with ER diagram.
Weekly checkpoint
Spot normalisation problems.
You will be able to
Design a normalised MySQL schema, write joins and aggregates and access it safely from code.

Week 38: Using a database from code

Theory
  • Parameterised queries
  • Python MySQL connector or JDBC
  • Avoiding SQL injection
Lab
Connect your Python or Java billing code to MySQL using parameterised queries and demonstrate how an injection attempt fails.
Homework
Add a function that returns a sales report.
Deliverable
Code connected to MySQL.
Weekly checkpoint
Assessment 6: SQL practical and design review.
You will be able to
Design a normalised MySQL schema, write joins and aggregates and access it safely from code.
Git and testing Weeks 39–40

Week 39: Git and collaboration

Theory
  • Commits, branches, merging and conflicts
  • Pull requests and code review
  • .gitignore and secrets
Lab
Work in pairs: create feature branches, cause and resolve a conflict, open pull requests and review each other's code.
Homework
Write a team branching convention.
Deliverable
Pair repository with PR history.
Weekly checkpoint
Order a feature-branch workflow.
You will be able to
Use Git branching, pull requests and code review in a team workflow, and design effective tests.

Week 40: Testing and debugging strategy

Theory
  • Unit tests and test-case design
  • Mocks and test data
  • Systematic debugging
Lab
Write pytest or JUnit tests for the billing module including edge cases and mocks for the database.
Homework
Find and fix two seeded bugs by writing failing tests first.
Deliverable
Test suite with coverage notes.
Weekly checkpoint
Choose boundary tests.
You will be able to
Use Git branching, pull requests and code review in a team workflow, and design effective tests.
Web APIs Weeks 41–42

Week 41: HTTP, JSON and REST

Theory
  • HTTP requests and responses
  • JSON and status codes
  • REST principles and tools
Lab
Call a public API and your own sample endpoint with curl or Postman and read the headers, status codes and JSON.
Homework
Design the API for the capstone with URLs and methods.
Deliverable
API design sheet.
Weekly checkpoint
Match status codes and methods.
You will be able to
Build and consume a REST API with JSON and correct status codes.

Week 42: Building a REST API

Theory
  • Flask or Spring Boot basics
  • Routing, validation and errors
  • Connecting the API to MySQL
Lab
Build a product API with GET, POST, PUT and DELETE, validation and JSON errors, connected to MySQL.
Homework
Test each endpoint and document it.
Deliverable
Working API in Git.
Weekly checkpoint
Assessment 7: API practical test.
You will be able to
Build and consume a REST API with JSON and correct status codes.
AI-assisted coding Weeks 43

Week 43: AI-assisted coding with review

Theory
  • Writing clear prompts with context
  • Reviewing and testing generated code
  • Security, privacy and licensing
  • Keeping an AI-assistance log
Lab
Ask an AI assistant to write a billing function, then review it line by line, add edge-case tests, fix its mistakes and record what you verified.
Homework
Write your team rules for using AI tools responsibly.
Deliverable
AI log with reviewed and tested code.
Weekly checkpoint
Identify faults in generated code.
You will be able to
Review, test and responsibly use AI-generated code and keep an assistance log.
Capstone project Weeks 44–48

Week 44: Capstone: requirements and design

Theory
  • User stories and requirements
  • ER diagram and API plan
  • Sprint planning
Lab
Write requirements, an ER diagram, an API list and a sprint plan; create the repository with branches and a README.
Homework
Review a classmate's design and give written feedback.
Deliverable
Design document in the repository.
Weekly checkpoint
Design review with the trainer.
You will be able to
Deliver a tested, version-controlled capstone application with documentation and a demo.

Week 45: Capstone: sprint 1

Theory
  • Database implementation
  • Core features
  • Daily stand-up habits
Lab
Implement the schema, products and customer features with tests, using feature branches and pull requests.
Homework
Fix review comments and update the plan.
Deliverable
Working core features.
Weekly checkpoint
Sprint 1 review.
You will be able to
Deliver a tested, version-controlled capstone application with documentation and a demo.

Week 46: Capstone: sprint 2

Theory
  • Billing and GST
  • Reports
  • Error handling
Lab
Implement billing with 18% GST and the daily sales report; add API tests for four endpoints.
Homework
Write a list of known issues.
Deliverable
Feature-complete build.
Weekly checkpoint
Sprint 2 review.
You will be able to
Deliver a tested, version-controlled capstone application with documentation and a demo.

Week 47: Capstone: testing, review and documentation

Theory
  • Bug triage
  • Code review
  • Documentation
Lab
Fix defects found by testing, run a peer code review and finalise README and API documentation.
Homework
Prepare the demo script.
Deliverable
Release candidate with documentation.
Weekly checkpoint
Quality checkpoint.
You will be able to
Deliver a tested, version-controlled capstone application with documentation and a demo.

Week 48: Capstone: demo, viva and retrospective

Theory
  • Presenting work
  • Answering technical questions
  • Retrospective
Lab
Present a five-minute demo, answer questions about design choices, tests and your AI log, and write a retrospective.
Homework
Update your portfolio repository.
Deliverable
Final capstone submission.
Weekly checkpoint
Final viva and capstone assessment.
You will be able to
Deliver a tested, version-controlled capstone application with documentation and a demo.

Sample lessons

Week 4

Loops and trace tables

A loop repeats a block of code while a condition is true. Before running a loop on the computer, you can run it on paper with a trace table: one row per repetition, one column per variable. Tracing is the fastest way to understand a loop and to find off-by-one mistakes, such as running one time too many or too few.

  1. 1Check the condition
  2. 2Run the loop body
  3. 3Update the variable
  4. 4Repeat or exit

Step by step

  1. Write the loop and list its variables: start value, condition, update.
  2. Draw a table with a column for each variable and for the output.
  3. Fill one row per repetition, updating the variables exactly as the code does.
  4. Stop when the condition becomes false and note the final values.
  5. Run the program and compare its output with your table.

In real life

A shop assistant adds the prices of 5 items on a bill one by one. A loop does the same: it repeats "add next price" until all 5 items are done.

Worked example

Problem. Trace: int sum = 0; for (int i = 1; i <= 4; i++) { sum = sum + i; } What is sum at the end?

Solution. i=1: sum=1; i=2: sum=3; i=3: sum=6; i=4: sum=10; then i=5 fails the condition i <= 4. Final sum is 10.

Common mistakes

  • Using <= when < is needed (or the reverse), giving one repetition too many or too few.
  • Forgetting to update the loop variable, which creates an infinite loop.
  • Changing the loop variable inside the body without meaning to.

Try it yourself

  • Trace for (int i = 10; i > 0; i -= 3) and list the values of i.
  • Write a loop that prints the table of 7 up to 10 times, then trace the first three rows.
  • Find the bug: for (int i = 1; i <= 5; i--) { printf("%d", i); }

Week 7

Pointers: addresses and values

Every variable lives at an address in memory. A pointer is a variable that stores such an address. The & operator gives the address of a variable and the * operator reads or writes the value at an address. Pointers let a function change the caller's variables and are the basis of arrays, strings and dynamic data structures in C.

  1. Variable x holds 5
  2. Address of x, for example 0x7ffe10
  3. Pointer p holds that address
  4. *p reads or writes x

Step by step

  1. Declare int x = 5; and print x and &x.
  2. Declare int *p = &x; and print p and *p.
  3. Change the value with *p = 9; and print x again.
  4. Write void swap(int *a, int *b) and call it as swap(&m, &n).
  5. Draw boxes for x and p with an arrow from p to x.

In real life

A courier needs a delivery address, not the house itself. A pointer is that address; following it (dereferencing) reaches the real house.

Worked example

Problem. int a = 4, b = 9; swap(&a, &b); What are a and b if swap exchanges the values through pointers?

Solution. swap receives the addresses of a and b and exchanges the values stored there, so a becomes 9 and b becomes 4.

Common mistakes

  • Using a pointer before it points to valid memory (uninitialised pointer).
  • Confusing p (the address) with *p (the value at the address).
  • Passing x instead of &x to a function that expects a pointer.

Try it yourself

  • Predict the output: int x = 3; int *p = &x; *p = *p + 2; printf("%d", x);
  • Write a function that doubles a number in place using a pointer.
  • Draw the memory picture for int arr[3] and a pointer to arr[1].

Week 24

Classes, objects and encapsulation in Java

A class describes what an object has (fields) and what it can do (methods). An object is one concrete instance created with new. Encapsulation means keeping fields private and exposing only the methods that keep the object valid, for example a BankAccount that refuses a negative deposit. A constructor sets the object up with valid starting values.

Public fields

  • Any code can set marks = 500
  • Rules are scattered

Private fields + methods

  • Only valid values get in
  • Rules live in one place

Step by step

  1. Create class Student with private String name and private int marks.
  2. Write a constructor that rejects marks below 0 or above 100.
  3. Add getters and a method grade() that returns "A", "B" or "C".
  4. In main, create two Student objects and print their grades.
  5. Add toString() so printing a Student shows readable text.

In real life

A bank counter does not let customers reach into the vault. They ask the teller (a method) who checks the rules first.

Worked example

Problem. Why is making marks private better than a public field?

Solution. With a private field, the only way to change marks is through a method that can check 0-100. A public field could be set to 500 by any code.

Common mistakes

  • Making every field public.
  • Forgetting this. when a parameter has the same name as a field.
  • Comparing objects with == instead of equals.

Try it yourself

  • Add a method that returns true when the student has passed (35 or more).
  • Create an array of 3 Student objects and print the class average.
  • Explain what happens to marks if no constructor check exists.

Week 36

SQL joins for real reports

Relational databases keep data in separate tables to avoid repetition: customers in one table, orders in another. A join connects them using a key, usually a primary key in one table and a foreign key in the other. INNER JOIN keeps only matching rows; LEFT JOIN keeps every row from the left table even when there is no match, which is how you find customers who have never ordered.

customers.idnameorders.customer_idamount
1Anu1500
1Anu1200
2Ravi2300
3MeenaNULLNULL

Step by step

  1. Create customers(id, name) and orders(id, customer_id, amount).
  2. Insert three customers and four orders; leave one customer without orders.
  3. Write SELECT c.name, o.amount FROM customers c INNER JOIN orders o ON o.customer_id = c.id;
  4. Change it to LEFT JOIN and notice the extra row with NULL.
  5. Add GROUP BY c.name and SUM(o.amount) to produce a total per customer.

In real life

A shop keeps a customer register and a separate bill book. To see what each customer bought, you match the customer number written on each bill with the register.

Worked example

Problem. Customers: Anu, Ravi, Meena. Orders: Anu 500, Anu 200, Ravi 300. Which query lists customers with no orders?

Solution. SELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL; It returns Meena.

Common mistakes

  • Forgetting the ON condition, which produces every combination of rows.
  • Using INNER JOIN when the unmatched rows are exactly what you need.
  • Selecting columns with the same name from two tables without aliases.

Try it yourself

  • Write a query that shows each customer and the number of orders (0 included).
  • Find the customer with the highest total spend.
  • Explain why a foreign key helps data quality.

Try the questions

The same skills are asked at three levels: School (Classes 6–12), College and Professional. Switch the level and the language (English or Tamil), and say how sure you are before you check: knowing what you are unsure about is part of learning.

Classes 6–12: everyday examples, no prior knowledge. Practice only. Nothing here is graded or saved.

Question 1 / 13 · Order the steps of an algorithm

Put the steps of making tea in a sensible order. A clear list of steps like this is called an algorithm.

  1. 1Understand the problem
  2. 2Write the steps (algorithm)
  3. 3Write the code
  4. 4Test and fix
  1. Boil the water
  2. Add sugar
  3. Add tea powder and milk
  4. Serve hot
  5. Strain the tea into a cup
How sure are you?

Projects

Student Marks Manager (C with a C++ class version)

A tuition centre in Madurai records marks for 5 subjects per student on paper. Build a console program in C that stores student records, calculates totals and averages, assigns grades, saves everything to a text file and loads it again. Then rewrite the Student record as a C++ class.

Tasks

  1. Define a struct Student with roll number, name and five marks, and keep an array of students.
  2. Write functions for add, list, search by roll number, total/average and grade.
  3. Save all records to students.txt and load them when the program starts, handling a missing file.
  4. Write a test table with at least 8 inputs, including boundary marks such as 0, 34, 35 and 100.
  5. Rewrite Student as a C++ class with private data, a constructor with validation and a display() method.

Sample input

Roll 101, Name Anu, Marks 78 82 91 67 74

Expected output

Anu: total 392, average 78.4, grade B. The record is present again after restarting the program.

How it is assessed

CriterionWeight
Correct calculations and grades25%
Functions, structs and arrays used cleanly20%
File save/load with error handling20%
Test table and debugging evidence20%
C++ class conversion and readability15%

Stretch challenge: Add sorting by average and a menu option that lists the top three students.

Capstone: Small-Business Inventory and Billing System

Design and build a complete application for a small shop: manage products and stock, create bills with 18% GST, record customers and report daily sales. Build a backend with an API and a MySQL database in Python (Flask) or Java (Spring Boot), version it with Git and cover the main rules with automated tests. Any AI assistance must be reviewed and logged.

Tasks

  1. Write requirements and user stories, an ER diagram, an API list and a sprint plan in the repository.
  2. Create the MySQL schema with keys, constraints and an index, plus seed data.
  3. Implement products, customers, billing and the daily sales report with validation and error handling.
  4. Write unit tests for billing rules and API tests for at least four endpoints, covering edge cases.
  5. Use feature branches and pull requests; keep an AI-assistance log listing what was generated and how you verified it.
  6. Prepare a README, a 5-minute demo and a short retrospective.

Sample input

Bill: 2 x Notebook at ₹50, 1 x Pen pack at ₹120 for customer 7

Expected output

Bill total ₹220 + 18% GST (₹39.60) = ₹259.60; stock is reduced; the daily report includes this bill.

How it is assessed

CriterionWeight
Requirements, design and database quality20%
Working features and correct rules25%
Testing and debugging evidence20%
Git workflow and code quality15%
Demo, documentation and responsible AI log20%

Stretch challenge: Add a simple web page that calls your API, or export the daily report as a CSV file.

How you are assessed

Each week: five short questions (code reading, output prediction, debugging or scenario items), a lab committed to Git and a two-line reflection. Seven checkpoint assessments (weeks 8, 14, 21, 29, 33, 38, 42) combine a theory paper with a practical.

Practical work. Practical assessments on the learner's own code across languages and a capstone assessed on working features, tests, Git history, an AI-assistance log and a viva.

What trainers look forWeight
Working, correct code30%
Testing and debugging20%
Design and data modelling15%
Git workflow and code review15%
Documentation, demo and responsible AI use20%

Where this can lead

  • Prepares you for junior software developer, programmer and trainee engineer tasks across C/C++, Python and Java.
  • Gives you a Git-hosted capstone and mini-projects you can walk through in technical interviews.
  • Builds the testing, database and API skills needed for entry-level backend work.

These describe skills you will build. ADIVAS does not guarantee jobs, placement or salary.