Опис курсу:

Курс призначений для студентів, які хочуть навчитися програмуванню на основі платформи Java Standard Edition. Ми навчимо Вас розробці та налагодженню аплікацій, познайомимо з основними елементами технології та конструкціями мови Java Standard Edition, основними архітектурними та проектувальними прийомами в рамках платформи. Ви навчитеся основам Web-програмування та дізнаєтеся про мережеві можливості Java. Під керівництвом викладача самостійно напишете програмний проект і презентуєте його.

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

  • Розробляти, проводити налагодження додатків і впроваджувати аплікації в рамках платформи JavaSE.
  • Використовувати основні елементи технології та конструкції мови JavaSE, архітектурні та проектувальні прийоми в рамках платформи.
  • Перейти на розширений курс навчання.

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

  • Урок 1. Загальна характеристика мови Java
    • Історія мови Java
    • Байт-код
    • Віртуальна машина Java (JVM)
    • Трансляція, інтерпретація і компіляція
    • JIT-компіляція
    • JDK і його структура
    • Команди JDK: javac, java, appletviewer, jar (en10)
    • Їх використання і параметри
    • Пошук і завантаження класів
    • Створення і запуск першого додатку на Java
    • Вихід з програми і завершення її роботи
    • Використання IDE Eclipse / NetBeans / Intellij IDEA для створення і виконання програм
  • Урок 2. Типи даних і основні операції з ними
    • Алфавіт мови
    • Коментарі
    • Ключові слова
    • Прості (примітивні) типи даних
    • Ідентифікатори, вибір імен ідентифікаторів
    • Змінні та константи
    • Оголошення і ініціалізація змінних
    • Типи даних: прості і за посиланням
    • Область видимості і час життя змінних
    • Оператори
    • Операції: арифметичні, привласнення, відношення і логічні
    • Перетворення і приведення числових типів
    • Пріоритет операцій
    • Використання круглих дужок
  • Урок 3. Потік управління
    • Складовий оператор (блок)
    • Умовний оператор і його види
    • Оператор switch
  • Урок 4. Потік управління
    • Цикли: for, while, do while
    • Нескінченні цикли
    • Переривання потоку керування, мітки
    • Оператор goto і причини чому його не слід застосовувати
  • Урок 5. Масиви
    • Оголошення і ініціалізація масивів, в т.ч. анонімних
    • Лінійні масиви
    • Ітерація за елементами масиву
    • Масиви і присвоєння
    • Передача та повернення масивів в/з методів
    • Копіювання масивів
    • Клас Arrays: заповнення, порівняння елементів і їх сортування
    • Пошук в масивах
  • Урок 6. Масиви
    • Багатовимірні масиви, «нерівні» масиви
    • Методи: аргументи змінної довжини
    • Параметри командного рядка
    • Рядки
      • Клас String. Незмінні об'єкти
      • Зберігання рядків в пам'яті
      • Основні операції класу String (створення, конкатенація, порівняння, пошук символів і підрядків в рядках і ін.). Перетворення простих типів даних
  • Урок 7. Рядки
    • Розбивка рядків: клас StringTokenizer. Змінні об'єкти: класи StringBuffer і StringBuilder
    • Основні методи. StringBuffer vs StringBuilder
  • Урок 8. Введення в ООП
    • Об'єкти і класи
      • Класи. Поля і методи (визначення, синтаксис оголошення)
  • Урок 9. Об'єкти і класи
    • Специфікатори доступу public і private
    • Поля класів: ініціалізація явна і за замовчуванням, специфікатор final і константи.
    • Доступ до полів і методів
    • Методи: параметри (посилання і прості типи) і set і get-методи, як повертаються та використовуються, перезавантаження методів, правила перезавантаження
  • Урок 10. Введення в UML
    • Об'єктна модель. Основні положення: абстрагування, інкапсуляція, модульність, ієрархія
    • Діаграми класів UML.
    • Об'єкти і класи. Об'єкти. Визначення (з прикладами). Стан. Поведінка.
    • Операції. Ідентичність. Інкапсуляція
    • Конструктори: конструктори за умовчанням, виклик одного конструктора з іншого
    • Блоки ініціалізації
    • Статичні поля і методи: ініціалізація константи, статичні блоки ініціалізації. Використання this для доступу до членів класу
    • Збір сміття та видалення об'єктів
  • Урок 11. Відношення між об'єктами
    • Залежності, їх різновиди
    • Узагальнення
    • Асоціації
    • Реалізації
    • Зв'язки, їх множинність
  • Урок 12. Спадкування і поліморфізм. Пакети
    • Спадкування і поліморфізм як інструмент створення ПО. Суперклас і підкласи, ставлення узагальнення, спадкування в Java. Виклик конструкторів суперкласів, порядок викликів. Ключове слово super ()
    • Перевизначення методів, правила перевизначення. Спадкування і статичні поля і методи класів. Абстрактні класи та методи, - поняття, виклик конструкторів, реалізація методів в субкласи
    • Інтерфейси. «Множина» успадкування. Визначення та реалізація інтерфейсів. Розширення інтерфейсів. Композиція як альтернатива множинного спадкоємства
    • Поліморфізм. Ієрархія спадкування
    • Перетворення і приведення типів. Використання instanceof. Відмова від спадкування: термінальні (final) методи і класи. Включення як альтернатива множинного спадкоємства
    • Пакети. Вкладеність пакетів. Повторне використання коду та пакети. Захист доступу. Імпорт: класів, статичних методів і полів
  • Урок 13. Клас Object
    • Глобальний суперклас Object
    • Методи equals (), hashCode (), toString (), finalize (), clone () і ін
    • Правила реалізації equals () і hashCode ()
    • Інтерфейс Cloneable і його реалізація
    • Клонування: поверхневе і глибоке
    • Внутрішні класи. Перерахування
      • Синтаксис оголошення
      • Створення об'єктів внутрішніх класів
      • Поля і методи внутрішніх класів
      • Вкладеність внутрішніх класів і доступ до членів зовнішніх класів
      • Посилання this у внутрішньому класі
      • Доступ до полів і методів зовнішнього класу з внутрішнього
      • Внутрішні класи і специфікатор доступу
      • Вкладені інтерфейси
      • Застосування внутрішніх класів
      • Внутрішні локальні класи (Method-LocalInnerClasses)
      • Анонімні внутрішні класи
      • Вкладені (внутрішні статичні) класи (static nested classes)
      • Створення примірників
      • Доступ до примірника зовнішнього класу
      • Компіляція програм з внутрішніми класами
      • Перерахування. Перерахування як класи. Методи values (), valueof (), name (), ordinal (). Константи, конструктори, методи і поля
      • Перерахування і конструкція switch. Імпорт членів перерахувань
  • Урок 14. Робота з базами даних
    • Основи побудови баз даних. Нормальні форми. Запити SELECT, INSERT, UPDATE, DELETE
    • JDBC
    • Driver, Connection, Statement, ResultSet
  • Урок 15. Обробка помилок і виключення
    • Підходи до обробки помилок часу виконання
    • Поняття виключення і виняткової ситуації
    • Ієрархія класів винятків в Java
    • Контрольовані (що перевіряються) і неконтрольовані (що не перевіряються) виключення
    • Генерація виняткової ситуації і оператор throw
    • Оголошення контрольованих винятків, ключове слово throws
    • throws і перезавантаження методів
    • Перехоплення винятків
    • Перехоплення «всіх» винятків
    • Обробка виключень
    • Повторна генерація винятків
    • Блок finally: звільнення ресурсів
    • Створення власної ієрархії виключень
    • Реєстрація помилок, логування: логери, рівень логер, рівень повідомлень, обробники (об'єкти підкласу java.util.logging.Handler)
    • Приклад
    • Система введення-виведення
      • Потоки, ієрархія класів потокового введення-виведення: поняття потоку, потоки введення/виведення, механізм роботи з потоками, ієрархія потокового введення-виведення
      • Субкласи FilterOutputStream і FilterInputStream
      • Байтові потоки
      • Символьні потоки
      • Клас File. Клас RandomAccessFile
      • Серіалізація і десеріалізація об'єктів: поняття, призначення, реалізація
      • Приклад
  • Урок 16. Desktop-додатки
    • SWING, AWT. Приклад простого додатка з GUI
    • Універсальні типи
      • Параметризовані типи: класи і інтерфейси. Параметри типу
      • Обмеження, накладені на параметризовані типи: прості типи, інстанціювання, суперклас, виняток. Параметризовані типи і JVM
    • Класи колекцій
      • Поняття абстрактного типу даних (АТД)
      • Структури даних: списки, стеки, безлічі, дерева, карти
      • Обхід колекцій: інтерфейси Iteratorта і ListIterator, цикл «foreach»
      • Компаратори
      • Клас Collections: пошук і сортування елементів, заповнення, синхронізоване уявлення, незмінні уявлення і ін.
  • Урок 17. Класи колекцій
    • Поняття абстрактного типу даних (АТД)
    • Структури даних: списки, стеки, безлічі, дерева, карти
    • Обхід колекцій: інтерфейси Iteratorта і ListIterator, цикл «foreach»
    • Компаратори
    • Клас Collections: пошук і сортування елементів, заповнення, синхронізоване уявлення, незмінні уявлення і ін.
  • Урок 18. Знайомство з XML
    • Поняття потоку. Особливості паралельного виконання
    • Потоки-демони
      • Пріоритети потоків. Метод yield ()
      • Стан потоку: створення потоків, -runnable і -runninig - потоки
      • Поняття формальної коректності і допустимості. приклади
      • Багатопотоковість
  • Урок 19. Класи BigInteger і BigDecimal. Основні операції
    • Документування коду
      • Включення коментарів
      • Документування пакетів
      • Дескриптори загального призначення
      • Коментарі до класів, методам і полів
      • Використання javadoc
  • Урок 20. Універсальні типи
    • Параметризовані типи: класи і інтерфейси. Параметри типу
    • Обмеження, накладені на параметризовані типи: прості типи, інстанціювання, суперклас, виняток. Параметризовані типи і JVM
  • Захист програмного проекту
 

Мінімальні вимоги:

  • Базове розуміння ООП
  • Власний ПК
 

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