Lab projects

Six projects that grow with the course. Each lists the topics it practises and a checklist; your ticks are saved in this browser.

1. Student record manager

Uses topics 1–4

A console program that stores students (ID, name, CGPA) in an array of Student objects and offers a menu: add, list, search by ID, update CGPA, show the topper and sort by CGPA.

2. Bank with transactions and exceptions

Uses topics 4–6, 10

Accounts with deposit, withdraw and transfer. Every account gets an automatic number from a static counter. Withdrawing too much throws your own InsufficientFundsException.

3. Payroll with polymorphism

Uses topics 7–9

An abstract Employee with Salaried, Hourly and Commission subclasses, plus an Invoice class. Everything implements Payable, so one loop computes the total payout.

4. Threaded bank simulation

Uses topics 11

Several customer threads deposit and withdraw on shared accounts at random. First run it unsynchronized and show the lost updates; then fix it.

5. Big-number calculator

Uses topics 3, 12

A calculator for non-negative integers with hundreds of digits, stored as Strings: add, subtract, multiply and compare. Check your answers against BigInteger.

6. CGPA tracker with JavaFX and a database

Uses topics 13

A desktop app where a student enters courses, credits and grade points. Records are saved in a MySQL/SQLite table and the CGPA is recalculated and drawn as a bar chart on a Canvas.