Опис курсу:

Курс призначений для студентів, які хочуть навчитися програмуванню на основі платформи 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 для створення і виконання програм
  • Типи даних і основні операції з ними
    • Алфавіт мови
    • Коментарі
    • Ключові слова
    • Типи даних: прості (примітивні) і по посиланню
    • Ідентифікатори, вибір імен ідентифікаторів
    • Змінні і константи
    • Оголошення і ініціалізація змінних
    • Область видимості і час життя змінних
    • Оператори
    • Операції: арифметичні, привласнення, відносини і логічні
    • Перетворення і приведення числових типів
    • Пріоритет операцій
    • Використання круглих дужок
  • Потік управління
    • Складовою оператор (блок)
    • Умовний оператор і його види
    • Оператор switch
    • Цикли: for, while, do while
    • Нескінченні цикли
    • Переривання потоку керування, мітки
    • Оператор goto і причини чому його не слід застосовувати
  • Масиви
    • Оголошення і ініціалізація масивів, в т.ч. анонімних
    • Лінійні масиви
    • Ітерація за елементами масиву
    • Масиви і присвоєння
    • Передача і повернення масивів в / з методів
    • Копіювання масивів
    • Клас Arrays: заповнення, порівняння елементів і їх сортування
    • Пошук в масивах
    • Багатовимірні масиви, «нерівні» масиви
    • Методи: аргументи змінної довжини
    • Параметри командного рядка
  • Рядки
    • Клас Незмінні об'єкти
    • Зберігання рядків в пам'яті
    • Основні операції класу String (створення, конкатенація, порівняння, пошук символів іподстрок в рядках і ін.). Перетворення простих типів даних
    • Розбивка рядків: клас StringTokenizer. Змінні об'єкти: класи StringBuffer і StringBuilder
    • Основні методи. StringBuffer vs StringBuilder
  • Введення в ООП. Об'єкти і класи
    • Поля і методи (визначення, синтаксис оголошення)
    • Специфікатори доступу public і private
    • Поля класів: ініціалізація явна і за замовчуванням, специфікатор final і константи
    • Доступ до полів і методів
    • Методи: параметри (посилання і прості типи) і ті, що повертаються, використання set і get- методів, перезавантаження методів, правила перезавантаження
    • Об'єктна модель. Основні положення: абстрагування, інкапсуляція, модульність, ієрархія
    • Діаграми класів UML.
    • Об'єкти і класи. Об'єкти. Визначення (з прикладами). Стан. Поведінка.
    • Конструктори: конструктори за умовчанням, виклик одного конструктора з іншого
    • Блоки ініціалізації
    • Статичні поля і методи: ініціалізація константи, статичні блоки ініціалізації. Використання 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 ().  Константи, конструктори, методи і поля
    • Перерахування і конструкція Імпорт членів перерахувань
  • Робота з базами даних
    • Основи побудови реляційних баз даних.
    • 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

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

  • Базове розуміння ООП
  • Наявність власного ноутбуку для занять в аудиторіях

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