Курс Java

  • Online
  • Для початківців
  • Java
Навчальний центр: A-Level Ukraine
Формат:Курс
Мова викладання:Ukrainian
Тривалість навчання:6 місяців
Початок курсу:12.03.2024
Вартість навчання: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, щоб не пропустити анонси нових курсів.

Схожі курси

Навчальний центр
Levelup
Формат
Online
Початок навчання
03.09.2025
Тривалість
30 тижнів
Рівень
Для початківців
Мова навчання
Ukrainian
Вартість
уточнюйте
Навчальний центр
Okten School
Формат
Online
Початок навчання
Будь-який момент
Тривалість
-
Рівень
Для досвідчених
Мова навчання
Ukrainian
Вартість
14 000 UAH за курс
Навчальний центр
Prog Academy
Формат
Online
Початок навчання
30.09.2025
Тривалість
10 місяців
Рівень
Для початківців
Мова навчання
Ukrainian
Вартість
39 900 UAH за курс
Навчальний центр
Foxminded
Формат
Online
Початок навчання
Будь-який момент
Тривалість
7 годин
Рівень
Для досвідчених
Мова навчання
Ukrainian
Вартість
3 300 UAH за курс