Язык программирования Java (Java SE10). Уровень 1. Базовый курс
Программирование и IT

Язык программирования Java – один самых популярных языков программирования  в мире (согласно индексу TIOBE).

С помощью Java создаются серверное ПО, многочисленные прикладные программы, любые веб-сайты, как их серверная, так и пользовательская часть, многие компьютерные и мобильные игры. Приложения, разработанные на Java, четко и корректно работают на компьютерах с любой архитектурой.

Данный курс - это основа для написания осмысленных программ. Вы изучите основные тонкости Java: начиная от переменных и заканчивая объекто-ориентированным программированием, работой с файлами и написанием своего первого кода на Java. 

Записаться на курс

Ближайший старт групп

13 сентября
02 октября
01 ноября

Длительность курса

39 ак.часов

Стоимость курса

27 450 руб.

Форматы обучения

очно и онлайн
Для кого
подойдет этот курс
разработчикам на Java

для создания веб-сайтов, приложение под Windows или мобильных приложений

новичкам

для освоения языка Java и его практического применения в дальнейшем

Чему вы научитесь

работать в интегрированной среде разработки

элементам и конструкциям языка Java, узнаете, что такое Java EE

объектно-ориентированному программированию: инкапсуляция, наследование, полиморфизм

встроенным классам Java

работать с сетью, многопоточностью, интерфейсах и функциональными интерфейсами

Программа курса
В этом курсе вас ожидает
21 тематический
модуль
39 академических
часов
В этом курсе вас ожидает
21 тематический
модуль
39 академических
часов
Введение в Java, обзор платформ и технологий. Функциональные связи
    • Введение в Java. История создания. Преимущества. Java Standard Edition 10. Новые возможности.
Синтаксис Java
    • Синтаксис Java. Словарь Java. Примитивные и объектные типы в Java. Операторы. Управляющие структуры. История развития языка, нововведения от JDK 1.5 до JDK 1.10.
Объектно-ориентированное программирование (OOP) в Java
    • Процедурное и объектно-ориентированное программирование. Инкапсуляция. Объекты и объектные переменные. Сборка мусора. Пакеты. Уровни видимости классов. Импорт классов. Введение в NetBeans и IntelliJ IDEA. Документирование кода в Java. Javadoc.
Наследование и полиморфизм, базовый класс Object
    • Построение иерархии классов. Диаграммы классов UML. Методы. Модификаторы. Передача примитивных типов в методы. Локальные и глобальные переменные. Модификаторы доступа и правила видимости. Зарезервированное слово this. Наследование. Суперклассы и подклассы. Переопределение методов. Наследование и правила видимости. Зарезервированное слово super. Статическое и динамическое связывание методов. Полиморфизм. Базовый класс Object. Конструкторы. Зарезервированные слова super и this. Блоки инициализации. Рефакторинг. Реверс-инжиниринг. Передача ссылочных типов в методы. Удаление неиспользуемых объектов и метод finalize. Проблема деструкторов для сложно устроенных объектов. Перегрузка методов. Правила совместимости ссылочных типов. Приведение и проверка типов.
Интерфейсы в Java
    • Проблемы множественного наследования классов. Интерфейсы. Отличия интерфейсов от классов. Наследование интерфейсов. Пример использования интерфейсов. Композиция как альтернатива множественному наследованию.
Встроенные классы
    • Вложенные (Nested) классы. Внутренние (Inner) классы. Локальные (local) классы. Анонимные (безымянные) классы и обработчики событий.
Исключения в Java
    • Система исключения в Java,. try-with-resources: нововведения JDK 1.7. Assertions или проверка утверждений. Система исключения в Java,. try-with-resources: нововведения JDK 1.7. Assertions или проверка утверждений.
Основные пакеты и интерфейсы Java
    • Обзор основных пакетов Java. Массивы в Java. Классы String, StringBuffer, StringBuilder, StringTokenizer. Классы ввода-вывода. Файловый ввод-вывод. Использование массивов и различных классов в программировании.
