• A
  • A
  • A
  • АБB
  • АБB
  • АБB
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта
Бакалавриат 2021/2022

Технология программирования

Статус: Курс обязательный (Бизнес-информатика)
Направление: 38.03.05. Бизнес-информатика
Когда читается: 2-й курс, 2 модуль
Формат изучения: без онлайн-курса
Охват аудитории: для своего кампуса
Преподаватели: Иванин Никита Ильич, Старичков Никита Юрьевич, Торилов Дмитрий Михайлович, Харитонов Александр Андреевич, Цион Михаил
Язык: русский
Кредиты: 3
Контактные часы: 36

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

Аннотация

Курс состоит из лекций и семинарских занятий. Лекционный материал включает краткий обзор важных с точки зрения процесса разработки понятий: методы отладки и этапы исправления дефектов ПО, критерии хорошей и неудачной архитектуры, этапы проектирования и разработки, методологии разработки. Семинарский материал состоит из рассказа о важных инструментах программиста: системы контроля версий, системы сборки, gdb, valgrind, развертывание и настройка систем непрерывной интеграции. Цель курса — дать слушателям, которые параллельно изучают языки программирования, алгоритмы и т. п., информацию и дополнительные знания, какими инструментами можно пользоваться и на что обращать внимание при создании рыночного программного продукта.
Цель освоения дисциплины

Цель освоения дисциплины

  • Сформировать у студента базовое понимание того, как устроен процесс промышленной разработки ПО, какие инструменты, технологии и подходы используются в индустрии
Планируемые результаты обучения

Планируемые результаты обучения

  • Знать базовое устройство ПО. Понимать, что такое архитектура ПО, знать и понимать основные принципы проектирования
  • Знать базовую нотацию UML
  • Знать и понимать идеи различных парадигм программирования.
  • Знать и понимать основную терминологию области разработки и создания языков программирования
  • Знать и понимать основные понятия теории управления качеством ПО
  • Знать и уметь использовать типовые инструменты обеспечения качества ПО
  • Знать основные виды тестирования. Понимать, зачем и для чего нужны отдельные виды тестирования.
  • Знать основные инструменты организации CI/CD/CD
  • Знать основные методологии разработки ПО
  • Знать различные инструменты, применяемые в индустрии при отладке ПО
  • Знать типовые архитектурные паттерны и понимать их сильные и слабые стороны
  • Обладать навыком формирования основных диаграмм UML
  • Понимать жизненный цикл разработки и внедрения ПО
  • Понимать подходы и знать методики отладки ПО
  • Понимать сильные и слабые стороны различных методологий ПО
  • Понимать, как устроен процесс работы с ошибками ПО в индустрии.
  • Понимать, что такое CI/CD/CD
  • Уметь налаживать процесс CI/CD/CD
Содержание учебной дисциплины

Содержание учебной дисциплины

  • Принципы проектирования ПО
  • Основные диаграммы UML
  • Этапы развития проекта.
  • Методологии разработки ПО
  • Тестирование ПО
  • Работа с ошибками ПО
  • Методы отладки
  • CI/CD/CD
  • Управление качеством ПО
  • Базовые понятия об архитектуре ПО
  • Базовые понятия о языках программирования
Элементы контроля

Элементы контроля

  • неблокирующий Технические задания
    Всего дается 3 технических задания
  • неблокирующий Контрольная работа
  • неблокирующий Письменный экзамен
Промежуточная аттестация

Промежуточная аттестация

  • 2021/2022 учебный год 2 модуль
    0.25 * Технические задания + 0.25 * Контрольная работа + 0.5 * Письменный экзамен
Список литературы

Список литературы

Рекомендуемая основная литература

  • 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 / А. Леоненков. - Санкт-Петербург : БХВ-Петербург, 2010. - 576 с. - ISBN 978-5-94157-878-8. - URL: https://ibooks.ru/bookshelf/18550/reading (дата обращения: 12.10.2020). - Текст: электронный.

Рекомендуемая дополнительная литература

  • Адаптивный код на С# : проектирование классов и интерфейсов, шаблоны и принципы SOLID, Холл, Г. М., 2015