We use cookies in order to improve the quality and usability of the HSE website. More information about the use of cookies is available here, and the regulations on processing personal data can be found here. By continuing to use the site, you hereby confirm that you have been informed of the use of cookies by the HSE website and agree with our rules for processing personal data. You may disable cookies in your browser settings.

  • A
  • A
  • A
  • ABC
  • ABC
  • ABC
  • А
  • А
  • А
  • А
  • А
Regular version of the site

Java Programming (Advanced Level)

2022/2023
Academic Year
RUS
Instruction in Russian
4
ECTS credits
Delivered at:
Department of Information Systems and Technologies (Faculty of Informatics, Mathematics, and Computer Science (HSE Nizhny Novgorod))
Course type:
Compulsory course
When:
1 year, 4 module

Instructors


Дыдычкин Александр Алексеевич

Программа дисциплины

Аннотация

Дисциплина предлагается студентам 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). — Режим доступа: для авториз. пользователей.

Авторы

  • Улитин Борис Игоревич
  • Дыдычкин Александр Алексеевич