Program

Backend (Java) online

With the Backend (Java) online Training Program, you will practically master both fundamental and advanced Java concepts, learn to write and optimize database queries using SQL, and build real backend applications and REST APIs with Spring Boot.

You will strengthen your engineering skills through multithreading and performance optimization techniques, and ultimately gain hands-on experience in testing, clean code practices, and deploying applications with Docker  preparing you for real-world work environments.

Apply
Start date

March 2026

Duration

6 months

Group size

10-15

Schedule

on Tuesday at 19:00-21:00 , on Saturday at 10:00-12:00

Admission requirements
Age

20 years and older

Language skills

Knowledge of English at least Intermediate level

Requirement

To have a personal computer or a laptop ; Strong motivation to learn programming, active participation in classes, and a disciplined approach to technical topics are required

Expectation

Readiness for intensive training

Upon the course completion you will::

Students will apply fundamental and advanced Java concepts in real-world projects, preparing them for professional backend development roles.

Through SQL and database knowledge, they will gain the ability to manage data efficiently, write optimized queries, and improve system performance.

By building real backend applications and REST APIs using Spring Boot, they will develop practical skills aligned with industry demands.

They will learn to design high-performance and scalable systems by mastering engineering concepts such as multithreading and concurrency.

By applying unit testing, debugging techniques, and clean code principles, they will be able to write high-quality, maintainable software.

Using Docker and modern development tools, they will gain hands-on experience in deploying applications and working in real-world project environments.

Program

Backend (Java) online
3

Number of modules

1. Java Platform Architecture

- JVM Architecture

- JRE vs JDK

- Java Compilation Flow (.java → .class → bytecode → execution)

2. Memory Management

- Stack vs Heap Memory

3. Language Fundamentals

- OOP Principles

- Encapsulation

- Inheritance

- Polymorphism

- Abstraction

- Interfaces vs Abstract Classes

- Pass byValue vs Reference Semantics in Java

4. Generics & TypeSystem

- Generic Classes and Methods

- Bounded Types

- Wildcards (? extends, ? super) Type Erasure

- Common Generic Pitfalls

5. Java Collections Framework

- Collection Hierarchy Overview

- List, Set,Queue, Map Interfaces

- ArrayList vs LinkedList

- equals(), hashCode() Contracts

- HashSet vs TreeSet

- HashMap vs ConcurrentHashMap

- Internal Working of HashMap (hashing, buckets, resizing)

- Fail-Fast vs Fail-Safe Iterators

- Custom Comparator & Comparable

6. Functional Programming in Java

- Lambda Expressions

- Functional Interfaces

- Stream API Intermediate vs Terminal Operations

- Parallel Streams

- Collectors

7. Multithreading & Concurrency

- Thread Lifecycle

- Runnable vs Callable

- Thread Safety Principles

- Synchronization

- synchronized

- Locks (ReentrantLock, ReadWriteLock)

- ExecutorService

- CompletableFuture

- Volatile Keyword Atomic Variables

- Deadlock, Livelock, Starvation

- Thread Pool Sizing Strategies

8. Garbage Collection

- Object Lifecycle

- Strong, Weak, Soft, Phantom References

- Memory Leaks in Java

- Garbage Collection Concepts

- Minor GC vs Major GC vs Full GC Stop-The-World

- GC Algorithms (Serial, Parallel, G1, ZGC)

- OutOfMemoryError Analysis

1. SQL Basics

- SELECT, INSERT, UPDATE, DELETE

- WHERE, AND / OR

- ORDER BY

- IN, EXISTS

2. Aggregation

- COUNT, SUM, AVG, MIN, MAX

- GROUP BY

- HAVING

3. Joins

- INNER JOIN

- LEFT / RIGHT JOIN

- FULL JOIN 

5. Constraints & Keys

- PRIMARY KEY

- FOREIGN KEY

- UNIQUE

- NOT NULL

6. Indexing

- Index 

- B-Tree index (concept)

7. Transactions

- BEGIN / COMMIT / ROLLBACK

- ACID

- Isolation levels (overview)

1. Spring Boot Fundamentals

- Spring vs Spring Boot

- Auto Configuration

- application.yml

2. JPA & Hibernate 

- ORM Concepts

- Entity Lifecycle

- @Entity, @Id, @GeneratedValue

- Relationships (@OneToMany, @ManyToOne, etc.)

- Fetch Types (LAZY vs EAGER)

- Cascade Types

- @Enumerated, @Embedded

- Dirty Checking

- First-Level Cache

- N+1 Problem & Solutions

3. Transactions & Locking

- @Transactional

- Propagation

- Isolation

- Optimistic Locking (@Version)

- Pessimistic Locking

4. Spring Data JPA

- JpaRepository

- Derived Queries

- JPQL vs Native Query

- Pagination & Sorting

- Projections

5. Web Layer (REST)

- @RestController

- CRUD APIs

- Request / Response Mapping

6. Validation & Exception Handling

- Bean Validation

- @ControllerAdvice

7. Testing & Monitoring (Overview)

- @SpringBootTest

- Actuator

- Unit Testing JUnit

- Mockito

- Service layer

- Repositorylayer

8. Docker və Containerization

  • - What is Docker

  • - Writing a Dockerfile

  • - Containerizing a Spring Boot application

  • - Using Docker Compose