C/C++ foundations, Core Java, Python, SQL/MySQL, Git, testing and an application project with reviewed AI-assisted coding.
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
★
Student Marks Manager (C with a C++ class version)
Your project, reviewed by a trainer.
The ADIVAS mastery ladder: how each skill is recognised
Explored You have seen the idea and tried a first example.
Practising You can do it with hints and keep improving.
Proficient You complete the weekly practical task correctly on your own.
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.
1Check the condition
2Run the loop body
3Update the variable
4Repeat or exit
↻
Step by step
Write the loop and list its variables: start value, condition, update.
Draw a table with a column for each variable and for the output.
Fill one row per repetition, updating the variables exactly as the code does.
Stop when the condition becomes false and note the final values.
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.
Variable x holds 5
Address of x, for example 0x7ffe10
Pointer p holds that address
*p reads or writes x
Step by step
Declare int x = 5; and print x and &x.
Declare int *p = &x; and print p and *p.
Change the value with *p = 9; and print x again.
Write void swap(int *a, int *b) and call it as swap(&m, &n).
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
Create class Student with private String name and private int marks.
Write a constructor that rejects marks below 0 or above 100.
Add getters and a method grade() that returns "A", "B" or "C".
In main, create two Student objects and print their grades.
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.id
name
orders.customer_id
amount
1
Anu
1
500
1
Anu
1
200
2
Ravi
2
300
3
Meena
NULL
NULL
Step by step
Create customers(id, name) and orders(id, customer_id, amount).
Insert three customers and four orders; leave one customer without orders.
Write SELECT c.name, o.amount FROM customers c INNER JOIN orders o ON o.customer_id = c.id;
Change it to LEFT JOIN and notice the extra row with NULL.
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.
1Understand the problem
2Write the steps (algorithm)
3Write the code
4Test and fix
Boil the water
Add sugar
Add tea powder and milk
Serve hot
Strain the tea into a cup
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
Define a struct Student with roll number, name and five marks, and keep an array of students.
Write functions for add, list, search by roll number, total/average and grade.
Save all records to students.txt and load them when the program starts, handling a missing file.
Write a test table with at least 8 inputs, including boundary marks such as 0, 34, 35 and 100.
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
Criterion
Weight
Correct calculations and grades
25%
Functions, structs and arrays used cleanly
20%
File save/load with error handling
20%
Test table and debugging evidence
20%
C++ class conversion and readability
15%
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
Write requirements and user stories, an ER diagram, an API list and a sprint plan in the repository.
Create the MySQL schema with keys, constraints and an index, plus seed data.
Implement products, customers, billing and the daily sales report with validation and error handling.
Write unit tests for billing rules and API tests for at least four endpoints, covering edge cases.
Use feature branches and pull requests; keep an AI-assistance log listing what was generated and how you verified it.
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
Criterion
Weight
Requirements, design and database quality
20%
Working features and correct rules
25%
Testing and debugging evidence
20%
Git workflow and code quality
15%
Demo, documentation and responsible AI log
20%
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 for
Weight
Working, correct code
30%
Testing and debugging
20%
Design and data modelling
15%
Git workflow and code review
15%
Documentation, demo and responsible AI use
20%
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.
Other programmes in Programming & Software Development