Технологии программирования (факультатив)

Материал из Поле цифровой дидактики



Планируемые результаты обучения (Знать, Уметь, Владеть) Целью освоения дисциплины является формирование у студентов понимания принципов разработки программного обеспечения. Результаты обучения: обучающийся понимает, как устроен процесс разработки программного обеспечения
Знать
  1. понятия технологии программирования
  2. показатели качества программных систем
  3. модели жизненного цикла программного обеспечения
  4. общие принципы и паттерны программирования
  5. стандарты разработки программного обеспечения (Гост, ISO 9001, TickIT)
Уметь
  1. Находить, описывать и классифицировать программные средства
  2. Использовать общепринятые и предлагать собственные основания для категоризации программных средств
  3. Сравнивать между собой программные средства, предназначенные для решения сходных задач.
  4. Формулировать требования к программному обеспечению.
  5. Объяснять и изображать при помощи диаграмм модели жизненного цикла программ.
  6. Использовать различные подходы к организации процесса разработки программного обеспечения.
  7. Переносить принципы разработки программного обеспечения на разработку учебных материалов и организацию учебного процесса.
  8. Использовать различные UML диаграмм для описания и проектирования программного обеспечения.
  9. Использовать цифровые средства и среды коллективной разработки программного обеспечения.
Владеть
  1. иерархией понятий технологии программирования
  2. классификацией языков программирования
Содержание разделов курса
  1. Классификация программных средств
  2. Определение требований к программе
  3. Жизненный цикл программы. Модели жизненного цикла
  4. Основные подходы к организации создания и использования программ. Структурное программирование. Экстремальное программирование.
  5. Модульное программирование
  6. Качество программ
  7. Стандарты ПО
  8. Проектирование ПО при помощи UML
Видео запись
Среды и средства, которые поддерживают учебный курс UML, Mermaid, Graphviz
Книги, на которых основывается учебный курс Head First. Паттерны проектирования, Мифический человеко-месяц или как создаются программные системы, СИСТЕМНАЯ ИНЖЕНЕРИЯ — 2022, Разработка компьютерных учебников и обучающих систем


Содержание разделов дисциплины:

Тема 1. Классификация программных средств

Тема 2. Требования к программному обеспечению

полезное текстовое описание программы
  1. Назначение. Что является главной функцией программы и причиной ее написания?
  2. Среда. На каких машинах, аппаратных конфигурациях и конфигурациях операционной системы будет она работать?
  3. Область определения и область значений. Каковы допустимые значения входных данных? Какие правильные значения выходных результатов можно ожидать?
  4. Реализованные функции и использованные алгоритмы. Что конкретно может делать программа?
  5. Форматы ввода(вывода, точные и полные.
  6. Инструкция по работе, в том числе описание вывода на консоль и устройство вывода при нормальном и аварийном завершении.
  7. Опции. Какой выбор предоставляется пользователю в отношении функций? Каким образом его нужно задавать?
  8. Время работы. Сколько времени занимает решение задачи заданного размера на заданной конфигурации?
  9. Точность и проверка. Какова ожидаемая точность результатов? Какие имеются средства проверки точности?


Тема 3. Жизненный цикл программы. Модели жизненного цикла

Тема 4. Организация процесса разработки программного обеспечения

Тема 5.

Тема 6.

Тема 7.

Тема 8.

Критерии оценки по дисциплине

Образовательный результат Тема Задание Пример
Находить, описывать и классифицировать программные средства Классификация программных средств Принять участие в обсуждении понятия , привести собственные примеры программных средств
Использовать общепринятые и предлагать собственные основания для категоризации программных средств Классификация программных средств ? ?
Сравнивать между собой программные средства, предназначенные для решения сходных задач. Классификация программных средств На примере сравнения средств обучения программированию, обучающих играх, средствах создания диаграмм, средствах анализа библиометрических данных, средах анализа данных.
Формулировать требования к программному обеспечению. Требования к программному обеспечению ? ?
Объяснять и изображать при помощи диаграмм модели жизненного цикла программ. Жизненный цикл программ ? ?
Использовать различные подходы к организации процесса разработки программного обеспечения. Организация процесса разработки программного обеспечения ? ?
Переносить принципы разработки программного обеспечения на разработку учебных материалов и организацию учебного процесса. ? ? ?
Использовать различные виды UML диаграмм для описания и проектирования программного обеспечения UML диаграммы в проектировании программного обеспечения ? ?
Использовать цифровые средства и среды коллективной разработки программного обеспечения. Среды коллективной разработки программного обеспечения. ? ?
? ? ?