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

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



Планируемые результаты обучения (Знать, Уметь, Владеть) Целью освоения дисциплины является формирование у студентов понимания принципов разработки программного обеспечения. Результаты обучения: обучающийся понимает, как устроен процесс разработки программного обеспечения
Знать
  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. Классификация программных средств

Классификация языков программирования
https://www.acm.org/publications/computing-classification-system/1998/d.3.2

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

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


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

  • Объяснять и изображать при помощи диаграмм graphviz, mermaid модели жизненного цикла программ.

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

  • Использовать различные подходы к организации процесса разработки программного обеспечения.


Тема 5. Общие принципы разработки программного обеспечения и разработки учебных материалов

Тема 6. UML

  • Использовать различные виды UML диаграмм для описания и проектирования программного обеспечения.

Диаграмма классов

Страница
+ List вики-редакторы
+естьКатегория()
+естьСвойство()
Игра
+String Описание
+String Область знаний
+String Жанр
+String Теоретическая рамка
+String Аффективные цели
+int возраст освоения
+List Формируемые компетенции
+bool Русский интерфейс
+bool Справочная информация
+bool Инструменты содействия
+date Год запуска
+String Сообщество игроков
+List предки
+List потомки
+bool Сетевое использование

Диаграмма Ганта

Тема 7. Среды коллективной разработки программного обеспечения

Использовать цифровые средства и среды коллективной разработки программного обеспечения.

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

Образовательный результат Тема Задание Пример
Находить, описывать и классифицировать программные средства Классификация программных средств Принять участие в обсуждении классификации программных средств, привести собственные примеры программных средств см ACM_Digital_Library
Классификация программного обеспечения
https://www.acm.org/publications/computing-classification-system/1998
Категория:DigitalTool + Категория:Book
Использовать общепринятые и предлагать собственные основания для категоризации программных средств Классификация программных средств Используя WebGrid соберите поле своих собственных представлений о программных средствах
Сравнивать между собой программные средства, предназначенные для решения сходных задач. Классификация программных средств На примере сравнения средств обучения программированию Категория:DigitalTool , обучающих играх Категория:DEG , средствах создания диаграмм Категория:Diagrams , средствах анализа библиометрических данных, средах анализа данных Категория:Dataset, средах выращивания данных. TheBrain, ShinyItemAnalysis, VUE, VOSviewer + ChatbotACM (dataset), NetLogo + StarLogo Nova
Формулировать требования к программному обеспечению. Требования к программному обеспечению ? Примеры требований
Объяснять и изображать при помощи диаграмм модели жизненного цикла программ. Жизненный цикл программ ? ?
Использовать различные подходы к организации процесса разработки программного обеспечения. Организация процесса разработки программного обеспечения ? ?
Переносить принципы разработки программного обеспечения на разработку учебных материалов и организацию учебного процесса. Общие принципы разработки программного обеспечения и разработки учебных материалов ? ?
Использовать различные виды UML диаграмм для описания и проектирования программного обеспечения UML диаграммы в проектировании программного обеспечения Создание и описание собственных UML диаграмм
Использовать цифровые средства и среды коллективной разработки программного обеспечения. Среды коллективной разработки программного обеспечения. ? ?
? ? ?