Data începere

Seria 1 (maxim 10 cursanți) :

 Iulie 2020

Datele sunt estimative și pot suferi modificări minore.



8 săptămâni x 6 ore/săptămână = 48 ore

Cursurile se desfășoară de 2 ori pe săptămână:

Marți (3h)- 18:00 – 21:00

Vineri (3h)- 18:00 – 21:00

Taxă participare

1200 euro

Taxa acoperă toate costurile și poate fi achitată în 2 rate egale: prima la semnarea contractului și cea de-a doua în săptămâna 5 de curs.

Despre curs

Our first Java course is about fundamentals: computer science fundamentals and Java fundamentals. The advanced course is less about the language and more about technologies, frameworks and libraries.

While in the first course you are discouraged (maybe even prohibited) in using any external libraries in this course you will be highly encouraged (even required) to learn, explore and use any external resource that can help you.

The advanced course is addressed to anyone that has a decent grasp of the Java language and can easily build a running program using just the language features. Familiarity with the topics covered in this course is neither a must have nor a deterrent for anyone thinking about joining.

There will be eight (8) lectures structured as very interactive workshops, with lots of pre-built examples for study, in-class exercises most of which come with some starter code and some light homework represented by a pre-written app with some missing functionalities that you will restore using the knowledge gained with each week. Each lecture goes beyond the usual intro you will find just about anywhere and will discuss how that particular technology works in the simplest terms possible and why should you use it.

Besides Java, knowledge of a versioning system is required as GIT will be used to share code.

Before packing your backpack for the first lecture make sure you have the following installed and working:

– at least JDK 1.8

– IntelliJ IDEA (community edition is free to use), or other IDE



  1. Networking

  • Socket, ServerSocket, DatagramSocket
  • Protocols: HTTP case study
  • Protocol design
  1. Build tools: maven, gradle; Logging: log4j

  • Maven Project Object Model (POM)
  • Maven commands, life cycles, phases and goals
  • Gradle build scripts
  • Gradle tasks and execution phases
  1. Java annotations;Dependency injection

  • Annotations: target, retention, attributes and default values
  • Demystifying Dependency Injection
  • DIY Dependency Injection
  1. Spring

  • Intro to the IoC container
  • Spring XML and/or Java Configuration
  • Bean definition, scope and life cycle; autowiring
  1. SpringBoot

  • Creating and configuring a Spring Boot app
  • Leveraging profiles
  • Packaging and running Spring Boot web apps
  • Building a command-line application
  • Using Spring Boot starters: Spring Security, and more
  • Using Spring Boot Actuator to monitor app health and other metrics
  1. Relational mapping

  • JDBC in Spring
  • ORM: Hibernate
  • Entities
  • Spring Data
  1. MVC, servlets, template engines

  • Spring MVC
  • The DispatcherServlet
  • Controllers and Services
  • Thymeleaf
  1. Futures and async programming

  • Creating Futures
  • Consuming Futures
  • ThreadPools
  • Completable Futures
  • Spring Async


Daniel Gheorghian
Daniel GheorghianTrainer Java

Parteneri Wantsome