EIEIOTECHNOVATION
← Training programmes

EIEIO / PROGRAMMING & DEVELOPMENT

Java Curriculum for Practical Application in Workspace (10 Days)

Course outline

5 days

Outline

  • 1. Java Basics

History and evolution of Java

Setting up the development environment (JDK, IDEs like Eclipse, database, etc.)

Writing and running a simple Java program

Java syntax and structure (classes, methods, and main method)

  • 2. Variables and Data Types

Primitive data types

Variables and constants

Type casting and type conversion

  • 3. Operators and Expressions

Arithmetic, relational, and logical operators

Operator precedence

Expressions and statements

  • 4. Control Flow Statements

Conditional statements (if, else, switch)

Looping constructs (for, while, do-while)

Break and continue statements

  • 5. Collections Framework

Introduction to collections (List, Set, Map)

ArrayList, LinkedList, HashSet, and HashMap

Iterators and enhanced for loop

  • 6. Exception Handling

Types of exceptions

Duration : 5 days

Course Outline :: Java Curriculum for Practical Application in Workspace::

Try-catch block

Throwing exceptions

Creating custom exceptions

  • 7. Java Database Connectivity (JDBC)

Introduction to JDBC

Connecting to a database

Executing SQL queries and updates

Handling ResultSet

  • 8. Multithreading and Concurrency

Introduction to threads

Creating and starting threads (Runnable and Thread classes)

Thread lifecycle and states

  • 9. Synchronization and Concurrency Utilities

Synchronized methods and blocks

Locks and ReentrantLocks

Executors framework

Concurrent collections (ConcurrentHashMap, CopyOnWriteArrayList)

  • 10. Java Input/Output (I/O)

Byte streams and character streams

File I/O operations

BufferedReader, BufferedWriter, FileReader, and FileWriter

  • 11. Introduction to OOP Concepts

Classes and objects

Fields and methods

Constructors

  • 12. Encapsulation and Access Modifiers

Private, protected, public, and default access

Packages and member access

Importing packages

Getters and setters

  • 13. Inheritance

Superclasses and subclasses

Course Outline :: Java Curriculum for Practical Application in Workspace::

Method overriding

The super keyword

Course Outline :: Java Curriculum for Practical Application in Workspace::

  • 14. Polymorphism

Method overloading

Runtime polymorphism (dynamic method dispatch)

Abstract classes and interfaces

  • 15. Generics

Introduction to generics

Generic classes and methods

Bounded types and wildcards

  • 16. Lambda Expressions and Functional Programming

Introduction to lambda expressions

Functional interfaces

Streams API and method references

  • 17. Serialization and Deserialization

Serializing objects

Deserializing objects

Transient keyword

  • 18. Networking in Java

Sockets and server sockets

TCP and UDP communication

URL and URLConnection classes

  • 19. Introduction to Java Annotations

What are annotations?

o Metadata in Java.

o Use cases: Documentation, compilation checks, runtime instructions.

How annotations work:

o Parsing by the compiler or runtime (Reflection API).

Commonly Used Built-In Annotations o Standard Annotations:

@Override: Ensures a method overrides a superclass method.

@Deprecated: Marks methods or classes as obsolete.

@SuppressWarnings: Suppresses compiler warnings.

o Meta-Annotations:

@Retention: Specifies the annotation's retention policy (SOURCE, CLASS,

RUNTIME).

Course Outline :: Java Curriculum for Practical Application in Workspace::

@Target: Specifies the applicable element (CLASS, METHOD, FIELD, etc.).

@Inherited: Enables inheritance of annotations.

Creating Custom Annotations o Declaring an annotation with @interface.

o Adding elements (optional parameters).

o Using default values for elements.

  • 20. Introduction to REST APIs

What is REST?

o RESTful principles (Statelessness, Resource-based, Uniform Interface).

HTTP Basics o Methods: GET, POST, PUT, DELETE.

o Status codes and their meaning.

REST vs. SOAP (Brief comparison)

  • 21. Building REST APIs in Java with Spring Boot

Creating a Basic REST API o Annotation Overview: @RestController, @RequestMapping, @GetMapping, etc.

o Developing endpoints (GET, POST, PUT, DELETE).

Introduction to Spring Data JPA o Setting up a database o Adding dependencies for Spring Data JPA.

o Creating an Entity and Repository.

o Using JpaRepository methods (e.g., save, findAll, findById).

Connecting REST API with JPA o Writing endpoints to interact with the database.

Returning and consuming JSON responses.

Phase 2: Code Walkthrough & Practical Java Programming (Week 2)

Duration: 5 Days

Focus:

Walkthrough of existing RPG code: This phase aims to bridge the gap between the current system (RPG) and Java.

A technical lead, along with the instructor, will walk trainees through the code, identifying critical parts to convert to Java in the next phase.

Trainees will be assigned a task to convert parts of the RPG code into Java.

They will work independently but have access to guidance from the technical lead.

Course Outline :: Java Curriculum for Practical Application in Workspace::

Learning Outcome:

Trainees will understand how to refactor and adapt existing code into a Java-based solution.

Verification:

At the end of the week, the technical lead will review the trainee’s work to ensure adherence to standards and successful application of Java concepts.

Additional notes:

  • 1. Phase 2 and 3 can be ran concurrently - while walking through RPG program, instructor will try to

map it to Java and participants will try to implement it.

  • 2. Class size: 15 pax (max)
  • 3. Duration for each phase is estimation.
  • 4. Tools required for training: JDK, Eclipse, Postman, PostgreSQL

Programme scope, delivery arrangements and suitability are confirmed during enquiry.