Курс Java Pro

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

  • Online
  • Для початківців
  • Java
Навчальний центр: ITEA – IT Education Academy
Формат:Курс
Тривалість навчання:162 годин
Початок курсу:Дата формується
Вартість навчання:15 400 UAH за курс

Можлива оплата частинами

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

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

Огляд мов програмування

  • Огляд парадигм програмування
  • Огляд сучасних мов програмування

Поняття алгоритму

  • Роль алгоритму у розв'язанні задач
  • Поняття і властивості алгоритму
  • Типи алгоритмів

Базові конструкції програмування

  • Поняття синтаксису і семантики мов програмування
  • Змінні, типи даних, вирази й присвоювання значень змінним
  • Подання даних у пам’яті комп’ютера: біти, байти й т.п.
  • Найпростіше введення/виведення
  • Умовні конструкції та їх різновиди
  • Ітеративні конструкції (цикли)

Базові структури даних

  • Одномірні масиви й робота з ними
  • Двовимірні масиви та робота з ними
  • Призначені для користувача об’єкти, їх властивості та методи
  • Поняття асоціативного масиву і принципи роботи з ним
  • Формат JSON
  • Особливості роботи з рядками
  • Особливості роботи з датами

Функції

  • Опис функції
  • Виклик функції
  • Параметри функцій
  • Передача параметрів з точки виклику в функцію

Побудова простого графічного інтерфейсу (GUI)

  • Форми та робота з елементами управління на web-формах
  • Події, обробка подій миші

Основи роботи з системою контролю версій

Загальна характеристика мови Java

  • Історія мови Java
  • Байт-код
  • Віртуальна машина Java (JVM)
  • Трансляція, інтерпретація й компіляція
  • JIT-компіляція
  • JDK та його структура
  • Команди JDK: javac, java, appletviewer, jar (en10). Їхнє використання та параметри
  • Пошук та завантаження класів
  • Створення й запуск першого додатка на Java
  • Вихід з програми та завершення її роботи
  • Використання IDE Eclipse/NetBeans/Intellij IDEA для створення й виконання програм

Типи даних та основні операції з ними

  • Алфавіт мови
  • Коментарі
  • Ключові слова
  • Типи даних: прості (примітивні) та за посиланням
  • Ідентифікатори, вибір імен ідентифікаторів
  • Змінні й константи
  • Оголошення та ініціалізація змінних
  • Область видимості й час життя змінних
  • Оператори
  • Операції: арифметичні, привласнення, відносні й логічні
  • Перетворення та приведення числових типів
  • Пріоритет операцій
  • Використання круглих дужок

Потік управління

  • Складовий оператор (блок)
  • Умовний оператор і його види
  • Оператор switch
  • Цикли: for, while, do while
  • Нескінченні цикли
  • Переривання потоку керування, мітки
  • Оператор goto й причини уникнення його застосування

Масиви

  • Оголошення й ініціалізація масивів, зокрема анонімних
  • Лінійні масиви
  • Ітерація за елементами масиву
  • Масиви та привласнення
  • Передавання та повернення масивів до/з методів
  • Копіювання масивів
  • Клас Arrays: заповнення, порівняння елементів і їхнє сортування
  • Пошук у масивах
  • Багатовимірні масиви, «нерівні» масиви
  • Методи: аргументи змінної довжини
  • Параметри командного рядка

Рядки

  • Клас String. Незмінні об’єкти
  • Зберігання рядків у пам’яті
  • Основні операції класу String (створення, конкатенація, порівняння, пошук символів і підрядків у рядках та інше). Перетворення простих типів даних
  • Розбивка рядків: клас StringTokenizer. Змінні об’єкти: класи StringBuffer і StringBuilder
  • Основні методи. StringBuffer vs StringBuilder

Вступ до об’єктно-орієнтованого програмування. Об’єкти й класи

  • Поля й методи (визначення, синтаксис оголошення)
  • Специфікатори доступу public і private
  • Поля класів: ініціалізація явна та за замовчуванням, специфікатор final і константи
  • Доступ до полів і методів
  • Методи: параметри (посилання та прості типи) і повернені, використання set і get- методів, перезавантаження методів, правила перезавантаження
  • Об’єктна модель. Основні положення: абстрагування, інкапсуляція, модульність, ієрархія
  • Діаграми класів UML
  • Об’єкти та класи. Об’єкти. Визначення (з прикладами). Стан. Поведінка
  • Конструктори: конструктори за замовчуванням, виклик одного конструктора з іншого
  • Блоки ініціалізації
  • Статичні поля й методи: ініціалізація константи, статичні блоки ініціалізації. Використання this для доступу до членів класу
  • Збір сміття та видалення об’єктів

