Бакалавриат
2022/2023




Программирование на Java (продвинутый уровень)
Лучший по критерию «Полезность курса для Вашей будущей карьеры»
Лучший по критерию «Полезность курса для расширения кругозора и разностороннего развития»
Лучший по критерию «Новизна полученных знаний»
Статус:
Курс обязательный (Бизнес-информатика)
Направление:
38.03.05. Бизнес-информатика
Когда читается:
1-й курс, 4 модуль
Формат изучения:
с онлайн-курсом
Онлайн-часы:
10
Охват аудитории:
для всех кампусов НИУ ВШЭ
Язык:
русский
Кредиты:
4
Контактные часы:
30
Программа дисциплины
Аннотация
Дисциплина предлагается студентам 1 курса образовательной программы Бизнес-информатика. Изучается язык программирования Java как продолжение курса Программирование на Java (базовый уровень). В дополнении к углубленному материалу, предлагается изучение онлайн-курса на платформе Stepik.
Язык программирования Java был разработан в начале 90-х гг. XX века в компании Sun Microsystems. Основным требованием к разрабатываемому языку была возможность выполнять код на различных аппаратных платформах без его перекомпиляции и пересборки. Язык в значительной степени унаследовал синтаксис C++, но имеет упрощенную по сравнению с С++ объектную модель и меньше возможностей напрямую работать с аппаратной частью. Приложения Java компилируются в специальный промежуточный машинный код (байт-код) и запускаются под управлением виртуальной Java-машины. Помимо этого к основным особенностям языка можно отнести: полную объектную ориентированность, встроенный «сборщик мусора», дополнительные средства для повышения надежности и стабильности кода.
Цель освоения дисциплины
- Целью освоения дисциплины является повышение практических навыков программирования на языке Java, формирование у студентов системного представления о теории и практике процесса разработки программных продуктов. Освоение дисциплины включает в себя выработку у студентов навыков разработки, проектирования, анализа алгоритмов для решения задач; оценка их эффективности по различным критериям; проведение рефакторинга разработанного и/или стороннего исходного кода приложений.
Планируемые результаты обучения
- Студент знает виды фремворков и их предназначение в проектах Java. Студент способен создать проект JavaFX, используя фреймворк. Студент понимает структуру MVC и может имплементировать ее средствами JavaFX. Студент способен реализовать необходимые инструменты для автоматической сборки собственного Java-проекта.
- Студент понимает основные принципы и виды оптимизации исходного кода. Студент способен провести рефакторинг фрагмента кода и программы в целом, используя различные техники и инструменты.
- Студент знает основные стадии жизненного цикла ПО, а также различные методологии разработки ПО. Студент способен проанализировать процесс разработки ПО и организовать его в соответствии с принципами гибких методологий.
- Студент способен реализовать тестирование программного кода инструментами JUnit. Студент способен подготовить отчет по итогам тестирования исходного кода по различным критериям покрытия.
- Студент способен имплементировать документацию в собственный Java-проект. Студент понимает разницу между различными видами лицензий и способен определить наиболее подходящую из них для использования в собственном проекте.
- 1. Знает и умеет оптимально применять основные конструкции и фреймворки языка Java
- 2. Умеет проводить оценку качества и сложности разработанных алгоритмов.
- 3. Умеет решать поставленную задачу, разбивая её на подзадачи и выполняя все этапы ЖЦ ПО.
- 4. Имеет опыт командной разработки программ.
Содержание учебной дисциплины
- Фреймворки в Java
- Техники оптимизации кода
- Методологии совместной разработки программного обеспечения
- Изучение подходов к тестированию качества алгоритмов и исходного кода
- Авторские права на исходный код и его сопровождение
Промежуточная аттестация
- 2022/2023 учебный год 4 модуль0.1 * Посещаемость + 0.2 * Лабораторная работа + 0.2 * Проект + 0.3 * Защита работы + 0.2 * Домашнее задание
Список литературы
Рекомендуемая основная литература
- Вязовик, Н. А. Программирование на Java : учебное пособие / Н. А. Вязовик. — 2-е изд. — Москва : ИНТУИТ, 2016. — 603 с. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/100405 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.
- Программирование на Java : курс лекций, Вязовик Н.А., 2003
- Пруцков, А.В. Программирование на языке Java. Введение в курс с примерами и практическими заданиями : учебник / А.В. Пруцков. — М. : КУРС, 2018.- 208 с. - ISBN 978-5-906923-51-6. - Режим доступа: http://znanium.com/catalog/product/1017180
Рекомендуемая дополнительная литература
- Володин, В. В. Управление проектом [Электронный ресурс] : учеб. пособие / В. В. Володин, Ф. Б. Лобанов, Т. В. Алексеева и др. - М.: Московский финансово-промышленный университет «Синергия», 2013. - (Сдаем госэкзамен). - ISBN 978-5-4257-0144-2. - Режим доступа: http://znanium.com/catalog/product/451383
- Нуркевич, Т. Реактивное программирование с применением RxJava / Т. Нуркевич, Б. Кристенсен , перевод с английского А. А. Слинкин. — Москва : ДМК Пресс, 2017. — 358 с. — ISBN 978-5-97060-496-0. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/100907 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.
- Уорбэртон, Р. Лямбда-выражения в Java 8. Функциональное программирование – в массы / Р. Уорбэртон , перевод с английского А. А. Слинкина. — Москва : ДМК Пресс, 2014. — 192 с. — ISBN 978-5-94074-919-6. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/93568 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.