Курс Java (back-end розробка)

Наразі набір на цей курс не проводиться. Перегляньте інші курси

  • Online
  • Для початківців
  • Java, Backend
Навчальний центр: Lemon School
Формат:Курс
Мова викладання:Ukrainian
Тривалість навчання:5 місяців
Початок курсу:08.12.2023
Вартість навчання:19 500 UAH за курс

При оплаті відразу за весь курс - 17550 грн.

На цьому курсі ти опануєш мову програмування Java з 0 і станеш junior-розробником.

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

Модуль 1 - Основи програмування

Заняття 1. Основи програмування

  • Розробка ПЗ. Основні поняття
  • Основні професії та ролі в команді розробників ПЗ
  • Основні методології розробки ПЗ
  • Основи створення алгоритма програми

Заняття 2. Комп'ютерна програма. Структура програми. Типи програм

  • Умовна класифікація комп'ютерних програм
  • Типи комп'ютерних програм
  • Технології розробки програм
  • Структура програми на Java
  • Написання програми для збору та виводу інформації щодо користувача

Заняття 3. Алгоритм. Властивості алгоритму

  • Алгоритм
  • Властивості алгоритмів
  • Складність алгоритмів
  • Основні елементи алгоритмів та їх реалізація в коді
  • Інструменти для створення алгоритмів (Draw.io)
  • Створення простого алгоритма
  • Реалізація індивідуального алгоритма за обраним завданням

Заняття 4. Мови програмування

  • Мови програмування (Java, Python, Assembly)
  • Різниця між компілятором та інтерпретатором
  • Структура віртуальної машини Java (JVM/JRE/JDK)
  • Умовні оператори Java та в інших мовах програмування
  • Написання алгоритму та програми, яка містить умовні оператори, що реалізовані на різних мовах програмування

Заняття 5. Ввід/вивід, змінні, вирази, типи даних Java

  • Input/Output
  • Змінні, константи
  • Типи даних
  • Java expressions (вирази)
  • Пояснення щодо виконання ДЗ

Заняття 6. Керуючі оператори Java

  • Умовні оператори
  • Цикли
  • Оператори переходу
  • Основи роботи із системами контролю версій
  • Пояснення щодо виконання домашнього завдання

Заняття 7. Робота із системами контролю версій (GitHub/GitLab).Управління проєктними залежностями та збіркою (Maven/Gradle)

  • Maven/Gradle dependency, build
  • Основна ідея використання систем контролю версій
  • Основні операції: Commit, Push, Pull, Cherry Pick, master feature branches

Заняття 8. Масиви Java. Особливості роботи із ними

  • Загальні відомості про масиви даних
  • Обробка масивів
  • Стандартні інструменти для роботи з масивами
  • Пояснення щодо виконання домашнього завдання

Заняття 9. Методи (Функції). Визначення та виклик методу

  • Метод
  • Параметри методів
  • Varargs
  • Практика

Заняття 10. Ітеративні та рекурсивні алгоритми

  • Рекурсія. Поняття рекурсії
  • Приклади реалізації рекурсивних алгоритмів
  • Поняття ітерації
  • Приклади реалізації ітеративних алгоритмів
  • Рекурсивні алгоритми vs Ітеративні алгоритми
  • Практика

Заняття 11. Java String

  • Особливості роботи з String
  • String. Управління пам'яттю
  • Strings та масиви
  • Класи-обгортки
  • StringBuffer
  • StringBuilder

Заняття 12. Приклад реалізації гри "Хрестики-Нулики"

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

Заняття 13. Основи об'єктно-орієнтованого програмування

  • Поняття класу та об'єкту
  • Поняття методу
  • Як правильно називати методи
  • Стек викликів
  • Розділення коду на методи (основи рефакторингу)
  • Модифікатор static, final

Заняття 14. Інкапсуляція. Наслідування. Поліморфізм

  • Інкапсуляція (рівні доступу)
  • Наслідування
  • Поліморфізм. Види поліморфізму

