Бакалавриат
2024/2025
Конструирование программного обеспечения
Статус:
Курс по выбору (Программная инженерия)
Направление:
09.03.04. Программная инженерия
Кто читает:
Департамент программной инженерии
Где читается:
Факультет компьютерных наук
Когда читается:
2-й курс, 2-4 модуль
Формат изучения:
без онлайн-курса
Охват аудитории:
для своего кампуса
Язык:
русский
Кредиты:
5
Программа дисциплины
Аннотация
В рамках курса студентам предстоит освоить процесс конструирования программного обеспечения, язык программирования Kotlin, изучить основы разработки программного обеспечения, основные архитектуры и паттерны проектирования на основе объектно-ориентированного подхода, приобрести необходимые знания и навыки для создания клиент-серверных программных решений с применением инструментов и технологий, используемых в промышленной разработке.
Цель освоения дисциплины
- Ознакомление слушателей с основами конструирования программного обеспечения и предоставление достаточного набора знаний и навыков для дальнейшего профессионального развития в этой области.
Планируемые результаты обучения
- Знание принципов объектно-ориентированного программирования, основных программных архитектур и паттернов проектирования программного обеспечения
- Владение лучшими практиками разработки и знание код-стайла
- Умение создавать клиент-серверные приложения с базами данных
- Знание принципов работы с многопоточностью
- Навыки применения инструментальных средств в разработке и тестировании
- Навыки разработки с применением Git
- Понимание особенностей сборки и развертывания программ
- Знакомство с синтаксисом и особенностями языка Kotlin в сравнении с другими языками программирования
Содержание учебной дисциплины
- Основы ООП, принципы и концепции программирования
- Основы языка UML
- Основы языка программирования Kotlin
- Применение паттернов проектирования в разработке
- Основы проектирования БД
- Основы многопоточности
- Основы сетевого взаимодействия
- Архитектурные паттерны
- Фреймворки
- Основы создания клиентских приложений на Kotlin
Элементы контроля
- Активность_2МУчитывается активность на лекциях и семинарах
- КР_4Мтемы по всему курсу
- ДЗ_3М
- КР_2М
- ДЗ_2М
- Активность_3Мактивность на лекциях и семинарах
- КР_3Мфинальный коллоквиум на последнем занятии в 3м модуле (практическая задача и устный вопрос, на который нужно ответить без подготовки
- ДЗ_4
- Активность_4М
Промежуточная аттестация
- 2024/2025 3rd moduleНАКОП_Mx — накопленные баллы в модуле x АУД_Mx — аудиторная активность на лекциях и семинарах в модуле x ДЗ_Mx — оценка за все ДЗ в модуле x КР_M2 — оценка за итоговую контрольную работу (коллоквиум) в модуле 2 Модули 2 и 3 НАКОП_M2 = 0,3 * АУД_M2 + 0,4 * ДЗ_M2 + 0,3 * КР_M2 НАКОП_M3 = 0,4 * АУД_M3 + 0,6 * ДЗ_M3 НАКОП_СР_М2_3 = (НАКОП_M2 + НАКОП_M3) / 2 ПРОМ_ЭКЗ_M3 — оценка за блокирующий экзамен (промежуточная аттестация) в модуле 3, полностью блокирует ПРОМ_ОЦЕН_M3 АВТОМАТ_M3 = (НАКОП_СР_М2_3 ≥ 8) Если (АВТОМАТ_M3), то ПРОМ_ЭКЗ_M3 = НАКОП_СР_М2_3 ПРОМ_ОЦЕН_M3 = 0,65 * НАКОП_СР_М2_3 + 0,35 * ПРОМ_ЭКЗ_M3 (округляется к ближайшему целому)
- 2024/2025 4th moduleФормула оценки за курс КПО НАКОП_Mx — накопленные баллы в модуле x АУД_Mx — аудиторная активность на лекциях и семинарах в модуле x ДЗ_Mx — оценка за все ДЗ в модуле x КР_M2 — оценка за итоговую контрольную работу (коллоквиум) в модуле 2 Модуль 4 НАКОП_M4 = 0,4 * АУД_M4 + 0,6 * ДЗ_M4 СР_НАКОП = (ПРОМ_ОЦЕН_M3 + НАКОП_M4) / 2 ПРОМ_ЭКЗ_M4 — оценка за блокирующий экзамен (промежуточная аттестация) в модуле 4, полностью блокирует ПРОМ_ОЦЕН_M4 и, соответственно, ФИН_ОЦЕН ПРОМ_ОЦЕН_M4 = 0,7 * НАКОП_М4 + 0,3 * ПРОМ_ЭКЗ_M4 Автомат за экзамен в модуле 4: АВТОМАТ_M4 = (СР_НАКОП ≥ 8) Если (АВТОМАТ_M4), то ПРОМ_ЭКЗ_М4 = СР_НАКОП ФИН_ОЦЕН — итоговая оценка за курс в модуле 4, которая идет в аттестат (округляется к ближайшему целому) ФИН_ОЦЕН = 0,65 * ПРОМ_ОЦЕН_M3 + 0,35 * ПРОМ_ОЦЕН_M4 Любое ДЗ в модуле х, где НАКОП_Mx < 4, можно пересдать со штрафом 50 %. Пересдача ДЗ возможна до начала сессии модуля х. При сдаче ДЗ в модуле х после дедлайна, начисляется штраф в 10 % от оценки за каждые сутки, но не более 50 %. Сдача ДЗ возможна до начала сессии модуля х. ПРОМ_ЭКЗ_Мх – промежуточный экзамен в модуле х (где х = 3 или х = 4) – включает решение практической задачи студентом на компьютере и его ответы на короткие устные вопросы преподавателя.
Список литературы
Рекомендуемая основная литература
- JAVA Concurrency на практике, , 2020
Рекомендуемая дополнительная литература
- Java. Библиотека профессионала. Т.1: Основы, Хорстманн, К. С., 2019
- Приемы объектно-ориентированного проектирования. Паттерны проектирования : пер. с англ., Гамма Э., 2013
- Философия Java, Эккель, Б., 2011
- Философия Java, Эккель, Б., 2015