Практический курс

Программирование на Java (J2SE)

Целью данного курса является овладение языком программирование Java, приобретение практического опыта проектирования и написания программного обеспечения, получения знаний, в объеме, необходимом для прохождения собеседования на позицию junior java developer и прохождения сертификации в Oracle.
Более 60% времени изучения курса отведено практическим заданиям, выполняемым в группах, от реализации простых задач до применения декомпозиции и построения архитектуры и разработки более сложных задач приближенных к реальным условиям.
Заполните заявку на участие
Промокод
Менеджер перезвонит вам, когда получит ваши контакты.
Практический курс

Программирование на Java (J2SE)

Целью данного курса является овладение языком программирование Java, приобретение практического опыта проектирования и написания программного обеспечения, получения знаний, в объеме, необходимом для прохождения собеседования на позицию junior java developer и прохождения сертификации в Oracle.
Более 60% времени изучения курса отведено практическим заданиям, выполняемым в группах, от реализации простых задач до применения декомпозиции и построения архитектуры и разработки более сложных задач приближенных к реальным условиям.
Заполните заявку на участие
Промокод
Менеджер перезвонит вам, когда получит ваши контакты.
Когда начинается курс
ноябрь 2019,
160 академических часов
5 месяцев
2 раза/нед. 18:30-21:30
Узнать о следующем наборе
Где проходят занятия
г. Минск, ул. Притыцкого, 2 (BonHotel)
4 мин. до метро / большая парковка
Посмотреть на карте
Сколько стоит обучение
420 BYN/месяц
(13,13 BYN за учебный час)

Работает честная система рассрочки

Тренер курса

Владимир Минаков
Архитектор и CTO в Лаборатория перспективных разработок
Опыт коммерческой разработки более 10 лет

За время своей карьеры успешно сотрудничал с такими компаниями как Ximad inc., Xim, IMB, является обладателем патента на разработку в области нейрохирургии. Созданное тренером программное обеспечение, на сегодняшний день активно и успешно используется в РНПЦ травматологии и ортопедии в Минске. Является соучредителем компании "Лаборатория перспективных разработок", в которой и продолжает практиковать на позиции архитектора ПО, а также CTO.

На занятиях вам понадобится ноутбук

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

