Курс Java

  • Online
  • Для початківців
  • Java
Навчальний центр: A-Level Ukraine
Формат:Курс
Мова викладання:Ukrainian
Тривалість навчання:6 місяців
Початок курсу:Дата формується
Вартість навчання:24 000 UAH за курс

Наші викладачі розробили програму курсу Java таким чином, щоб кожен студент з нуля отримав необхідні базові знання та практичні навички.

Програма курсу

Модуль 1 - Введення в програмування

Введення. Що таке алгоритм. Базові конструкції мови програмування

  • Розуміння, що таке змінна та if, прості типи даних, як наводити типи
  • Розуміння, як правильно називати змінні, camelCase
  • Розуміння що це таке та різницю між циклами for, while, do-while
  • Розуміння порядку виконання операцій
  • Розуміння, що таке "про компіляцію"
  • Розуміння, для яких проєктів використовується Java

Розширений набір конструкцій та операторів

  • Знання математичних, бінарних (в т.ч. зсуву), логічних операторів
  • Розуміння двійкової системи, переведення у або з десяткової, додавання в стовпчик, зрушення
  • Розуміння булевої алгебри, таблиця істинності, XOR, OR, AND, NOT
  • Розуміння тернарного оператора (Elvis Operator)
  • Git (вступне)

Розширений набір конструкцій та операторів (практика)

Масиви та багатовимірні масиви

  • Розуміння, що таке одновимірний масив
  • Розуміння, що таке матриця та багатовимірний масив
  • Вміння обійти масив, розуміння ArrayIndexOutOfBound
  • Розуміння задачі сортування та вміння зробити bubble sort
  • Розуміння, чим масив відрізняється від змінної і які дані можна зберігати

Масиви та багатовимірні масиви (Практика)

Поняття класу та об'єкта. Функції методів. Рекурсія Налагодження

  • Розуміння, що таке клас та об'єкт (без успадкування, інкапсуляції та поліморфізму)
  • Розуміння, що таке функція
  • Розуміння як правильно називати функції
  • Розуміння, що таке стек викликів
  • Розуміння, як і навішо треба розділяти код на функції (рефакторити)
  • Розуміння, що таке рекурсія та вихід з рекурсії
  • Розуміння StackOverflowException
  • Розуміння, як ставити break point, де побачити call stack, як ходити по коду

Системи контролю версій Git

  • Розуміння, що таке commit, історія
  • Розуміння, що таке гілки
  • Розуміння push, fetch, merge, pull
  • Розуміння того, що таке pull request
  • Розуміння, як використовується Git на реальних проєктах (master, feature branches, code reviews)

Модуль 1

