Курс Java Pro в Дніпрі, навчання JAVA програмування з працевлаштуванням | ITEA Dnipro

Курс Java Pro

Старт навчання
Старт курсу запитуйте в адміністрації
111 год. по 2-3 рази на тиждень

Після курсу Ви зможете:

  • Писати мовою Java різні проєкти
  • Створювати свій завантажувач класів
  • Розробляти невеликі IoC-контейнери (маленький Spring)
  • Писати модульні тести й працювати за 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
  • Як вести себе на співбесіді
  • Основні помилки на співбесіді
  • Урок англійської мови №1
  • Урок англійської мови №2
  • Урок пошуку роботи

* Примітка: зазначені знижки не сумуються з іншими діючими акціями та спеціальними пропозиціями. Знижка застосовується тільки до нових заявок та при умові повної оплати курсу. Якщо у Вас виникли питання, звертайтеся за консультацією до наших менеджерів!

spinner-it

Курс на IT — повний вперед! Дізнатись актуальний розклад

На жаль, у звязку з війною ІТЕА завершила свою діяльності в Україні.

This will close in 20 seconds