Відносини між об’єктами

  • Залежності, їхні різновиди
  • Узагальнення
  • Асоціації
  • Реалізації
  • Зв’язки, їхня множинність

Успадкування й поліморфізм

  • Успадкування й поліморфізм як інструмент створення ПЗ. Суперклас і підкласи, відносини узагальнення, успадкування в Java. Виклик конструкторів суперкласів, порядок викликів. Ключове слово super ()
  • Перевизначення методів, правила перевизначення. Успадкування та статичні поля й методи класів. Абстрактні класи та методи: поняття, виклик конструкторів, реалізація методів у субкласах
  • Інтерфейси. «Множина» успадкування. Визначення та реалізація інтерфейсів. Розширення інтерфейсів. Композиція як альтернатива множинного спадкоємства
  • Поліморфізм. Ієрархія успадкування
  • Перетворення та приведення типів. Використання instance of. Відмова від успадкування: термінальні (final) методи та класи. Включення як альтернатива множинному спадкуванню
  • Пакети. Вкладеність пакетів. Повторне використання коду та пакети. Захист доступу
  • Імпорт: класів, статичних методів і полів

Клас Object

  • Глобальний суперклас Object
  • Методи equals (), hashCode (), toString (), finalize (), clone () та інші
  • Правилареалізації equals () і hashCode ()
  • Інтерфейс Cloneable і його реалізація
  • Клонування: поверхневе і глибинне

Внутрішні класи

  • Синтаксис оголошення
  • Створення об’єктів внутрішніх класів
  • Поля й методи внутрішніх класів
  • Вкладеність внутрішніх класів і доступ до членів зовнішніх класів
  • Посилання this у внутрішньому класі
  • Доступ до полів і методів зовнішнього класу з внутрішнього
  • Внутрішні класи і специфікатор доступу
  • Вкладені інтерфейси
  • Застосування внутрішніх класів
  • Внутрішні локальні класи (Method-LocalInnerClasses)
  • Анонімні внутрішні класи
  • Вкладені (внутрішні статичні) класи (static nested classes)
  • Створення примірників
  • Доступ до примірника з внутрішніми класами перерахування
  • Компіляція програм з внутрішніми класами перерахування

Перерахування

  • Перерахування і класи. Методи values (), valueof (), name (), ordinal ()
  • Константи, конструктори, методи й поля
  • Перерахування і конструкція switch. Імпорт членів перерахувань

Робота з базами даних

  • Основи побудови реляційних баз даних
  • SQL
  • Нормальні форми. Запити SELECT, INSERT, UPDATE, DELETE
  • JDBC
  • Driver, Connection, Statement, ResultSet, PrepareStatement

Обробка помилок і винятки

  • Підходи до обробки помилок часу виконання
  • Поняття виключення і виняткової ситуації
  • Ієрархія класів винятків у Java
  • Контрольовані (що перевіряються) і неконтрольовані (не перевіряються) винятки
  • Генерація виняткової ситуації й оператор throws
  • Оголошення контрольованих винятків, ключове слово throws
  • Throws і перезавантаження методів
  • Перехоплення винятків
  • Перехоплення «усіх» винятків
  • Обробка винятків
  • Повторна генерація винятків
  • Блок finally: звільнення ресурсів
  • Створення власної ієрархії винятків
  • Реєстрація помилок, логування: логери, рівень логер, рівень повідомлень, обробники (об’єкти підкласу java.util.logging.Handler)
  • Приклад

Система введення-виведення

  • Ієрархія класів потокового введення-виведення
  • Потоки введення/виведення, механізм роботи з потоками, ієрархія потокового введення-виведення
  • Субкласи FilterOutputStream і FilterInputStream
  • Байтові потоки
  • Символьні потоки
  • Клас File. Клас RandomAccessFile
  • Серіалізація й десеріалізація об’єктів: поняття, призначення, реалізація
  • Приклад

Desktop-додатки

  • SWING, AWT. Приклад простого додатка з GUI
  • Обробка подій

Класи колекцій

  • Поняття абстрактного типу даних (АТД)
  • Структури даних: списки, стеки, множини, дерева, мапи
  • Обхід колекцій: інтерфейси Iterator і ListIterator, цикл «foreach»
  • Компаратори
  • Клас Collections: пошук і сортування елементів, заповнення, синхронізація уявлення, незмінні уявлення тощо

Знайомство з XML

  • Поняття формальної коректності та допустимості
  • Парсинг, зберігання стану об’єктів
  • Приклади

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

  • Поняття потоку. Особливості паралельного виконання
  • Потоки-демони
  • Пріоритети потоків. Метод yield ()
  • Стан потоку: створення потоків, -runnable і -runninig-потоки