Generics или настраиваемые классы в Java
    • Понимание настраиваемых классов или Generics. Написание кода, поддерживающего Generics.
Коллекции в Java
    • Интерфейс Collections. Практическое применение Generics.
Аннотации в Java
    • Понимание аннотаций. Создание собственных аннотаций. Обработка аннотаций.
Улучшения языка java, появившиеся в JDK1.5 - 1.10
    • Автоматическая упаковка и распаковка. Перечислимый тип enum. Улучшенные языковые конструкции (циклы for). Класс Optional. Литералы коллекций. Изменения в try-with-resources. Аргументы переменной длинны. Изменения в интефейсах.
Лямбда-выражения, функциональные интерфейсы и Streaming API в JDK 1.8
    • Понимание лямбда-выражений в java, функциональные интерфейсы. Новый Streaming API. Практическое применение.
Загрузчики классов в Java и API Reflection
    • Порядок действий VM при загрузке класса. Способы загрузки классов. Создание собственного загрузчика классов. Пример создания загрузчика зашифрованных классов. Загрузка классов методом forName (…). Исследование объекта. Класс java.lang.reflect.Method. Пример приложения. Создание объектов класса Class. Компилирование исходного текста из приложения Java. Пример. Выгрузка и Перезагрузка Классов. Пример приложения. Приложение RunItReload, выгружающее и загружающее классы. Загрузка классов через Сеть. Класс URLClassLoader.
Сериализация Java-объектов
    • Что такое Сериализация и где применяется. Как сериализация может использоваться в RMI. Альтернатива Externalizable – методы writeObject() и readObject(). Сериализация static членов классов. Глубокое клонирование объектов через сериализацию. Пример с Reflection. Автоматическая сериализация. Интерфейс Serilizable.Пример. Сериализация с применением интерфейса Externalizable. Пример. Восстановления объекта и Reflection. Пример приложения. Управление сериализацией посредством transient. Пример приложения.
Введение в многопоточное программирование
    • Введение в многопоточную архитектуру. Базовые классы для работы с потоками – класс Thread, интерфейс Runnable. Синхронизация, Блокировки.
Введение в сетевое программирование
    • Введение в сетевое программирование, сокеты. Классы Soket и ServerSocket, написание простого сетевого клиента и сервера.
Модульная структура java приложений в JDK 1.9
    • Понимание модульной структуры приложений в java 9. Проработка материала дополнительной литературы по теме
Сборка Java программ: Ant, Maven и Gradle
    • Сборка java-проектов при помощи средств Ant, Maven и Gradle.
От Java SE к Java EE
    • Знакомство с платформой Java EE, понимание взаимосвязей с Java SE, новые возможности Java EE8.
Итоговая аттестация
    • Итоговая аттестация по программе
Требования к подготовке

Среднее специальное и высшее образование, знание ПК на уровне опытного пользователя, знание и понимание основ программирования.

Связанные курсы

В качестве подготовки к данному курсу Вы можете пройти обучение:

Основы программирования и баз данных

 

После прохождения данного обучения Вы можете продолжить своё развитие с сфере IT по курсам:

Язык программирования Java (Java SE10). Уровень 2. Углубленное программирование

Расписание
Даты проведения
Время проведения курса
Дни недели
Формат обучения
13 сен
13 окт
18:30 - 21:40
вт чт
очно и онлайн
02 окт
30 окт
10:00 - 17:10
вс
очно и онлайн
01 ноя
01 дек
18:30 - 21:40
вт чт
очно и онлайн
Задать свой вопрос
+7 495 182-83-85
edu@bmstu.ru Мы работаем ежедневно с 9:00 до 21:00
+7 495 182-83-85
edu@bmstu.ru Мы работаем ежедневно с 9:00 до 21:00