Бакалавриат
2024/2025
Технологии программирования
Статус:
Курс обязательный (Бизнес-информатика)
Направление:
38.03.05. Бизнес-информатика
Где читается:
Санкт-Петербургская школа экономики и менеджмента
Когда читается:
1-й курс, 1, 2 модуль
Формат изучения:
без онлайн-курса
Охват аудитории:
для своего кампуса
Язык:
русский
Кредиты:
4
Программа дисциплины
Аннотация
Дисциплина посвящена изучению разработки программного обеспечения, уделяя особое внимание различным аспектам, включая жизненный цикл разработки программного обеспечения (SDLC), парадигмы программирования, диаграммы UML, архитектурные принципы и лучшие практики кодирования. Студенты получат всесторонние навыки разработки, управления и сопровождения программных систем. По результатам изучения дисциплины студенты смогут проектировать, разрабатывать и внедрять программные решения для различных прикладных задач.
Цель освоения дисциплины
- Получение знаний о жизненном цикле разработки программного обеспечения и его этапах
- Формирование навыков программирования в различных парадигмах с акцентом на объектно-ориентированное программирование
- Развитие навыков проектирования и внедрения UML-диаграмм для системного моделирования
- Понимание и применение архитектурных принципов и лучших практик программирования
- Практический опыт работы с процессами контроля версий, тестирования и непрерывной интеграции/доставки/развертывания(CI/CD/CD)
Планируемые результаты обучения
- Понимает и документирует этапы жизненного цикла разработки программного обеспечения (SDLC) для выбранной системы
- Анализирует и определяет приоритетность функциональных и нефункциональных требований к системе
- Разрабатывает планы проекта высокого уровня и определяет минимальный жизнеспособный продукт (MVP)
- Понимает и применяет различные парадигмы программирования, в частности объектно-ориентированное программирование
- Пишет базовые программы, используя правильный синтаксис, управляющие структуры и циклы
- Определяет и документирует варианты использования, участников и взаимодействия с помощью диаграмм вариантов использования UML
- Создает диаграммы классов UML для представления структуры и взаимосвязей системы
- Разрабатывает диаграммы последовательности, состояния и активности UML для моделирования динамических аспектов системы
- Реализует основные классы и методы в Python на основе диаграмм UML
- Применяет принципы архитектурного проектирования и выбирает соответствующие стили и шаблоны архитектуры программного обеспечения
- Придерживается принципов SOLID и других практик программирования, таких как DRY, KISS и YAGNI
- Использует системы контроля версий, в частности Git, для управления кодом и совместной работы
- Проводит различные виды тестирования, включая ручное и автоматизированное, и эффективно обрабатывает ошибки и дефекты
- Настраивает конвейеры непрерывной интеграции и непрерывной доставки (CI/CD) и управляет ими
Содержание учебной дисциплины
- 1. Введение в жизненный цикл разработки программного обеспечения (SDLC)
- 2. Моделирование в UML
- 3. Введение в программирование, часть 1, часть 2
- 4. Системы управления версиями кода
- 5. Непрерывная интеграция / непрерывная поставка / непрерывное развёртывание (CI/CD/CD)
- 6. Принципы архитектуры и проектирования
- 7. Лучшие практики программирования: SOLID, DRY, KISS, YAGNI и Закон Деметры
- 8. Тестирование и обработка ошибок
Элементы контроля
- Текущий контроль работы на семинарахПроводится офлайн с показом студентом экрана с выполненным заданием/работающим кодом и объяснением логики решения задачи, если оно необходимо. Объем выполненных заданий должен соответствовать объему заданий в соответствии с планом работы группы.
- Контрольная работа 1Проводится офлайн с использованием текстового редактора Notepad и Python 3.12. Контрольная работа 1 включает в себя 5 заданий. Каждое задание оценивается максимум в 2 балла
- Контрольная работа 2Проводится офлайн с использованием IDE Visual Studio Code и Python 3.12. Контрольная работа 2 включает в себя 5 заданий. Каждое задание оценивается максимум в 2 балла
- ЭкзаменПроводится офлайн с использованием IDE Visual Studio Code и Python 3.12. Экзамен предусматривает тестовую часть, задания открытой формы и практическую часть. Тест и задания открытой формы выполняются на экзаменационном бланке, практические задания выполняются на компьютере в аудитории или на собственном компьютере студента. Число тестовых заданий, заданий открытой формы и практических заданий 4, 2 и 2 соответственно. Максимальный балл за тестовое задание равен 1, для заданий открытой формы 2, для практических заданий 3. На экзамен выделяется 80 минут.
- Практические задания (для самостоятельного выполнения вне семинара)Описание заданий изложено в прикрепленном файле
Промежуточная аттестация
- 2024/2025 2nd module0.1 * Контрольная работа 1 + 0.1 * Контрольная работа 2 + 0.3 * Практические задания (для самостоятельного выполнения вне семинара) + 0.2 * Текущий контроль работы на семинарах + 0.3 * Экзамен
Список литературы
Рекомендуемая основная литература
- Баженова, И. Ю. Введение в программирование : учебное пособие / И. Ю. Баженова, В. А. Сухомлин. — 2-е изд. — Москва : ИНТУИТ, 2016. — 411 с. — ISBN 5-94774-599-2. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/100695 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.
- Северенс, Ч. Введение в программирование на Python : учебное пособие / Ч. Северенс. — 2-е изд. — Москва : ИНТУИТ, 2016. — 231 с. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/100703 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.
Рекомендуемая дополнительная литература
- Head First. Git: Пер. с англ. - 978-5-9775-1777-5 - Ганди Р. - 2023 - Санкт-Петербург: БХВ-Петербург - https://ibooks.ru/bookshelf/389658 - 389658 - iBOOKS
- Мейер, Б. Объектно-ориентированное программирование и программная инженерия : учебное пособие / Б. Мейер. — 2-е изд. — Москва : ИНТУИТ, 2016. — 285 с. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/100271 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.