This is an intermediate to advance level JAVA programming. It has been prepared for JAVA programmers who already have basic skills from university or self learning. Even though this course covers intermediate to advanced concepts our instructors simplify learning by guiding students through practical examples demonstrating on the job best practice and simplest solutions. The course is 100% “Hands On”! Practice makes perfect with proper guidance!

Audience profile

Students and young professionals who already have JAVA basic programming skills. The aim of this course is to take students to another level in order to advance their career in JAVA programming.


• Object Oriented Programming (Recap)
• Class inheritance
• Interfaces
• Object polymorphism
• Abstract classes
• Working with Files
• Reading Files using Scanner class
• Writing to Files using PrintWriter class
• Using Files in CSV format to manipulate the data of your application
• Streams And Functional Programming
• Handling collections as streams
• Working with lambda statements
• Get familiar with the most common stream methods
• The Comparable interface
• JDBC (Java DataBase Connectivity)
• Intro to basic SQL queries
• Make use of the JDBC API. Setting up a JDBC Connection
• Working with Statements and PreparedStatements to execute SQL queries
• Processing the ResultSet and show the queried data
• JUnit
• Writing unit tests for our application using JUnit framework
• Definition of a REST API
• HTTP intro. Main concepts: HTTP methods, request body, request headers, response
• Consuming a public REST API using Postman
• Maven & Git
• Maven introduction. The POM file
• Creating a new Java application with Maven
• Git introduction. Learn the basic git commands.
• Push an application to your Github account
• Spring Boot
• Spring Boot introduction
• Creating a new Spring Boot project using Spring Boot Initializr
• Your first Spring Boot application: Hello World
• Creating database Entities in your application
• Writing Controllers to handle HTTP requests
• Hibernate/JPA intro. Setting up an H2 database. Manipulate data of your entities using JpaRepositories
• Spring Security, securing your endpoints
• Implement a simple Register and Login functionality comfort to Basic Authentication standard


Basic JAVA programming