Description
Description
Fast Track to Java 17 and Object-Oriented Development is an intensive, hands-on course designed for programmers with prior coding experience (no Java knowledge required). This course provides a deep dive into Java fundamentals, object-oriented principles, and modern development practices.
Covering Java’s latest features, including Java 9+ module structures and enhancements in Java 11-17, participants will gain a solid understanding of Java programming and best practices for creating efficient, well-structured applications.
Training Objectives
- Participants will:
- Understand Java’s importance
- use cases
- strengths
- and weaknesses.
- Learn about the Java release cycle and Long-Term Support (LTS) versions.
- Master Java syntax and language fundamentals.
- Develop
- compile
- and execute Java applications.
- Use JShell (Java 9+) for interactive programming.
- Apply object-oriented programming (OOP) principles.
- Create well-structured Java classes with encapsulation
- inheritance
- and interfaces.
- Utilize composition and delegation in object creation.
- Organize and modularize code using packages and Java 9+ modules.
- Implement interfaces and abstraction techniques.
- Follow best practices for clean and maintainable Java code.
- Work with core Java libraries (java.lang
- java.util).
- Handle errors effectively with exceptions.
- Access databases using JDBC and JPA.
- Leverage Java Collections Framework and new API features from Java 9-11.
- Utilize type inference and other advanced Java 11-17 features.
- Explore basic I/O streams (optional topic).
Course Outline
- 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.