Заняття 15. Дженеріки (узагальнені типи даних). Поняття "Wild Card"

  • Generic-типи в Java
  • Використання ключових слів "extends", "super"
  • Призначення "Wild Card"

Заняття 16. Інтерфейси, абстрактні класи. Частина 1

  • Абстрактні класи
  • Інтерфейси
  • Статичні методи та методи за замовчуванням в інтерфейсах

Заняття 17. Інтерфейси, абстрактні класи. Частина 2

Заняття 18. Лямбда-вирази та функціональний інтерфейс

  • Поняття лямбд
  • Поняття функціонального інтерфейсу
  • Різновиди функціональних інтерфейсів
  • Практика використання лямбд та функціональних інтерфейсів

Заняття 19. Колекції. Потоки. Частина 1

  • Поняття колекції
  • Види колекцій
  • Обробка колекцій за допомогою потоків
  • Термінальні та нетермінальні операції

Заняття 20. Колекції. Потоки. Частина 2

  • Індексні потоки
  • Різновиди індексних потоків
  • Практика використання Stream API
  • Хеш-таблиці (HashMap)

Заняття 21. Виключення (Exceptions)

  • Синтаксис
  • Ієрархія наслідування
  • Best Practice - підходи до формування фреймворку

Заняття 22. Логування

  • Бібліотека sl4j
  • Конфігурація Logback
  • Розробка Log Framework

Модуль 3 - Інструменти професійного програмування

Заняття 23. Розробка тестів. Частина 1

  • Піраміда тестування
  • Розробка Unit-тестів
  • Покриття тестами

Заняття 24. Розробка тестів. Частина 2

  • Використання Mock'їв в розробці Unit-тестів
  • Функціональний інтерфейс
  • Основи рефлекції
  • Stream API

Заняття 25. Анотації та рефлексія в Java. Частина 1

  • Анотації. Створення власних анотацій
  • Основи рефлексії: точки входу в рефлекцію
  • Робота із модифікатором доступу

Заняття 26. Анотації і рефлексія в Java. Частина 2

  • Використання Optional
  • Анотації. Створення власних анотацій
  • Практика створення бібліотеки для роботи із csv-документами

Заняття 27. Розробка багатопоточних додатків. Частина 1

  • Поняття потоку та процесу
  • Інтерфейс Runnable. Робота із класом Thread
  • Інтерфейс Collable

Заняття 28. Розробка багатопоточних додатків. Частина 2

  • Пакет Concurrency: Executor та Future
  • Mutex, Semaphore
  • Deadlock, Live Lock

Заняття 29. Основи дизайну та проєктування додатків. Паттерни проєктування

  • Архітектурні паттерни та підходи (MVC, MVVM, MVP)
  • Структурні паттерни (Декоратор, Міст)
  • Породжувальні паттерни (Одинак - Singleton, Будівельник - Builder)
  • Поведінкові (Посередник, Спостерігач - Observer, Команда - Command)

Заняття 30. Основи SQL. Реляційна модель даних. DDL

  • Створення таблиці
  • DDL-запити (CREATE, ALTER, DROP)
  • Приклади створення SQL-запитів
  • Практика написання простих запитів

Заняття 31. Нормалізація та нормальні форми. DML. Частина 1

  • Нормалізація бази даних до третьої нормальної форми
  • Зв'язки між таблицями (концепція Primary/Foreign Key)
  • Зв'язки в таблиці: one-to-one, one-to-many, many-to-many

Заняття 32. Нормалізація та нормальні форми. DML. Частина 2

  • Запити на отримання даних
  • Запити на модифікацію даних: INSERT/UPDATE/DELETE
  • Використання підзапитів (pros, cons)

Заняття 33. JOIN. UNION. SQL-funcions

  • AND OR NOT
  • ORDER BY
  • (COUNT, AVG, MIN, MAX, ROUND)
  • JOIN
  • UNION
  • HAVING

Заняття 34. Просунуті запити в SQL

  • Використання WITH
  • DECLARE
  • CURSOR
  • SQL Stored Procedures

Заняття 35. Мова керування даними (DCL)

  • GRANT
  • REVOKE
  • DENY

