(первый этап — до начала обучения, второй — в первой половине обучения, третий - во второй половине обучения)
Режим и формат обучения:
Период обучения: 4 апреля — 15 июня 2023Расписание: 2 раза в неделю (ВТ, ЧТ)
Время: 18:15-22:00
Формат: Гибридный (на выбор) — онлайн в режиме реального времени или офлайн по адресу: г. Минск, ул. Амураторская, 4. (ст. м. Молодежная).
Записи занятий доступны к пересмотру на протяжении всего обучения +неделю после.
Курс для:
- начинающих программистов, желающих изучить основы Java Core.
- новичков в программировании.
- начинающих работать с Java, которые хотят получить практический опыт.
- программистов на других языках, которые хотят получить максимально быстрый и эффективный старт.
В ходе курса слушатели изучат:
— использование лексики Java, идентификаторов, ключевых слов, типов данных;
— использование выражений и операторов управления ходом выполнения приложения;
— использование массивов, работа с исключительными ситуациями;
— использование принципов объектно-ориентированного программирования, классов, объектов, интерфейсов, перечислений, аннотаций;
— библиотечные классы Java SE, особенности их импортирования и использования;
— использование обобщений и Java Collection Framework;
— использование систем ввода/вывода консольного, файлового, сетевого;
— использование многопоточной обработки данных;
— организацию пользовательского интерфейса;
— использование инструментов и методов сборки приложений.
Преподаватель курса:

