• A
  • A
  • A
  • АБВ
  • АБВ
  • АБВ
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта

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

2024/2025
Учебный год
RUS
Обучение ведется на русском языке
4
Кредиты
Статус:
Курс обязательный
Когда читается:
1-й курс, 1, 2 модуль

Преподаватели

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

Аннотация

Дисциплина посвящена изучению разработки программного обеспечения, уделяя особое внимание различным аспектам, включая жизненный цикл разработки программного обеспечения (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 module
    0.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). — Режим доступа: для авториз. пользователей.

Авторы

  • Романцов Семен Денисович
  • Будько Виктория Александровна