Модуль 2 - ООП (об'єктно-орієнтоване програмування)

Tests

  • Що таке тести і навіщо вони потрібні?
  • Види тестування коду та додатку вцілому
  • Що таке TDD та TLD
  • Знайомство з maven

Початок об'єктно-орієнтованого програмування

  • Розуміння, що таке heap та його відмінність від stack
  • Розуміння, що таке інтерфейс, маркерний інтерфейс, клас та об'єкт
  • Розуміння полів та методів, статичних полів та методів
  • Знайомство з терміном доменна модель та розуміння. що ми моделюємо її
  • Розуміння класичного наслідування, final-класів
  • Розуміння роботи конструкторів
  • Розуміння успадкування через композицію

Об'єктно-орієнтоване програмування. Продовження

  • Абстрактні класи. Їх відмінність від інтерфейсів
  • Розуміння поліморфізму. Раннє та пізнє зв'язування. Віртуальна таблиця методів
  • Розуміння Enumerations
  • Розуміння, що таке hashCode та equals()
  • Різні типи посилань

Exceptions. Розробка API. Що, якщо метод повертає null?

  • Розуміння різних підходів до обробки помилок: повернення статусу коду, exit(), повернення спеціальних об'єктів, exceptions
  • Розуміння, навіщо потрібні виключення
  • Розуміння різниці між checked, unchecked
  • Розуміння try-catch-finally, rethrow
  • Розуміння NullPointerException
  • Розуміння семантики IIegallegalException, llegallegalArgumentException
  • Розуміння null safety, NPE
  • Розуміння, які підходи є разом повернення null: винятки, Optional, null object, empty list, so on
  • Розуміння Optional
  • Розуміння Null-Object Pattern
  • Розуміння анотацій Nullable

Складність алгоритмів, О-велике

  • Розуміння, що таке О-велике. О-мале, тета
  • Розуміння алгоритму сортування злиттям
  • Розуміння лінійного та бінарного пошуку

Generics, колекції

  • Розуміння простих generic-ів
  • Розуміння extends, <?>
  • Розуміння того, як зробити generic метод
  • Синтаксис виклику статичного методу з generics
  • Розуміння collection, list, set, map
  • Розуміння сучасних колекцій (Guava)
  • Розуміння boxing/unboxing

Колекції, структури даних, продовження 1

  • Розуміння Queue, Dequeue та його спадкоємців, що таке FIFO, LIFO
  • Розуміння HashSet, HashMap, навіщо нам потрібно equals та hashCode
  • Вміння зробити Ітератор

Колекції, структури даних, продовження 2

  • Розуміння, що таке бінарне дерево, обхід бінарного дерева
  • Розуміння, що таке граф, види графів
  • Розуміння алгоритмів обходу графів

StreamAPI

  • Функціональний інтерфейс, Lambda-expression
  • Stream pipelines, terminal & conveyor operations
  • Collectors

IO/NIO

  • Розуміння, як рахувати файл побайтово
  • Розуміння, як записати файл побайтово
  • Розуміння, як читати та записувати файл як рядок
  • Розуміння використання Files
  • Розуміння try-with-resources
  • Загальне поняття про різницю синхронного та асинхронного програмування

Модуль 2

Модуль 3 - Database

Java Annotations, Reflection

  • Розуміння того, навіщо використовують анотації
  • Вміння створити інструкцію
  • Розуміння RetentionPolicy, Target, and so on
  • Вміння обійти методи, визначені інструкцією

SQL, JDBC

  • Розуміння, що таке реляційна модель
  • Розуміння primary keys, 1, 2, 3 нормальної форми
  • Розуміння найпростіших DQL, DDL
  • Розуміння, що таке транзакція (ACID)
  • Розуміння, як "сходити" в базу з джави

SQL. Продовження. Hibernate

  • Що таке ORM, які завдання вирішує
  • Що таке entity-manager у hibernate
  • Створення сутностей та зв'язків між ними
  • Короткий вступ у HQL

MongoDB. Написання найпростішої ORM

  • Розуміння, що таке JSON та BSON
  • Розуміння різниці між SQL та NoSQL базами даних
  • Розуміння, що таке Mongo
  • Розуміння, як прочитати та записати в базу

Лекція з основ операційних систем

  • Розуміння, які завдання вирішує операційна система
  • Розуміння різниці між основними операційними системами
  • Розуміння процесів та потоків, мʼютексів, семафорів

Лекція з Linux

  • Розуміння, як працює файлова система
  • Розуміння stdout, stderr. Розуміння >, &>, 2>1 тощо
  • Базові команди у терміналі: робота з файлами, cat, less, tail-f, ps, top, kill
  • Розуміння пайпінгу
  • Базові bash-скрипти

Об'єктно-орієнтований дизайн

  • Розуміння всіх букв у SOLID
  • Розуміння основ Unix philosophy
  • Розуміння tiny types
  • Розуміння неймовірності, глибоких копій
  • Перший патерн factory method. Звідси: розуміння приватного конструктора, створення екземпляра статичним способом
  • Загальне поняття про різницю синхонного та асинхронного програмування

Модуль 3

Модуль 4 - Web

Багатопотоковість

  • Розуміння що таке Thread та Runnable
  • Розуміння API потоків
  • Розуміння, як створити та запустити 1 потік, багато потоків
  • Розуміння, що таке race condition та dead lock
  • Розуміння volatile
  • Розуміння synchronized
  • Вміння використовувати mutex і semaphore в джаві
  • Розуміння атомарності операції
  • Основні кошти в пакеті concurrency
  • Розуміння, як вирішити проблему dead lock та race condition
  • Розуміння патерну Observer, слова callback

Мережі, HTTP, web

  • Розуміння моделі OSI
  • Розуміння методів HTTP, їх обмежень
  • Розуміння headers та cookies
  • Розуміння життєвого циклу запиту від браузера до програми та назад. Статуси

Servlets, Chain Of Responsibility

  • Вміння створити проект з модулями в maven
  • Розуміння, як реалізувати Servlet
  • Розуміння, як надіслати HTTP запит із curl
  • Що таке filtrs
  • Розуміння патерну Chain of Responsibility

Вступ до теорії мікросервісів

  • Кластерні менеджери. Поняття масштабування
  • Розуміння, що таке монолітна архітектура, її плюси та мінуси
  • Розуміння, що таке мікросервісна архітектура та її плюсів та мінусів

REST API, реалізація REST API

Знайомство з web та роутингом http запитів та практика

Введення в спрінг

  • Що таке IoC, DI?
  • Як влаштований контейнер, принцип роботи

Spring boot, MVC і data

  • Для чого потрібний spring - boot
  • Основні моменти при роботі з MVC у Spring
  • Спрінгові репозиторії

Постановка задачі на фінальний проєкт

  • Розуміння, яке завдання буде вирішуватися
  • Розуміння, які технології використовуватимуться
  • Розуміння, що очікується наприкінці
  • Розуміння, як, де і навіщо писати Javadoc
  • Продумування архітектурного проекту
  • Знайомство з Agile

Розробка API. Огляд патернів

  • Розуміння патернів Proxy, Facade, Bridge, Adapter
  • Розуміння різниці між цими патернами

Дипломна робота

Опис

Дипломна робота включає в себе реалізацію веб-додатоку або веб-сайту, який містить декілька сторінок. На практичному рівні студенти демострують отримані знання, під час навчання. Використовується робота із базами даних, зазвичай, дані зберігаються в одній із SQL DB і повинні зберігатися між запусками програми.

Захист дипломної роботи

Необхідно здати практику,яка передбачає демонстрацію робочого проекту, відповіді на будь-які питання пов'язані з проектом, демонстрацію коду на вимогу. Та окремо здається теорія по усій програмі курсу та по усім темам. Теорія здається у форматі співбесіди на Junior Developer позицію, сторонньому, незадежному експерту. За обидва блоки можна отримати від 0 до 10 балів

Особливості курсу

  • 24 заняття з англійської мови
  • Тестова співбесіда з технічним спеціалістом
  • Майстер клас по складанню резюме та проходження співбесід
  • Консультація з рекрутером та тестова співбесіда
  • Супровід до моменту працевлаштування менеджером, закріпленим за групою

Викладачі курсу

  • Михайлов Нікіта - Java Software Engineer
  • Бібічков Ігор - Java Software Engineer
  • Попов Валерій - Java Team Lead
  • Фунтусов Єгор - Java (Hybris/Spartacus) Developer
  • Харін Артем - Java Software Engineer
  • Михайло Горбунов - Expert Java Engineer
  • Шморгун Євген - Java Software Engineer

Категорії курсу

Читайте нас в Telegram, щоб не пропустити анонси нових курсів.

Схожі курси

Навчальний центр
SoftServe Academy
Формат
Online
Початок навчання
03.03.2025
Тривалість
9 тижнів
Рівень
Для досвідчених
Мова навчання
English
Вартість
290 USD за курс
Навчальний центр
ActPro
Формат
Online
Початок навчання
17.12.2025
Тривалість
5 місяців
Рівень
Для початківців
Мова навчання
Ukrainian
Вартість
23 000 UAH за курс
Навчальний центр
Джун IT Academy
Формат
Online
Початок навчання
Будь-який момент
Тривалість
-
Рівень
Для дітей, Для початківців
Мова навчання
Ukrainian
Вартість
уточнюйте
Навчальний центр
Foxminded
Формат
Online
Початок навчання
Будь-який момент
Тривалість
8 місяців
Рівень
Для досвідчених
Мова навчання
Ukrainian
Вартість
6 400 UAH за місяць