Курс 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, щоб не пропустити анонси нових курсів.