Бакалавриат
2021/2022
Конструирование программного обеспечения
Статус:
Курс обязательный (Программная инженерия)
Направление:
09.03.04. Программная инженерия
Кто читает:
Департамент программной инженерии
Где читается:
Факультет компьютерных наук
Когда читается:
2-й курс, 1-4 модуль
Формат изучения:
без онлайн-курса
Охват аудитории:
для своего кампуса
Преподаватели:
Волков Александр Ефимович,
Гринкруг Ефим Михайлович,
Заведеев Денис Владиславович,
Кучук Александр Александрович,
Фомичев Михаил Игоревич
Язык:
русский
Кредиты:
8
Контактные часы:
132
Программа дисциплины
Аннотация
Курс "Конструирование программного обеспечения" предназначен для студентов 2-го курса образовательной программы «Программная инженерия» факультета компьютерных наук НИУ ВШЭ (г.Москва) в целях изучения и освоения современных методов и средств создания программного обеспечения. Курс базируется на использовании Java-платформы - наиболее популярной среды разработки современного программного обеспечения. В результате освоения курса студенты приобретают знания современных подходов к разработке программного обеспечения и овладевают средствами совремменной Java-платформы в рамках Java SE (Java Standard Edition).
Цель освоения дисциплины
- Ознакомление слушателей с основами конструирования программного обеспечения и предоставление достаточного набора знаний и навыков для дальнейшего профессионального развития в этой области.
Планируемые результаты обучения
- Знакомство с синтаксисом и особенностями языка Java в сравнении с другими языками программирования
- Знание принципов объектно-ориентированного программирования, основных программных архитектур и паттернов проектирования программного обеспечения
- Владение лучшими практиками разработки и знание код-стайла
- Умение создавать клиент-серверные приложения с базами данных
- Знание принципов работы с многопоточностью
- Навыки применения инструментальных средств в разработке и тестировании
- Навыки разработки с применением Git
- Понимание особенностей сборки и развертывания программ
Элементы контроля
- Домашнее задание (HW1)Разработка приложения по заданию с загрузкой результата для проверки
- Домашнее задание (HW2)Домашнее задание по материалам модуля 2
- Домашнее задание (HW3)Домашнее задание на конструирование многопоточного приложения с использованием средств синхронизации
- Домашнее задание (HW4)Домашнее задание на конструирование приложения с визуализацией поведения
- Домашнее задание (HW5)Разработка сетевого приложения
- Работа на семинаре (Seminars)оценка активности работы на практических занятиях (семинарах)
- Домашнее задание (HW6)
- Домашнее задание (HW7)
Промежуточная аттестация
- 2021/2022 учебный год 2 модульПромежуточная аттестация (2 модуль) Оценка за первый семестр S1 вычисляется по формуле S1 = min(1.1 * ((HW1 + HW2 + HW3) / 3)) + 0.15 * (оценка работы за семестр на практических занятиях); 10)
- 2021/2022 учебный год 4 модульПромежуточная аттестация (4 модуль) Итоговая оценка за курс (FinalGrade) вычисляется следующим образом: FinalGrade = min (0.35 * S1 + 0.75 * S2; 10); S1 и S2 – оценки за первый и второй семестр, соответственно: S1 = min(1.1 * (HW1 + HW2 + HW3) / 3 + 0.15 * SW1;10); S2 = 0.85 * (HW4 + HW5 + HW6 + HW7) / 4 + 0.15 * SW2; HWi – оценка за i-е домашнее задание - ранжируется от 0 до 10 баллов с минимальным шагом 0.5; SWj – оценка работы за j-й семестр на практических занятиях; эта экспертная оценка выставляется преподавателем и ранжируется от 0 до 10 с шагом 0.5; Гарантировано SWj >= 1, если студент посетил все практические занятия за семестр. Округлению до целого (по правилу математики) подлежат FinalGrade и S1, остальные оценки выставляются с точностью до одного 1 знака после запятой.