Session 1: Java Overview
Java language and platform fundamentals
Understanding the Java release cycle and LTS versions
The Java SE Development Kit (JDK)
Writing and running a simple Java program
Lab: Writing a “Hello World” application
Session 2: Object-Oriented Programming in Java
OOP concepts: classes, objects, inheritance, and polymorphism
Instantiating objects and managing references
Lab: Creating and using Java classes
Session 3: Java Classes and Encapsulation
Encapsulation and access control (public, private)
Constructors and object initialization
Lab: Implementing encapsulation and constructors
Session 4: Control Flow and Decision Structures
Using if, else, switch statements
Iteration with while, do-while, for loops
Lab: Implementing control flow logic
Session 5: Working with Strings, Arrays, and Dates
String handling and manipulation
Arrays and collection types
Java 8+ Date/Time API
Lab: Working with strings, arrays, and dates
Session 6: Java Packages and Modules
Organizing code with packages
Java module system (Java 9+)
Lab: Creating and using Java modules
Session 7: Advanced OOP - Composition and Inheritance
Composition vs. inheritance
Using abstract classes and interfaces
Lab: Implementing inheritance and polymorphism
Session 8: Java Interfaces
Defining and implementing interfaces
Default and static methods in interfaces
Lab: Using interfaces to remove dependencies
Session 9: Exception Handling
Understanding Java’s exception hierarchy
Using try-catch, finally, and multi-catch blocks
Lab: Handling exceptions effectively
Session 10: Java Collections and Generics
Overview of Java Collections Framework
Lists, Sets, Maps, and iterators
Lab: Using generics and collections effectively
Session 11: Database Access with JDBC and JPA
JDBC basics and database connectivity
Introduction to JPA (Java Persistence API)
Lab: Connecting Java applications to a database
Session 12: Java I/O Streams (Optional)
Reading and writing files
Understanding byte and character streams
Lab: Working with I/O streams
Session 13: Additional Java Features (Optional)
Lambda expressions and functional interfaces
Enhancements in Java 11-17
Lab: Exploring Java’s latest features
By the end of this course, participants will have a strong grasp of Java 17+ programming and be well-prepared to build robust, maintainable applications.