Курс Java розроблено для поступового засвоєння матеріалу - від основ до фреймворків. Кожен модуль логічно випливає з попереднього.
На перших заняттях студенти знайомляться з мовою Java. Розглядають її історію, переваги та недоліки. Окрему увагу приділяють ринку праці - відмінностям роботи в аутсорсі, аутстафі та продуктових компаніях. Потім налаштовують робоче середовище: встановлюють JDK, IDE, Maven, Tomcat та бази даних.
Цей блок присвячений основним концепціям мови. Студенти вивчають ключові слова, об'єкти, класи, поля та методи. Розбираються з інтерфейсами, абстрактними класами та рефлексією. Потім переходять до об'єктно-орієнтованого програмування - інкапсуляції, спадкування та поліморфізму.
Тут розглядають роботу з різними типами даних - примітивними та посилальними. Студенти вчаться явного та неявного перетворення типів. Вивчають оператори - арифметичні, логічні, побітові. Практикуються у використанні умовних конструкцій if-else, switch та тернарного оператора. Окремо розбирають цикли for, while, do-while та for-each.
У цьому модулі студенти дізнаються про важливість тестування для розробників. Вивчають автоматизацію тестування, TDD та різні види тестів. Паралельно освоюють Git - роботу з репозиторіями, комітами, гілками. Вчаться вирішувати конфлікти та об'єднувати код через MergeRequest.
Студенти навчаються ефективно працювати з рядками - використовувати String, StringBuffer, StringBuilder, регулярні вирази. Вивчають масиви та колекції - List, Set, Queue, Map. Розбираються у сортуванні та відмінностях між реалізаціями колекцій.
Цей блок вчить коректно обробляти помилки. Студенти розрізняють Error та Exception, checked і unchecked виключення. Створюють власні виключення. Потім переходять до роботи з потоками введення/виведення, файловою системою, XML та JSON.
Тут розглядають лямбда-вирази, функціональні інтерфейси та Stream API. Студивчають методи створення стрімів, фільтрацію та сортування. Окремо вивчають багатопоточність - роботу з класом Thread, інтерфейсом Runnable, потоками-демонами. Також розглядають анотації - створення та застосування.
Студенти вчаться експортувати та імпортувати проекти, запускати їх з параметрами. Освоюють Maven як інструмент збірки - роботу з pom.xml, репозиторіями, командами. Вивчають дебаг та рефакторинг - використання breakpoint, умовних точок зупину. Також знайомляться з графічними інтерфейсами - AWT, Swing, JavaFX.
Цей великий блок присвячений роботі з даними. Спочатку студенти вивчають СУБД - реляційні та NoSQL бази, Oracle/PostgreSQL/H2. Освоюють SQL - DDL, CRUD операції, JOIN, GROUP BY, ORDER BY. Потім переходять до роботи з БД в Java - Connection, DAO, Statement, PreparedStatement.
Тут студенти знайомляться з основами web-розробки. Вивчають сервери на прикладі Tomcat, протокол HTTP, URI. Освоюють HTML, JSP, CSS для створення веб-сторінок. Використовують Jsoup для роботи з web-контентом та Selenium для тестування.
Студенти створюють повноцінні web-додатки. Вивчають MVC модель, сервлети, фільтри. Вчаться взаємодіяти з сервісами, використовувати зовнішні бібліотеки. Експортують проекти в war-файли, деплоять їх на сервери та налаштовують доступ.
Завершальна частина курсу присвячена основним фреймворкам. Hibernate для ORM - налаштування через XML та properties, HQL та Native SQL. Spring framework - IoC, Dependency Injection, Bean, конфігурація через XML та анотації. Spring Boot для web-додатків, Spring Data, міграції, Swagger API, Spring Security.
На завершення студенти створюють власний проект. Він допомагає закріпити отримані навички та отримати реальну практику. Цей проект можна буде показати на співбесіді.
Заняття проходять двічі на тиждень - по вівторках і четвергах у вечірній час. Навчання включає практику на реальних проектах. Підтримка надається як під час курсу, так і після його завершення. Випускники отримують свідоцтво про закінчення.