- Algorithms
- First Project
- Syntax of the Java Programming Language
- Variables
- Basics of Debugging
- Basics of Classes, Objects, Methods
- Control Structures
- Static Data Structures
- Subroutines
- Introduction to Object-Oriented Programming (OOP)
- Constructors
- Access Control and Encapsulation
- Inheritance
- Composition
- Polymorphism
- Abstract Classes and Interfaces
- Working Environment and Application Programming Interface (API)
- Accuracy and Robustness of OO Programs – Exception Handling
- Working with Streams and Files
- Java Platform
- Unified Modeling Language (UML)
- Object-Oriented Software Design
- Complex Exercises for OOP Practice
- ER Model
- Relational Database Language
- Data Definition Language (DDL) of Relational Database Management System (DBMS)
- Data Manipulation Language (DML)
- Structured Query Language (SQL) Queries
- Views in SQL Language
- Architecture of Web Systems
- Principles of Client-Server Architecture
- Hypertext Transfer Protocol (HTTP)
- Representational State Transfer (REST) Architecture
- Spring and Functional Levels of Spring Applications
- Data Layer
- Object-Relational Mapping (ORM)
- Hibernate
- Repositories in Spring
- Hibernate and Spring
- Service layer in Spring
- Services for working with Database
- Services for working with Files
- Logging
- Services for working with Email Servers
- Editing Output Data
- JavaScript Object Notation - JSON
- Jackson Annotations
- Jackson and Spring - Serialization and Deserialization
- Working with HTTP Codes
- Data Transfer Objects (DTO)