Опис курсу:

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

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

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

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

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

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

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

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