Класи BigInteger і BigDecimal. Основні операції

  • Документування коду
  • Включення коментарів
  • Документування пакетів
  • Дескриптори загального призначення
  • Коментарі до класів, методам і полям
  • Використання javadoc

Універсальні типи

  • Параметризовані типи: класи інтерфейси. Параметри типу
  • Обмеження накладені на параметризовані типи: прості типи, інстанціювання, суперклас, виняток
  • Параметризовані типи й JVM

Утилітні пакети

  • Форматування і час java.util, java.time
  • Файлова система, java.io, Externalizable, java.nio
  • Незмінні об’єкти
  • Серіалізація та десеріалізація даних

Java 8. Анонімні функції. Stream API

Maven. Автоматизація складання Java-проєктів

  • Декларативний опис проєкту
  • Керування залежностями
  • Артефакти jar, war, ear
  • Правила розробки власних фреймворків і бібліотек
  • Ant the Java legacy build tool
  • Maven POM

Модульне тестування

  • Правила та принципи
  • TDD
  • Дублери
  • Mockito & PowerMock

Java Annotations

Java Reflection

Advanced Generics

  • Причини поліпшення підсистеми типів
  • Raw Types
  • Wildcards, <? super T>, <? extends T>
  • Type Erasure
  • Отримання інформації про тип generic у runtime
  • Доопрацювання власної колекції

Advanced Collections

  • Data Structure Complexity
  • WeakHashMap та інші
  • Сторонні бібліотеки колекцій

Advanced Multithreading / Concurrency

  • Низькорівневий API
  • Waiting/blocked/sleeping-потоки; стан потоку “dead”
  • Отримання результатів виконання багатопотокових обчислень. Метод join()
  • Синхронізація: синхронізація методів. Синхронізаційні блоки.
  • Блокування. Взаємодія потоків (Thread Interaction)
  • Синхронізація потоків, взаємодія потоків, шаблон “Producer-Consumer”
  • Особливість реалізації volatile
  • Java Memory Model (JMM)
  • Публікація об’єктів
  • Високорівневий API
  • Бібліотека java.util.concurrent

Advanced OOP

  • SOLID (базові принципи об’єктно-орієнтованого програмування та дизайну)
  • Dependency injection (DI) and Inversion of control (IoC)

Design Patterns

JRE Security, JVM Internals

  • Платформи, архітектура, байт-код
  • ClassLoader, garbage collector
  • Засоби JVM для захищеного виконання коду
  • Sandbox
  • Memory Management
  • Performance Optimization
  • Роль JAAS

Desktop-додатки: Технологія JavaFX

Spring

  • Inversion of Control
  • Доступ до даних
  • Керування транзакціями

Робота з XML і JSON

  • Потоковий аналіз на основі SAX. Аналіз на основі DOM
  • Створення Java-класів за схемою
  • Валідація. JSON

Вступ у SQL

  • DDL & DML
  • Primary Key та Foreign Key
  • SQL Types
  • JOINs
  • Database Indexes

JDBC

  • Пул зв’язків
  • Data Access Object

Знайомство з Lombok та Log4j

Іспит. Захист програмного проєкту

Як скласти резюме і пройти співбесіду

  • Структура резюме
  • FAQ
  • Як вести себе на співбесіді
  • Основні помилки на співбесіді
  • Бонусне заняття з англійської мови
  • Урок пошуку роботи

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

  • Заняття 3 рази на тиждень (Вт, Чт - теорія, Сб - практика)
  • Робота над реальними проєктами у групах
  • Доступ до матеріалів протягом року
  • Мінікурс з soft skills
  • Підготовка до пошуку роботи

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

  • Денис Ковбій - Java Developer
  • Дмитро Красний

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

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

Схожі курси

Навчальний центр
Світ Сучасної Освіти
Формат
Online
Початок навчання
Дата формується
Тривалість
45 годин
Рівень
Для початківців
Мова навчання
Ukrainian
Вартість
38 000 UAH за курс
Навчальний центр
IT-школа СМАРТ
Формат
Online
Початок навчання
Дата формується
Тривалість
-
Рівень
Для дітей
Мова навчання
Ukrainian
Вартість
2 790 UAH за курс
Навчальний центр
Академія Професій Майбутнього
Формат
Online
Початок навчання
Дата формується
Тривалість
32 занять
Рівень
Для дітей
Мова навчання
Ukrainian
Вартість
500 UAH за годину
Навчальний центр
SoftServe Academy
Формат
Online
Початок навчання
06.10.2025
Тривалість
10 місяців
Рівень
Для початківців
Мова навчання
Ukrainian, English
Вартість
55 993 UAH за курс