Заняття 36. Мова керування транзакціями (TCL)

  • Принципи ACID
  • Управління транзакціями
  • BEGIN/COMMIT/ROLLBACK/SAVE TRANSACTION

Заняття 37. Імплементація взаємодії із БД. Технологія Hibernate

  • Підключення Hibernate до проєкту (Hibernate-конфіг)
  • Практика розробки консольного додатку із БД

Модуль 4 - Програмування під Веб. String Framework

Заняття 38. Основи програмування під Web

  • Socket - протоколи
  • RESTful API (рівні зрілості REST API)
  • Web-Servlet

Заняття 39. Основи Spring фреймворк

  • Концепція IoS (Inversion of control)
  • Ін'єкція залежностей (Dependency Injection)
  • Анотації Spring
  • Spring Beans

Заняття 40. Spring фреймворк

  • Spring bean scopes
  • Шаблонізатори (thymeleaf)
  • Створення власної анотації

Заняття 41. Дизайн додатків Spring

  • Багатошарова архітектура
  • Основи Spring Boot
  • Основи Spring REST API
  • Інтеграція додатків Spring із БД (Spring Data: JPA)

Заняття 42. Основи Spring Security. Частина 1

  • Робота із фільтрами
  • Реєстрація/авторизація/аутентифікація
  • Робота із сесіями
  • Протокол QAUTH

Заняття 43. Основи Spring Security. Частина 2

Заняття 44. Розробка динамічного інтерфейсу для Spring RESTful API додатку. Частина 1

  • Розуміння роботи з token
  • Розуміння роботи з JWT
  • Протокол QAUTH

Заняття 45. Розробка динамічного інтерфейсу для Spring RESTful API додатку. Частина 2

  • Основи застосування JavaScript
  • Огляд основних JS-фреймворків (NodeJS, VueJS, Angular)
  • Демо-додаток із динамічним UI

Заняття 46. Основи контейнеризації на прикладі Docker

Демо-додаток із динамічним UI на базі JS-фреймворку

Заняття 47. Застосування Docker-compose для мультиконтейнерних додатків

  • Розгортання Docker на локальному комп'ютері
  • Запуск додатку із контейнера
  • Розгортання простого менеджера NoSQL (Reddis) та налаштування його взаємодії із запущеним сервісом

Заняття 48. Основи мікросервісної архітектури. Використання CQRS-систем

  • Приклад розробки додатку із мікросервісною архітектурою
  • Розгортання та імплементація RabbitMQ

Заняття 49. Розмова з кар'єрним менеджером

  • Як і де шукати роботу для початківця і які інструменти при цьому використовувати
  • Як правильно зробити резюме і яка інформація у ньому є надважлива, а що буде зайвим
  • Як створити профіль на Linkedin, щоб його могли побачити потенційні роботодавці
  • 7 порад, які допоможуть пройти онлайн співбесіду набагато успішніше
  • Q&A

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

  • Безкоштовна IT англійська
  • Додаткові матеріали
  • Кар'єрний менеджер
  • Лекція Project Manager
  • Діджитал диплом для Linkedin

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

Ігор Бібічков - Senior Java Developer

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

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

Схожі курси

Навчальний центр
Foxminded
Формат
Online
Початок навчання
Будь-який момент
Тривалість
7 годин
Рівень
Для досвідчених
Мова навчання
Ukrainian
Вартість
3 300 UAH за курс
Навчальний центр
EPAM
Формат
Online
Початок навчання
Будь-який момент
Тривалість
-
Рівень
Для початківців
Мова навчання
English
Вартість
безкоштовно
Навчальний центр
QALight
Формат
Online
Початок навчання
24.09.2025
Тривалість
70 годин
Рівень
Для початківців
Мова навчання
Ukrainian
Вартість
14 885 UAH за курс
Навчальний центр
Main Academy
Формат
Online
Початок навчання
Дата формується
Тривалість
5 місяців
Рівень
Для початківців
Мова навчання
Ukrainian
Вартість
22 000 UAH за курс