Язык программирования Java:
Курс нацелен на глубокое изучение основ языка программирования Java. Каждое занятие сопровождается домашними заданиями для закрепления теории. Курс наполнен большим количеством практических и интересных задачек.
Во время решения задач, учащийся, как правило закрепляет не только свои знания по программированию, но и развивает логику, алгоритмическое мышление и математические способности.
В течение всего курса предусмотрены консультации преподавателя и сопровождение на протяжении всех 9 месяцев учебного года.
Изучаемые разделы:
- Введение в язык программирования Java
- Особенности языка программирования Java.
- JVM. JRE. JDK.
- Среды разработки на Java
- Обзор сред разработки на языке программирования Java.
- Создание проекта и запуск первой программы в IntelliJ IDEA
- Введение в типы данных и операции над ними
- Примитивные типы данных: Integer, Floating Point, Character, Boolean и их подтипы.
- Управляющие операторы
- Ввод символов с клавиатуры.
- Условный оператор.
- Оператор switch.
- Циклы с пред- и постусловием.
- Операторы завершения итерации.
- Вложенные циклы.
- Основные языковые конструкции Java
- Дополнительные сведения о типах данных и операциях:
- Представление о массивах.
- Одномерные и многомерные массивы.
- Создание нерегулярных массивов.
- Ссылки на массивы.
- Использование расширенного цикла for.
- Манипулирование символьными строками.
- Использование аргументов командной строки.
- Поразрядные операторы.
- Собственные методы
- Разработка собственных методов.
- Передача параметров.
- Методы c выходным параметром.
- Объекты и классы
- Основные сведения о классах.
- Объектная модель.
- Создание объектов.
- Присваивание ссылок на объекты.
- Создание методов, возврат значений и использование параметров.
- Конструкторы.
- Создание параметризованных конструкторов.
- Сборка мусора и методы завершения.
- Ключевое слово this.
- Наследование
- Введение в наследование.
- Типы наследования.
- Решение задач на наследование.
- Интерфейсы и внутренние классы
- Интерфейсы.
- Клонирование объектов.
- Интерфейсы и обратные вызовы.
- Внутренние классы.
- Прокси-классы.
- Обработка событий
- Библиотека Swing и шаблон проектирования "модель-представление-контроллер".
- Введение в компоновку пользовательского интерфейса.
- Ввод текста.
- Компоненты для выбора разных вариантов.
- Меню.
- Расширенные средства компоновки.
- Диалоговые окна
- Программирование графики
- Создание фрейма.
- Расположение фрейма.
- Отображение данных в компоненте.
- Двухмерные формы.
- Окрашивание цветом.
- Специальное шрифтовое оформление текста.
- Вывод изображений
- Компоненты пользовательского интерфейса в Swing
- Происхождение и философия Swing.
- Компоненты и контейнеры Swing.
- Создание, компиляция и выполнение простого Swing-приложения.
- Компоненты JButton, JTextField, JCheckBox, JList и другие.
- Создание аплета средствами Swing
- Введение в базы данных
- Структура JDBC.
- Введение в SQL.
- Выполнение запросов.
- Метаданные.
- Объектная модель работы с базой данных
- Работа с базой данных исходя из объектной работы с данными.
- Проектная работа “Создание desktop-приложения”
- Разработка проекта включает в себя несколько занятий и нацелена на обретение практического навыка по написанию больших программных продуктов. Учащимся предлагается выбрать направление своей программы из нескольких вариантов и реализовать свой программный продукт с помощью навыков, полученных в течение изучения первых двух частей курса.
- Развертывание приложений и аплетов
- Файлы формата JAR
- Технология Java Web Start
- Аплеты
- Сохранение глобальных параметров настройки приложений
- Исключения, утверждения, протоколирование и отладка
- Обработка ошибок
- Перехват исключений
- Рекомендации по обработке исключений
- Протоколирование
- Рекомендации по отладке программ с ГПИ
- Применение отладчика
- Обобщенное программирование
- Определение простого обобщенного класса
- Обобщенные методы
- Обобщенный код и виртуальная машина
- Правила наследования обобщенных типов
- Подстановочные типы
- Рефлексия и обобщения
- Коллекции
- Интерфейсы коллекций
- Конкретные коллекции
- Архитектура коллекций
- Алгоритмы
- Унаследованные коллекции
- Многопоточная обработка
- Назначение потоков
- Прерывание потоков
- Состояния потоков
- Синхронизация
- Блокирующие очереди
- Потокобезопасные коллекции
- Исполнители
- Синхронизаторы
- Потоки и библиотека Swing
- Потоки ввода-вывода и файлы
- Потоки ввода-вывода
- Ввод-вывод текста
- Чтение и запись двоичных данных
- ZIP-архивы
- Потоки ввода-вывода и сериализация объектов
- Потоки ввода-вывода и сериализация объектов
- XML, JSON
- Общие сведения об XML
- Синтаксический анализ XML-документов
- Проверка достоверности
- Поиск информации средствами XPath
- Потоковые синтаксические анализаторы
- Формирование XML-документов
- Общие сведения о json
- Формирование документов json
- Синтаксический анализ документов json
- Работа в сети
- Подключение к серверу
- Реализация серверов
- Прерываемые сокеты
- Получение данных из Интернета
- Профессиональная работа с базами данных
- Структура JDBC
- Язык SQL
- Конфигурирование JDBC
- Выполнение команд SQL
- Прокручиваемые и обновляемые результирующие наборы
- Метаданные
- Транзакции
- Расширенные средства Swing
- Списки
- Таблицы
- Деревья
- Текстовые компоненты
- Индикаторы состояния
- Организаторы и декораторы компонентов
- Расширенные средства AWT
- Конвейер визуализации
- Фигуры
- Участки
- Обводка
- Раскраска
- Преобразование координат
- Прозрачность и композиция
- Манипулирование изображениями
- Вывод изображений на печать
- Буфер обмена
- Компоненты JavaBeans
- Создание компонентов JavaBeans
- Применение компонентов JavaBeans для разработки приложений
- Типы свойств компонентов JavaBeans
- Редакторы свойств
- Безопасность
- Загрузчики классов
- Верификация байт-кода
- Диспетчеры защиты и полномочия
- Аутентификация пользователей
- Цифровые подписи
- Подписание кода
- Шифрование
- Создание сценариев, компиляция и обработка аннотаций
- Написание сценариев для платформы Java
- Прикладной интерфейс API для компилятора
- Синтаксис аннотаций
- Обработка аннотаций на уровне исходного кода
- Конструирование байт-кодов
- Распределенные объекты
- Роли клиента и сервера
- Вызовы удаленных методов
- Модель программирования RMI
- Параметры и возвращаемые значения в удаленных методах
- Активизация удаленных объектов
- Разработка мобильных приложений
- Особенности разработки мобильных приложений на Java.
Разметка интерфейсов.
- Проектная работа по разработки мобильного приложения
- Разработка мобильного приложения под Android.
- Разработка мобильного приложения под iOS.
- Проектная работа по разработке облачного сервиса
- Разработка облачного сервиса включает в себя весь спектр необходимых практических навыков: от разработки серверной и клиентской веб части до системы контроля версий и средств развертки приложения на хостинге.