Introduction to Java Covers the basics of Java, its platform independence, and setting up the development environment (JDK, IDEs).
Data Types and Variables Teaches primitive data types, variables, constants, and their declaration with scope and initialization.
Operators in Java Discusses arithmetic, logical, relational, bitwise, and assignment operators with practical usage examples.
Control Statements Covers conditional statements like if, else, switch and loops (for, while, do-while) for control flow.
Arrays and Strings Introduces arrays (single/multi-dimensional) and string handling using the String class and its methods.
Object-Oriented Programming (OOP) Concepts Explains classes, objects, and the core principles of OOP—encapsulation, inheritance, polymorphism, and abstraction.
Constructors in Java Describes how to use constructors to initialize objects, including default and parameterized constructors.
Inheritance Teaches class inheritance to reuse code and introduces super and this keywords for referencing.
Polymorphism and Overloading Covers method overloading and overriding, allowing functions to behave differently based on input or subclass.
Abstraction and Interfaces Explains abstract classes, methods, and interfaces to build loosely coupled designs.
Encapsulation Covers data hiding with private members and how to use getters and setters to access them.
Java Packages and Access Modifiers Teaches how to organize code using packages and control access levels with public, private, protected, and default access.
Exception Handling Explains try, catch, finally, throw, and throws for managing runtime errors gracefully.
Multithreading and Concurrency Covers creating threads, the Runnable interface, and thread synchronization for concurrent programming.
Java Collections Framework Introduces lists, sets, maps, and queues, and teaches when to use each collection type.
Generics in Java Explains how to write reusable code with type-safe generics and generic methods.
File Handling in Java Covers reading from and writing to files using the File class, along with BufferedReader and BufferedWriter.
Java I/O Streams Explains input and output streams for handling byte and character data, including serialization.
Java Networking Introduces the basics of networking with Java, including sockets and URL connections for client-server communication.
Database Connectivity with JDBC Covers Java Database Connectivity (JDBC) to connect and interact with relational databases using SQL queries.
Lambda Expressions Teaches the use of lambda expressions for concise functional programming in Java 8 and beyond.
Functional Interfaces and Streams API Explores the Streams API and functional interfaces like Predicate and Consumer for data manipulation.
Annotations in Java Introduces annotations and how they provide metadata for code, with examples like @Override and custom annotations.
Java 8 Features Covers new features introduced in Java 8, such as default methods, optional class, and date/time API.
JavaFX for GUI Development Introduces the JavaFX library for building desktop applications with graphical interfaces.
Collections vs Arrays Compares the usage of arrays and collections, focusing on flexibility and memory efficiency.
Reflection API Explains how to use reflection to inspect classes, methods, and fields at runtime.
Serialization and Deserialization Teaches how to serialize objects into byte streams and deserialize them back into objects.
Java Memory Management Covers garbage collection, stack vs heap memory, and the lifecycle of objects in Java.
Inner Classes and Nested Classes Explores the usage of inner, static nested, and anonymous classes in Java.
Enums in Java Explains enumerations for defining constants with additional methods and attributes.
Java Assertions Teaches how to use assertions to validate assumptions during development.
Regular Expressions (Regex) Covers pattern matching using Java’s Pattern and Matcher
Java Security Introduces cryptography, encryption, and decryption using Java’s security libraries.
Java Design Patterns Explores common design patterns like Singleton, Factory, and Observer used in Java applications.
Java Modules (Java 9+) Covers modular programming with the introduction of modules in Java 9 for better code organization.
Java Native Interface (JNI) Teaches how to use JNI for calling native code written in languages like C/C++ from Java.
Building RESTful APIs with Java Explains how to develop RESTful services using frameworks like Spring Boot.
Unit Testing with JUnit Introduces unit testing using JUnit to ensure code correctness with automated tests.
Capstone Project Students will apply all concepts by building a complete Java application or system.