Program

Backend with Java

Do you consider Backend as a serious step towards your future profession?

Have you ever wanted to study Java fundamentally? This course is designed for web developers who want to be experts in both algorithms and apps and websites server side. Students will study individually, in pairs and groups. There is no cold theory in the class and all the material is presented clearly, each student has practice and real cases ahead. The program includes the “Algorithms” module, which is taught only in specialized universities. As a result, our graduates will obtain programming languages, frameworks and their derivatives. The tuition fee for the specialty Backend with Java is 1850 AZN.

Application to the program is currently not active
Start date

June 2022

Duration

4 month

Group size

25-30 students

Schedule

Tuesday from 19:00 to 22:00; Saturday from 10:00 to 13:00

Admission requirements
Expectation

Readiness for intensive training

Language skills

Knowledge of English at least Intermediate level

Requirement

To have a personal computer or a laptop

Age

18 years and older

Upon the course completion you will::

Be proficient in Java

Know Backend frameworks such as Spring IoC, Spring Security, Hibernate, Spring Data

Develop web interfaces and apps, manage sets and databases, test and scale programs

Program

Backend with Java
6

Number of modules

  • About Java. Classes, packages, main(). System.out. Variables, scope of visibility, primitive data types, null. Default values, type casting. Ascending vs descending type cast
  • Control structures: if-else / switch / ternary / unary operation. Logical operations: !, &&, ||. Scanner. Loops, generating pseudo-random values
  • Arrays. Working with strings
  • Methods in Java
  • Objects, Comparing objects, visibility modifiers, static
  • Enum, classloader, Java Memory model. Testing Java code
  • OOP basics, abstract classes. Interfaces
  • Collection API, Lists, generics
  • Set, Stack, Queue, Map
  • Comparator / Comparable, anonymous classes, internal classes, nested class, generics. Patterns: Controller-Service-DAO
  • Working with date and time. Date / time in Java 8+
  • Java 8+ - lambda, Stream API
  • Java 8+ - method / constructor reference, Optional, parallel. Exceptions
  • I/O - working with files
  • NIO, Serialization

  • Maven, HTTP, Server, Servlet API. Jetty server
  • Servlet API, Freemarker template, Annotations
  • JDBC, connection, statements. Relational databases. SQL basics
  • Creating database schema. ER-diagram. Keys, joins, relations
  • Grouping operations, nested queries
  • Views, stored procedures, triggers, indices, transactions, transaction isolation levels
  • Servlet filters, cookies, auth. HTTP session
  • Module recap, practice

  • Algorythm basics. Algorythm paradigms. Sorting algorithms. Merge sort, quick sort.
  • Bit operations
  • Recursion
  • Linked lists
  • Stack, Queue. Hash data structures
  • Binary Search
  • Trees
  • Graphs, search in graphs. BFS, DFS
  • Snake game introduction
  • Snake challenge
  • Spring Framework basics. Inversion of Control and Dependency Injection principles. Spring Beans
  • Spring Boot, Spring MVC
  • Spring MVC, REST API, Restful web service
  • Spring JDBC, H2
  • ORM basics. Hibernate
  • ORM basics. Hibernate
  • DTO pattern. DTO validation. Jackson. Lombok
  • Spring Data JPA
  • Paging and sorting, practice working with repositories
  • Testing Spring application
  • Spring Security
  • JWT token vs cookies. OAuth2.0. Logging
  • Spring AOP basics. Handling exceptions
  • Spring websockets
  • Multithreading introduction
  • Thread pools, executor services, Future. Locks
  • Completable future, ThreadLocal, Deadlock and Livelock. Java Memory Model
  • SCRUM, Agile basics
  • Final project intro
  • Final project sprint meetings
  • Final project presentation
  • What is entrepreneurship?
  • What is startup?
  • Ideation and team formation
  • Market research
  • Building the right product
  • Idea/product presentation