Марина Салапура
Опыт работы в сфере IT более 10 лет. Руководитель проектов в БГУИР по курсам «Объектно-ориентированное программирование», «Программирование сетевых приложений», «Системный анализ и проектирование информационных систем», магистр экономических наук.
Для успешного освоения курса требуется:
- Выполнять все домашние задания;
- Создать итоговый проект.
По окончании курса вы получите:
- Сертификат Института IBA.
Программа курса:
Раздел 1 — Знакомство с курсом1-1 О курсе, определение целей и задач курса, стратегия изучения курса. Обзор программных компонент, используемых в курсе.
1-2 Краткая история, примеры использования Java в повседневной жизни.
1-3 Настройка Java. Различия между JDK и JRE, файлами *.java и *.class, использование интегрированной среды разработки (IDE), скачивание и установка JDK, JRE, IDE, импорт проекта в IDE. Java технология. Байт-код. Анализ и выполнение простого Java приложения
Раздел 2 — Процесс разработки программного обеспечения с использованием платформы Java
2-1 Спиральная модель разработки, распознавание задач и подзадач спиральной модели, осознание, что происходит, когда шаги игнорируются, определение функций программного обеспечения, изучение постепенной реализации опций приложения
2-2 Выполнение программы на Java. Установка и использование точек останова, использование операторов, организация кода с использованием пробелов и других условных обозначений, использование комментариев. Использование интерактивной документации Java API
2-3 Введение в концепцию объектно-ориентированного программирования. Различия процедурного и объектно-ориентированного программирования. Класс как основа для создания объекта, объекты как экземпляры класса. Объектная модель как комбинация свойств (полей, данных) и поведения (методов)
Раздел 3 — Идентификаторы, ключевые слова, типы данных Java
3-1 Лексика языка Java. Ключевые слова. Общие сведения о переменных. Принципы именования. Примитивные типы данных. Переменные примитивного типа и ссылочные переменные. Структура памяти: куча, стек.
3-2 Изучение преимуществ переменных, выделение четырех основных типов переменных: (boolean, int, double, String), объявление и присваивание значений переменным, именование переменных в соответствии с соглашениями
3-3 Числовые данные. Различия целочисленных типов данных (byte, short, int, long), различия типов данных с плавающей запятой (float, double), манипулирование числовыми данными и выполнение математических операций с ними. Использование круглых скобок и порядок выполнения операций
3-4 Текстовые данные. Использование типа данных char, использование строк, конкатенации строк, использование escape-последовательностей,
3-5 Преобразования типов данных. Использование преимуществ автоматического продвижения, преобразование переменных к другим типам данных, парсинг строк в числовые значения
3-6 Вводов данных с клавиатуры. Пользовательский ввод, создание JOptionPane для получение пользовательского ввода, использование класса Scanner для получения данных, вводимых с консоли и из файла
Раздел 4 — Выражения и операторы управления ходом выполнения приложения
4-1 Основные сведения об условном исполнении. Булевы выражения и их использование в управляющих конструкциях. Логические выражения и конструкции if/else: объявление, инициализация использование логических переменных, сравнение логических выражений с использованием операторов отношения, создание оператора if, создание конструкций if/else, сравнение строк
4-2 Условные выражения, условное выполнение, логические операторы, «укороченные формы» логических операторов, построение цепочек условных операторов
4-3 Оператор switch. Создание структуры управления switch, сравнение конструкций if/else со структурой оператора switch
4-4 Цикл for: компоненты стандартного цикла for, создание и использование цикла for, область действия переменных, методы отладки циклов, бесконечные циклы
4-5 Циклы while и do-while. Использование циклов while (цикл с предусловием), использование цикла do-while (цикл с постусловием), целесообразность использования каждого типа цикла
4-6 Использование операторов break, return, continue
Раздел 5 — Методы Java и библиотечные классы
5-1 Структура кода класса, создание экземпляра объекта, преимущества методов, использование оператора точки (.) для доступа к полям и методам объекта, предоставление аргументов методу, возвращение аргументов из метода
5-2 Использование оператора import и пакетов. Доступ к содержимому класса. Статический import. Использование оператора import для получения доступа к классу из пакета, цель использования оператора звездочка (*) в инструкции импорт, идентификация пакетов, которые автоматически импортируются в приложение
5-3 Класс String. Анализ методов класса String, лексикографическое сравнение двух строковых объектов, нахождение подстроки в объекте String, извлечение подстроки из объекта String. Использование StringBuffer для создания строк.
5-4 Класс Random. Использование случайных чисел, определение методов класса Random, которые создают случайные числа, получение случайных чисел в диапазоне.
5-5 Класс Math. Методы и поля класса Math, использование методов класса Math для выполнения математических вычислений
5-6 Класс java.util.Arrays. Методы класса Arrays, использование методов класса Arrays для выполнения операций над массивами
5-7 Использование регулярных выражений. Поиск в строках, парсинг строк, замена в строках
Раздел 6 — Массивы и исключения
6-1 Одномерные массивы. Создание и инициализация одномерных массивов. Изменение элементов массива. Перебор содержимого одномерного массива с помощью цикла for. Определение причины исключения типа ArrayIndexOutOfBoundsException
6-2 Класс ArrayList. Создание объекта типа ArrayList. Манипулирование объектом типа ArrayList с помощью методов. Перебор содержимого объекта типа ArrayList с помощью итераторов и циклов for-each. Использование классов-оболочек и автоупаковки для добавления примитивных типов данных в объект типа ArrayList.
6-3 Использование обработки исключений для создания надежных приложений. Определение и обработка исключений. Обработка исключения с помощью конструкции try, catch, finally. Категории исключений. Обработка исключений, создаваемых в среде Java. Создание пользовательских исключений и автозакрываемых ресурсов. Использование диагностических утверждений
6-4 Концепции и методы отладки. Тестирование и отладка Java-программы. Определение типов ошибок. Применение методов отладки: вывод сообщений, использование отладчика IDE
Раздел 7 — Классы, объекты классов, интерфейсы
7-1 Создание класса в IDE. Описание полей (свойств) и поведения (методов). Моделирование бизнес-решений с использованием классов. Создание неизменяемых классов. Создание экземпляров класса (объектов). Понимание особенностей создания экземпляров объектов в памяти, ссылки на объекты, различие между стеком и кучей памяти
7-2 Конструкторы. Конструктор по умолчанию, конструктор, принимающий аргументы, инициализация полей с помощью конструктора, использование ссылки на объект. Перегрузка методов. Использование нескольких конструкторов в классе, сигнатура метода, понимание, когда перегрузка возможна, а когда нет
7-3 Взаимодействие объектов и инкапсуляция. Использование модификаторов private, protected, public, default для определения доступа к содержимому класса. Методы типа get и set
7-4 Статические переменные и методы. Создание статической переменной и статического метода, их использование в программе. Использование ключевого слова final переменными, методами, классами
7-5 Использование интерфейсов. Моделирование бизнес-решений с использованием классов (сущностей) и интерфейсов (поведения). Абстрактные классы. Использование оператора instanceof для анализа типа объектов. Использование абстрактных методов и классов. Восходящее и нисходящее приведение типов. Использование принципов наследования и полиморфизма. Переопределение методов. Использование аннотаций (метаданных)
7-6 Использование лямбда-выражений
Раздел 8 — Обобщения и коллекции (Java Collection Framework)
8-1 Обобщения. Создание обобщенного класса. Использование ромбовидного оператора <> при создании объекта. Использование обобщенных методов. Использование подстановочных символов. Использование перечисляемых типов
8-2 Коллекции. Интерфейсы и классы коллекций Создание коллекции без использования обобщений. Создание коллекции с использованием обобщений. Работа с содержимым коллекции. Коллекции типа List (списки), Set (множества), Map (отображения). Создание объектов типа ArrayList, Set, HashMap. Использование интерфейсов Comparable и Comparator, Iterator, Iterable
8-3 Сортировка и поиск. Определение порядка сортировки примитивных типов и объектов. Написание кода для выполнения простой пузырьковой сортировки целых чисел.
Раздел 9 — Система ввода/вывода, работа с файлами, многопоточное программирование, работа в сети, сериализация
9-1 Потоковый ввод/вывод данных. Чтение данных с клавиатуры. Вывод данных на консоль. Файлы и файловый ввод/вывод. Сериализация и десериализация объектов
9-2 Использование аргументов командной строки и системные свойства. Класс Properties
9-3 Создание многопоточных приложений. Определение потока выполнения. Синхронизация
9-4 Работа в сети. Разработка сетевого соединения по протоколу TCP/IP. Использование классов ServerSocket и Socket для реализации TCP/IP клиентов и серверов
Раздел 10 — Организация интерфейса пользователя. javafx
10-1 Общие сведения о JavaFX. События и модель обработки событий в Java SE. Паттерн MVC
10-2 Составные части GUI: контейнеры, компоненты, панель меню, менеджеры компоновки
10-3 Создание GUI с помощью JavaFX компонент. Обработка событий
Раздел 11 — Инструменты и методы сборки приложений. Maven
11-1 Особенности актуальной версии Java
11-2 Основы и методы сборки приложений, написанных на Java
11-3 Использование Maven
Отзывы cлушателей курса:
Курс был интересным с погружением в ООП. Удивило то, что язык активно развивается и каждые пол года выходят обновления. Еще понравилась среда разработки, которая многое подсказывает, контролирует, может создать некоторые конструкции по запросу разработчика. Отдельный респект преподавателю – Марине Салапура. Еще хотела бы пройти курс, который связан с разработкой на Java, например, «Spring Framework 4.0».
Ольга Харитончик
На выбор курса по Java в Институте IBA на меня повлияли доступность обучения, гибридный формат занятий и то, что после ваших курсов, человек который мне их советовал устроился на работу разработчиком. Курс насыщенный, много материала, который максимально доходчиво объясняется преподавателем, цель обучения — не зазубрить, а разобраться в принципах работы. Хотел бы еще пройти курсы по Spring и Java EE.
Станислав Марковский
Получить дополнительную информацию:
+375 29 690 40 33, HPaulovich@instituteiba.by