Программирование (syllabus) 2026

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



Планируемые результаты обучения (Знать, Уметь, Владеть) Цель освоения дисциплины — формирование у студентов понимания общих принципов программирования в контексте цифровой дидактики на базе Semantic MediaWiki digida.mgpu.ru, с акцентом на создание активных эссе через комбинацию языков ask, Scratch, NetLogo, Lua и R.
Результаты обучения
  • Обучающийся понимает и умеет использовать базовые конструкции программирования в указанных языках и инструментах для обогащения вики-страниц динамическим контентом.
Знать
  • Основные типы данных (строки, массивы/списки, агенты/патчи) и их особенности в #ask, Scratch, NetLogo, Lua, R.
  • Основы визуального, процедурного и скриптового программирования в образовательных средах digida.mgpu.ru.
  • Особенности реализации программ в различных инструментах SMW (SyntaxHighlight для Lua, EmbedScratch для Scratch, NetLogo Web, #ask для семантических запросов).
Уметь
  • Выбирать подходящий инструмент программирования (ask для фильтрации данных, NetLogo для моделирования, Lua для модулей) в зависимости от задачи активного эссе.
  • Выполнять стандартные операции (ветвление, циклы, обработка строк и массивов) в каждом из языков.
  • Структурировать программы: создавать функции в NetLogo/Scratch, скрипты Lua для Scribunto, запросы #ask с форматтерами; работать с данными через R и MediaWiki API.
  • Находить ошибки, улучшать код, документировать программы в формате вики-страниц с SyntaxHighlight.
Владеть
  • Навыками совмещения нескольких языков (Lua-модуль с #ask, NetLogo-модель со Scratch, R-визуализациями) для создания интерактивных образовательных объектов.
  • Навыками совместной деятельности в Semantic MediaWiki: редактирование активных эссе, использование свойств страниц и запросов для коллективных проектов.
Содержание разделов курса
  1. Введение в программирование в цифровой дидактике (контекст digida.mgpu.ru и Semantic MediaWiki)
    • Результаты обучения и ключевые понятия (базовые конструкции, типы данных)
    • Обзор ресурсов (руководства SMW, NetLogo models, ScratchWiki, R для API)
    • Обзор инструментов (ask, SyntaxHighlight, EmbedScratch, NetLogo Web)
    • Обзор языков (ask, Scratch, NetLogo, Lua/Scribunto, R)
  2. Оператор ветвления в разных языках (Scratch if, NetLogo ifelse, Lua if, #ask фильтры)
  3. Циклические конструкции (NetLogo forever, Scratch forever, Lua for/while, R apply)
  4. Строковый тип данных (Lua string, R character, #ask текст, Scratch join)
  5. Массивы и списки (NetLogo lists/agentsets, Scratch lists, R vectors, #ask results)
  6. Lua-модули Scribunto для динамических страниц (примеры с #ask)
  7. R для анализа данных SMW (MediaWiki API, визуализация ggplot2)
  8. Мини-проекты и активные эссе (комбинация языков, peer-review)
  9. Итоговый проект и проверка результатов обучения
Видео запись
Среды и средства, которые поддерживают учебный курс Scratch, NetLogo, Lua, R, Активное эссе
Книги, на которых основывается учебный курс 20 things to do, Agent-Based and Individual-Based Modeling: A Practical Introduction, Mindstorms, Thinking Like a Tree

Описание курса

Курс "Программирование" начинается с введения в контекст цифровой дидактики: зачем программирование на digida.mgpu.ru, обзор инструментов (#ask, Scratch, NetLogo, Lua/Scribunto, R via API) и результатов обучения (понимание базовых конструкций в разных языках, создание активных эссе). Далее следует модуль ключевых понятий: типы данных (строки, массивы/списки, агенты/патчи), конструкции (ветвление, циклы) и ресурсы (руководства по SMW, NetLogo models, ScratchWiki, R for MediaWiki).

Основной поток разбит на четыре блока по базовым конструкциям:

  1. демонстрация ветвления/циклов/строк/массивов в Scratch (визуальные блоки), NetLogo (агентные циклы), Lua (скрипты), ask (запросы как циклы), R (векторизация); задания на переписывание одной идеи разными способами; ресурсы вроде SyntaxHighlight примеров и PlantUML-диаграмм алгоритмов.

Параллельно вводятся Lua-модули для динамики страниц и R для анализа данных из SMW (MediaWiki API, визуализации ggplot2).

Каждый блок заканчивается мини-проектом: активное эссе с встраиванием кода (EmbedScratch + NetLogo ask таблица).

Финал — обобщение: создание комплексного эссе, проверка результатов обучения через самооценку и peer-review в SMW; если цели достигнуты, студенты владеют навыками многозначного программирования для образовательных объектов.

== Последовательность курса

==

  1. Введение в программирование в цифровой дидактике (контекст digida.mgpu.ru и Semantic MediaWiki)
    • Результаты обучения и ключевые понятия (базовые конструкции, типы данных)
    • Обзор ресурсов (руководства SMW, NetLogo models, Scratch, R для API)
    • Обзор инструментов (аsk, SyntaxHighlight, EmbedScratch, NetLogo Web)
    • Обзор языков (ask, Scratch, NetLogo, Lua/Scribunto, R)
  2. Оператор ветвления в разных языках (Scratch if, NetLogo ifelse, Lua if, ask фильтры)
  3. Циклические конструкции (NetLogo forever, Scratch forever, Lua for/while, R apply)
  4. Строковый тип данных (Lua string, R character, #ask текст, Scratch join)
  5. Массивы и списки (NetLogo lists/agentsets, Scratch lists, R vectors, #ask results)
  6. Lua-модули Scribunto для динамических страниц (примеры с #ask)
  7. R для анализа данных SMW (MediaWiki API, визуализация ggplot2)
  8. Мини-проекты и активные эссе (комбинация языков, peer-review)
  9. Итоговый проект и проверка результатов обучения