Classes 1–35
| Class | Topic | Description / Activities |
| 1 | Introduction to Java | Features, JDK/JRE/JVM, setup |
| 2 | Structure of a Java Program | main(), compiling, running |
| 3 | Data Types & Variables | int, float, boolean, constants |
| 4 | Operators | Arithmetic, relational, logical |
| 5 | Input/Output | Using Scanner, System.out.println |
| 6 | Conditional Statements | if, if-else, nested if |
| 7 | switch Statement | Multiple-choice logic |
| 8 | Loops (for) | Counting, summing |
| 9 | Loops (while, do-while) | Reverse, factorial, etc. |
| 10 | Practice Programs | Patterns, number games |
| 11 | Classes & Objects | Define and use classes |
| 12 | Methods & Constructors | Reuse code; overloading basics |
| 13 | this Keyword | Current object usage |
| 14 | Access Modifiers | public, private, protected |
| 15 | Encapsulation | Getters and setters |
| 16 | Inheritance | extends, super |
| 17 | Polymorphism (Overloading) | Same name, different parameters |
| 18 | Polymorphism (Overriding) | Redefining inherited methods |
| 19 | Abstraction | Abstract class and method |
| 20 | Interfaces | Multiple inheritance via interfaces |
| 21 | Arrays – 1D | Basics, traversal |
| 22 | Arrays – 2D | Matrices, nested loops |
| 23 | Strings | length(), substring(), concat() |
| 24 | StringBuilder | Efficient modifications |
| 25 | Exception Handling (try-catch) | Handling runtime errors |
| 26 | Custom Exceptions | throw, throws |
| 27 | Packages | Built-in and user-defined |
| 28 | Wrapper Classes | Integer, Double, Boolean |
| 29 | Autoboxing/Unboxing | Primitive ↔ Object conversions |
| 30 | Java API (Math, Date, Random) | Built-in classes |
| 31 | ArrayList | add, remove, print |
| 32 | LinkedList | Linked structure demo |
| 33 | HashMap | Key-value storage |
| 34 | HashSet | Unique elements |
| 35 | File Handling | Read/write text files, mini-project: Student record saver |
