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





Технологии программирования
Статус:
Курс обязательный (Бизнес-информатика)
Направление:
38.03.05. Бизнес-информатика
Кто читает:
Департамент бизнес-информатики
Где читается:
Высшая школа бизнеса
Когда читается:
1-й курс, 1 модуль
Формат изучения:
без онлайн-курса
Охват аудитории:
для своего кампуса
Преподаватели:
Афанасьев Виталий Олегович,
Бенуа Кристиан Парвизович,
Дворцова Варвара Викторовна,
Егоров Игорь Сергеевич,
Серебренников Александр Дмитриевич,
Старичков Никита Юрьевич,
Тибилов Таймураз Валерьевич
Язык:
русский
Кредиты:
3
Контактные часы:
36
Программа дисциплины
Аннотация
Курс состоит из лекций и семинарских занятий. Лекционный материал включает краткий обзор важных с точки зрения процесса разработки понятий: методы отладки и этапы исправления дефектов ПО, критерии хорошей и неудачной архитектуры, этапы проектирования и разработки, методологии разработки. Семинарский материал состоит из рассказа о важных инструментах программиста: системы контроля версий, системы сборки, gdb, valgrind, развертывание и настройка систем непрерывной интеграции. Цель курса — дать слушателям, которые параллельно изучают языки программирования, алгоритмы и т. п., информацию и дополнительные знания, какими инструментами можно пользоваться и на что обращать внимание при создании рыночного программного продукта.
Цель освоения дисциплины
- Сформировать у студента базовое понимание того, как устроен процесс промышленной разработки ПО, какие инструменты, технологии и подходы используются в индустрии
Планируемые результаты обучения
- Знать базовое устройство ПО. Понимать, что такое архитектура ПО, знать и понимать основные принципы проектирования
- Знать базовую нотацию UML
- Знать и понимать идеи различных парадигм программирования.
- Знать и понимать основную терминологию области разработки и создания языков программирования
- Знать и понимать основные понятия теории управления качеством ПО
- Знать и уметь использовать типовые инструменты обеспечения качества ПО
- Знать основные виды тестирования. Понимать, зачем и для чего нужны отдельные виды тестирования.
- Знать основные инструменты организации CI/CD/CD
- Знать основные методологии разработки ПО
- Знать различные инструменты, применяемые в индустрии при отладке ПО
- Знать типовые архитектурные паттерны и понимать их сильные и слабые стороны
- Обладать навыком формирования основных диаграмм UML
- Понимать жизненный цикл разработки и внедрения ПО
- Понимать подходы и знать методики отладки ПО
- Понимать сильные и слабые стороны различных методологий ПО
- Понимать, как устроен процесс работы с ошибками ПО в индустрии.
- Понимать, что такое CI/CD/CD
- Уметь налаживать процесс CI/CD/CD
Содержание учебной дисциплины
- Принципы проектирования ПО
- Основные диаграммы UML
- Этапы развития проекта.
- Методологии разработки ПО
- Тестирование ПО
- Работа с ошибками ПО
- Методы отладки
- CI/CD/CD
- Управление качеством ПО
- Базовые понятия об архитектуре ПО
- Базовые понятия о языках программирования
Элементы контроля
- Промежуточная контрольная работаПромежуточная контрольная работа. Большинство заданий - тестовые, для того, чтобы набрать балл на "отлично" - нужно выполнить задания с ответом в свободной форме
- Технические заданияТехнические задания по материалам семинарских занятий. Всего предусмотрено 3 технических задания за курс
- Письменный экзамен
Промежуточная аттестация
- 2022/2023 учебный год 1 модуль0.2 * Промежуточная контрольная работа + 0.45 * Технические задания + 0.35 * Письменный экзамен
Список литературы
Рекомендуемая основная литература
- Agile. Оценка и планирование проектов: Практическое руководство / Кон М. - М.:Альпина Паблишер, 2018. - 418 с.: ISBN 978-5-9614-6947-9 - Режим доступа: http://znanium.com/catalog/product/1003486
- Chonoles, M. J., & Schardt, J. A. (2003). UML 2 For Dummies. New York: For Dummies. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=100930
- Layton, M. C. (2012). Agile Project Management For Dummies. Hoboken: For Dummies. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=445936
- Martin, R. C., & Feathers, M. C. (2009). Clean Code : A Handbook of Agile Software Craftsmanship. Upper Saddle River, N.J.: Prentice Hall. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=1598779
- UML. Проектирование систем реального времени, параллельных и распределенных приложений, Гома, Х., Фримена, П., 2002
- Гома, Х. UML. Проектирование систем реального времени, параллельных и распределенных приложений / Х. Гома. — Москва : ДМК Пресс, 2007. — 704 с. — ISBN 5-94074-101-0. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/1232 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.
- Леоненков А. - Самоучитель UML 2 - 978-5-94157-878-8 - Санкт-Петербург: БХВ-Петербург - 2007 - 18550 - https://ibooks.ru/bookshelf/18550/reading - iBOOKS
Рекомендуемая дополнительная литература
- Адаптивный код на С# : проектирование классов и интерфейсов, шаблоны и принципы SOLID, Холл, Г. М., 2015