Бакалавриат
2024/2025



Язык программирования Java
Статус:
Курс обязательный (Дизайн и разработка информационных продуктов)
Направление:
09.03.04. Программная инженерия
Где читается:
Факультет компьютерных наук
Когда читается:
1-й курс, 3, 4 модуль
Формат изучения:
без онлайн-курса
Охват аудитории:
для своего кампуса
Язык:
русский
Кредиты:
7
Программа дисциплины
Аннотация
В рамках дисциплины Java вы познакомитесь с основными конструкциями данного языка программирования, с практиками и принципами написания качественного кода, изучите работу с объектно ориентированным программирование, со стандартными структурами данных, многопоточностью, файловой системой, исключениями и основными библиотеками, которые применяются при работе c Java. По окончании курса java студенты смогут использовать его в разработки приложений. Эти знания станут основой для более глубокого изучения фреймворков в последующем
Цель освоения дисциплины
- Знать основные коллекции Java
- Знать про отличие JVM, JDK, JRE
- Знать основные концепции работы сборщика мусора
- Знать основы многопоточности
- Знать основные примитивы синхронизации потоков
- Уметь писать простые многопоточные программы
- Уметь работать с датой и временем в Java
- Знать работу механизма исключений
- Уметь использовать stream и lambda функции
- Уметь писать программы в объектно - ориентированном стиле на Java
- Уметь работать с реляционными базами данных через JDBC
- Знать основные концепции Reflection API и уметь использовать их
- Знать реализацию основных паттернов на Java
Планируемые результаты обучения
- Знает основные коллекции Java
- Знает про отличие JVM, JDK, JRE
- Знает основные концепции работы сборщика мусора
- Знает основы многопоточности
- Знает основные примитивы синхронизации потоков
- Умеет писать простые многопоточные программы
- Умеет работать с датой и временем в Java
- Знает работу механизма исключений
- Умеет использовать stream и lambda функции
- Умеет писать программы в объектно - ориентированном стиле на Java
- Умеет работать с реляционными базами данных через JDBC
- Знает основные концепции Reflection API и умеет использовать их
- Знает реализацию основных паттернов на Java
Содержание учебной дисциплины
- Введение и написание Hello world. Основы Git
- Основные конструкции языка.
- ООП в Java
- Enum, Строки, Wrapper types и Исключения
- Коллекции
- Generics, stream и lambda
- Ввод вывод и работа с файловой системой
- Стандартная библиотека, даты и время, регулярные выражения, сериализация
- Основы сетевого программирования
- Многопоточность 1
- Многопоточность 2
- JDBC работа с базами данных
- Reflection API и Аннотации
- Байт код и сборка мусора
- Паттерны проектирования на Java, SOLID
- Инъекция зависимостей
- Тестирование на Java
- Maven и gradle
Список литературы
Рекомендуемая основная литература
- Java Concurrency на практикею. - 978-5-4461-1314-9 - Гетц Брайан, Пайерлс Тим, Блох Джошуа, Боубер Джозеф, Холмс Дэвид, Ли Даг - 2021 - Санкт-Петербург: Питер - https://ibooks.ru/bookshelf/371693 - 371693 - iBOOKS
- Java. Библиотека профессионала. Т.1: Основы, Хорстманн, К. С., 2019
Рекомендуемая дополнительная литература
- Чистый код : cоздание, анализ и рефакторинг, Мартин, Р., 2023