Введение в язык программирования Java
Язык программирования Java
Особенности Java
Технологии и ветви java: J2SE, J2EE, J2ME, JavaFX, JDK и JRE — назначение и состав
Установка Java
Первая программа на Java
Структура программы
Область подключения внешних пакетов (imports)
Область написания кода (кратко об объявлении класса, полей, методов, комментарии)
IDE IntelliJ IDEA (установка, настройка, первая программа в IntelliJ IDEA)
Основы программирования на Java
Системы счисления (двоичная, восьмеричная, десятичная, шестнадцатиричная)
Перевод из одной системы счисления в другую
Типы данных и переменные
Базовые типы
Ссылочные типы
Объявление переменных
Использование суффиксов
Символы и строки
Константы
Преобразования базовых типов данных
Потеря данных при преобразовании
Усечение рациональных чисел до целых
Преобразования при операциях
Операции языка Java
Арифметические операции
Логические операции
Операции сдвига
Операции сравнения
Операции присваивания
Приоритет операций
Массивы
Одномерные массивы
Многомерные массивы
Массив массивов
Работа с массивами и класс Arrays(Копирование массивов, Сортировка)
Условные конструкции
Конструкция if/else
Конструкция switch
Тернарная операция
Циклы
Цикл for и foreach
Перебор многомерных массивов в цикле
Цикл do
Цикл while
Операторы continue и break
Методы
Использование методов в программе
Передача параметров в методы
Перегрузка методов
Параметры переменной длины
Рекурсивные функции
Консольный ввод/вывод в Java
Вывод на консоли
Консольный ввод
Использование готовых классов в программе
Переменные ссылочных типов
Вызов методов на объектах
Работа со строками
Введение в строки. Возможности класса String
Основные методы класса String
Выполнение основных операций при работе со строками
Соединение строк (конкатенация)
Извлечение символов и подстрок
Сравнение строк
Поиск в строке
Замена в строке
Обрезка строки
Изменение регистра
Классы StringBuffer и StringBuilder
Получение и установка символов
Добавление в строку
Удаление символов
Обрезка строки
Изменение длины
Замена в строке
Обратный порядок в строке
Форматирование дат, работа с датами
Регулярные выражения
Использование регулярных выражений
Класс Matcher
Замена в строке
Разделение строки на лексемы
Объектно-ориентированное программирование
Классы и объекты
Создание объекта
Инициализаторы
Программа с классами
Создание классов в IDE Eclipse
Пакеты
Импорт пакетов и классов
Статический импорт
Модификаторы доступа (public, package friendly, protected, private) и инкапсуляция
Парадигма Инкапсуляция
Использование статических членов и модификатора static
Использование объектов в качестве параметров методов
Использование ключевого слова super в наследовании и полиморфизме
Парадигма Наследование
Парадигма Полиморфизм
Ключевое слово super
Запрет наследования
Абстрактные классы
Иерархия наследования, а также преобразование типов
Внутренние классы
Определение статических классов, а также внутренние классы
Интерфейсы
Использование интерфейсов в преобразовании типов
Методы по умолчанию
Статические методы
Дополнительно об интерфейсах
Вложенные интерфейсы
Механизм обратного вызова и его интерфейсы
Перечисления enum
Класс Object и его методы
Метод toString
Метод hashCode
Получение типа объекта и метод getClass
Метод equals
Обобщенные (Generics) типы и методы
Ограничения универсального типа
Использование нескольких универсальных параметров
Подстановки
Обобщенные методы, конструкторы и интерфейсы
Наследование классов и обобщение
Базовый обобщенный класс
Обобщенный класс-наследник
Преобразование обобщенных типов
Особенности ссылочных типов и их клонирование объектов
Работа с исключениями
Введение в обработку исключений
Что такое исключительная ситуация
Класс Exception
Средства перехвата и обработки исключения
Обработка нескольких исключений
Оператор throw
Классы исключений
Создание своих классов исключений
Коллекции
Введение в коллекции в Java
Интерфейс Collection
Класс ArrayList и интерфейс List
Класс LinkedList
Класс HashSet
Класс TreeSet
Интерфейсы Comparable и Comporator. Сортировка
Очереди и класс ArrayDeque
Интерфейс Queue
Интерфейс Deque
Класс ArrayDeque
Отображения и класс HashMap
Классы отображений
Класс TreeMap
Итераторы
Потоки ввода-вывода. Работа с файлами
Потоки ввода-вывода
Потоки байтов
Класс InputStreamКласс OutputStream
Класс OutputStream
Абстрактные классы Reader и Writer
Приемы закрытия потоков
Чтение и запись файлов. FileInputStream и FileOutputStream
Чтение файлов и класс FileInputStream
Запись файлов и класс FileOutputStream
Классы ByteArrayInputStream и ByteArrayOutputStream
Чтение массива байтов и класс ByteArrayInputStream
Запись массива байт и класс ByteArrayOutputStream
Буферизуемые потоки. Классы BufferedInputStream и BufferedOuputStream
Класс BufferedInputStream
Класс BufferedOutputStream
Использование классов PrintWriter и PrintStream
Классы DataOutputStream и DataInputStream
Запись данных и DataOutputStream
Считывание данных и DataInputStream
Работа с файлами (чтение, а также запись). FileReader и FileWriter
Использование класса FileWriter для записи файла
Использование класса FileReader для чтения файла
Буферизируемые символьные потоки. BufferedWriter и BufferedReader
Считывание текста и BufferedReader
Записывание текста и BufferedWriter
Считывание с консоли в файл
Сериализация объектов
Интерфейс Serializable
Сериализация/Десериализация. Класс ObjectOutputStream
Использование класса File. Приемы работа с файлами и каталогами
Работа с соккетами
Многопоточное программирование
Класс Thread
Недостатки при использовании потоков
Создание и завершение потоков
Наследование от класса Thread
Реализация интерфейса Runnable
Завершение потока
Синхронизация потоков. Оператор synchronized
Взаимодействие потоков. Задача "Producer-Consumer"
Методы wait и notify
Блокировки. ReentrantLock
Условия в блокировках
Семафоры
Обмен между потоками. Класс Exchanger
Пулл потоков (Thread pool)
JavaFX
Введение в JavaFX. Что такое JavaFX, сравнение с другими фреймворками
Разработка приложений JavaFX. Общие сведения
Настройка и подготовка к работе
Создание и запуск проекта JavaFX
Структурирование приложения. MVC
Проектирования пользовательского интерфейса. Приложение Scene Builder
Логика приложений JavaFX
Создание пользовательского интерфейса
Изучение компонентов управления, контейнеров
Привязка данных и триггеры
Контроль доступа
Транзакции
Параллельность в JavaFX
Данные приложения. JSON, SQLite
Дизайн приложения JavaFX. CSS
Создание собственного элемена управления, изучение иерархии пользовательских элементов
Использование конструктора сцен Scene Builder
Работа с графом сцены JavaFX
Эффекты, анимация и медиакомпоненты JavaFX
Лямбда-выражения (optional)
Введение в лямбда-выражения
Отложенное выполнение
Передача параметров в лямбда-выражение
Терминальные лямбда-выражения
Лямбды и локальные переменные
Блоки кода в лямбда-выражениях
Обобщенный функциональный интерфейс
Лямбды как параметры методов и ссылки на методы
Ссылки на метод как параметры методов
Ссылки на конструкторы
Встроенные функциональные интерфейсы
Predicate
BinaryOperator
UnaryOperator
Function<T,R>
Consumer
Supplier
Stream API
Введение в Stream API
Создание потока данных
Фильтрация, перебор элементов и отображение
Сортировка
Получение подпотока и объединение потоков
Методы skip и limit
Операции сведения
Метод reduce
Тип Optional
Метод collect
Группировка
Параллельные потоки
Параллельные операции над массивами
Java reflection API
Что такое рефлексия в Java, для чего используется
Получение не скрытых полей класса объекта
Получение скрытых полей класса объекта
Получение и вызов не скрытых методов класса объекта
Получение и вызов скрытых методов класса объекта
Работа с параметрами методов
Рефлексивный вызов конструктора, создание объекта без явного вызова его конструктора
JNI (Java Native Interface)
Что такое нативный интерфейс Java
Описание нативных методов
Утилита javah
Компиляция нативного кода
Подключение динамически линкуемых библиотек к проекту
Загрузка динамически линкуемых библиотек в коде
Модульность
Создание модуля
Зависимые модули
Взаимодействие между модулями

