Бакалавриат
2024/2025





Технологии программирования
ID 888621
Лучший по критерию «Полезность курса для Вашей будущей карьеры»
Лучший по критерию «Новизна полученных знаний»
Статус:
Курс обязательный (Бизнес-информатика)
Направление:
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.3 * Практические задания (для самостоятельного выполнения вне семинара) + 0.3 * Экзамен + 0.1 * Контрольная работа 1 + 0.2 * Текущий контроль работы на семинарах + 0.1 * Контрольная работа 2
Список литературы
Рекомендуемая основная литература
- Введение в программирование - Баженова И.Ю., Сухомлин В.А. - Национальный Открытый Университет "ИНТУИТ" - 5-94774-599-2 - 2016 - русский - https://e.lanbook.com/book/100695 - ЛАНЬ - 100695
- Введение в программирование на Python - Северенс Ч. - Национальный Открытый Университет "ИНТУИТ" - - - 2016 - русский - https://e.lanbook.com/book/100703 - ЛАНЬ - 100703
Рекомендуемая дополнительная литература
- Head First. Git: Пер. с англ. - 978-5-9775-1777-5 - Ганди Р. - 2023 - Санкт-Петербург: БХВ-Петербург - https://ibooks.ru/products/389658 - 389658 - iBOOKS
- Объектно-ориентированное программирование и программная инженерия - Мейер Б. - Национальный Открытый Университет "ИНТУИТ" - - - 2016 - русский - https://e.lanbook.com/book/100271 - ЛАНЬ - 100271