Есть возможность пройти краткое предварительное собеседование с тренером перед записью в группу для определения готовности к прохождению курса.

Что вы получите в результате прохождения этого курса?

Изучите
  • Java Core
  • JavaFX
  • IntelliJ IDEA
  • Eclipse
Научитесь
разрабатывать не только консольные приложения, но и приложения с современным графическим пользовательским интерфейсом
Получите
именной публичный репозиторий (хранилище) кода, который сможете демонстрировать на собеседованиях в качестве подтверждения имеющихся у вас знаний и навыков

Для кого этот курс?

Для тех, кто хочет изучить язык программирования Java на уровне, достаточном для прохождения интервью на позицию Junior Software Developer.
Для тех, кто хочет научиться разрабатывать программное обеспечение, используя одну из самых востребованных на сегодняшний день платформ.
Для тех, кто уже умеет программировать, но хочет освоить Java и индустриальные стандарты программирования на этом языке.
Сообщить о следующем наборе
Оставьте нам свои контакты и мы сообщим Вам о следующем старте
Отправляя заявку, Вы выражаете свое согласие на обработку Ваших персональных данных сотрудниками ООО "Мой понедельник"
Не подходит расписание?
Оставьте нам свои контакты и мы предложим Вам другие варианты
Отправляя заявку, Вы выражаете свое согласие на обработку Ваших персональных данных сотрудниками ООО "Мой понедельник"
При успешном окончании курса вы получите:

Ценности студии "Мой понедельник"

1
Никаких "котов в мешке"
Оплата только после назначения даты старта занятий
2
Личный менеджер на все время обучения
Все ответы на организационные вопросы у знакомого вам человека
3
Оплата работы тренера, а не аренды компьютера
Вы платите только за то, что действительно приносит вам пользу
4
Оплата от одного занятия
Вы можете вернуть деньги, если на первом занятии вам не понравится.
Также работает Честная система рассрочки.
5
Корпоративное обучение
Тренер готов обучить ваших сотрудников в вашем офисе.
Посмотреть предложение для компаний
6
Кофе и печеньки
В перерывах для лучшей работы мозга
Вас также могут заинтересовать:
Прокачайте свою карьеру!
У вас остались вопросы?
Заполните форму ниже, и с вами свяжется менеджер, чтобы рассказать подробнее о курсе. Вы также можете сами позвонить нам по номеру
+375 (29) 504-25-42
Записаться на курс
"Программирование на Java (J2SE)"
Отправляя заявку, Вы выражаете свое согласие на обработку Ваших персональных данных сотрудниками ООО "Мой понедельник"
Задать вопрос
"Программирование на Java (J2SE)"
Ваш вопрос
Отправляя заявку, Вы выражаете свое согласие на обработку Ваших персональных данных сотрудниками ООО "Мой понедельник"