Программирование (syllabus) 2026
| Планируемые результаты обучения (Знать, Уметь, Владеть) | Цель освоения дисциплины — формирование у студентов понимания общих принципов программирования в контексте цифровой дидактики на базе Semantic MediaWiki digida.mgpu.ru, с акцентом на создание активных эссе через комбинацию языков ask, Scratch, NetLogo, Lua и R.
|
|---|---|
| Содержание разделов курса |
|
| Видео запись | |
| Среды и средства, которые поддерживают учебный курс | 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).
- Основной поток разбит на четыре блока по базовым конструкциям
- демонстрация ветвления/циклов/строк/массивов в Scratch (визуальные блоки), NetLogo (агентные циклы), Lua (скрипты), ask (запросы как циклы), R (векторизация);
- задания на переписывание одной идеи разными способами; ресурсы вроде SyntaxHighlight примеров и PlantUML-диаграмм алгоритмов.
Параллельно вводятся Lua-модули для динамики страниц и R для анализа данных из SMW (MediaWiki API, визуализации ggplot2).
Каждый блок заканчивается мини-проектом: активное эссе с встраиванием кода (EmbedScratch + NetLogo ask таблица).
Финал — обобщение: создание комплексного эссе, проверка результатов обучения через самооценку и peer-review в SMW; если цели достигнуты, студенты владеют навыками многозначного программирования для образовательных объектов.
Последовательность курса

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

Критерии оценки по дисциплине
Оценивание по курсу программирование (syllabus) 2026
| Этап | Что делает студент | Задача |
|---|---|---|
| Use | запускает готовый артефакт как пользователь | наблюдение |
| Understand | читает исходный код / wiki-текст, понимает структуру | анализ |
| Remix | модифицирует артефакт под свою задачу / данные | творчество |
| Document | описывает, что именно он изменил и зачем | рефлексия |
| Demonstrate | создаёт страницу-демо с примерами использования | публикация |
NetLogo
| Страница | Модель | Тип remix |
|---|---|---|
| NetLogo_widgets | интерфейсные элементы | добавить процедуры, связанные с кнопками и слайдерами |
| Netlogo_patches | работа с клетками | добавить команды для покраски / измерения патчей |
| Черепашки NetLogo | работа с агентами | добавить создания и видоизменения агентов |
| NetLogo links | работа с агентами | добавить создания и видоизменения агентов |
| Ants | муравьи и феромоны | добавить сценарии исследования поведения колонии |
- Структура remix-страницы NetLogo
| Раздел | Содержание |
|---|---|
| Введение | краткое описание, чей это remix и зачем |
| Встроенная модель | та же модель, что на исходной странице (через <netlogo model=> ) |
| Команды для Command Center | короткие фрагменты кода, которые читатель вводит в командную строку |
| Процедуры для вкладки Code | более длинные фрагменты — процедуры, добавляемые в модель |
| Вопросы для исследования | 3–5 вопросов, на которые можно ответить с помощью этих команд |
| Наблюдения | что студент заметил, запустив свои команды |
- Примеры кода NetLogo для remix-страниц
ask patches [ set pcolor red ]
ask turtles [ fd 1 ]
ask turtles [ set color blue ]
show count turtles
ask patches with [pxcor > 0] [ set pcolor yellow ]
Такие команды читатель копирует прямо в Command Center запущенной модели (одной строкой) и сразу видит результат. Ключевое слово ask — основа обращения к агентам в NetLogo: оно адресует команды либо всем агентам, либо подмножеству. Точно так же как и ask в SMW.
to scatter-ants [n]
create-turtles n [
setxy random-xcor random-ycor
set color red
set shape "bug"
]
end
- Требования к remix-странице NetLogo
| Требование | Минимум |
|---|---|
| Встроенная исходная модель | обязательна |
| Команды для Command Center | не менее 3 |
| Процедуры для вкладки Code | не менее 2 |
| Вопросы для исследования | не менее 3 |
| Наблюдения / выводы | не менее 1 абзаца |
Lua
| Модуль Lua | Что делает | Уровень |
|---|---|---|
Module:Card
|
инфокарточка из именованных аргументов | вводный |
| Модуль:SimpleGenerator | генерирует короткий псевдослучайный текст из двух заранее заданных предложений. | вводный |
| Module:Aggregator | анализ wiki-страницы: слова, ссылки, заголовки | базовый |
| Модуль:Statistics | используется для простых статистических расчётов по числовым данным, переданным в виде строки со значениями через запятую. | продвинутый |
| Модуль:ScratchWikis | загружает данные из внешнего CSV‑файла и строит по ним либо сортируемую таблицу, либо граф связей на языке GraphViz. | продвинутый |
| Обязательное требование | Минимум |
|---|---|
Личный remix-модуль Module:Name/Student
|
1 |
| Новые функции или режимы по сравнению с исходным | 2 |
Страница документации /doc
|
1 |
| Страница-демо с примерами вызова | 1 |
| Работоспособность на digida.mgpu.ru | обязательна |
Пример remix-идеи для Lua
Исходный Module:Aggregator считает слова в wiki-тексте страницы. Remix Module:Aggregator/Ivanov добавляет два режима — templates (подсчёт шаблонов) и categories (подсчёт категорий):
local function countTemplates(text)
local n = 0
for _ in mw.ustring.gmatch(text, "{{[^}]+}}") do
n = n + 1
end
return n
end
| Параметр | Lua + Scribunto | NetLogo |
|---|---|---|
| Что ремиксит студент | код модуля | текст wiki-страницы вокруг модели |
| Где живёт результат | Module:Name/Student
|
Page/Student
|
| Язык кода | Lua | NetLogo |
| Что добавляется | новые функции / режимы | новые команды / процедуры |
| Как читатель взаимодействует | вызывает модуль через #invoke
|
копирует команды в Command Center |
| Минимальный remix | 2 новые функции | 3 команды + 2 процедуры |
| Тип мышления | абстракция, функции | поведение, агенты |
Общие правила оценивания активного эссе
Общие критерии оценивания активного эссе
Активное эссе — это интерактивная вики-страница, создаваемая студентом на поле цифровой дидактики с использованием возможностей семантической вики-среды. В отличие от традиционного эссе, активное эссе является «живым» документом, содержащим не только текст, но и программный код, интерактивные модели, структурированные данные, диаграммы и визуализации.
Оценочное средство 1: Активное эссе (страница SMW)
| № | Критерий | Показатели | Баллы | Макс. |
|---|---|---|---|---|
| А. Содержательные критерии | ||||
| 1 | Содержание и соответствие теме дисциплины | Эссе раскрывает заявленную тему, содержит анализ ключевых понятий дисциплины, демонстрирует понимание теоретических основ. Текст логически структурирован: введение, основная часть, выводы. Использована профессиональная терминология. Имеются ссылки на источники. | 0–5 | 5 |
| 2 | Собственная позиция и аргументация | Автор формулирует собственную точку зрения, приводит аргументы и примеры из практики, сравнивает различные подходы, делает обоснованные выводы. | 0–3 | 3 |
| 3 | Научная корректность | Использованы корректные определения и терминология, ссылки на научные источники, отсутствуют фактические ошибки. | 0–2 | 2 |
| Б. Критерии использования возможностей цифровой среды | ||||
| 4 | Использование структурных диаграмм
Построение диаграмм (блок-схемы, UML, графы, диаграммы последовательностей и т.д.) средствами PlantUML, Mermaid или Graphviz |
Диаграммы помогают визуализировать абстрактные концепции: архитектуру систем, алгоритмы, потоки данных, связи между понятиями. Оценивается: корректность нотации, информативность диаграммы, обоснованность выбора типа диаграммы для конкретной задачи. | 0–3 | 3 |
| 5 | Использование семантических возможностей среды
Семантические запросы ( |
Семантические запросы позволяют строить динамические таблицы, выборки и каталоги на основе структурированных свойств страниц. Формы обеспечивают стандартизированный ввод данных. Карты и ленты времени визуализируют пространственные и временны́е отношения. Оценивается: корректность запросов, осмысленность выборки, информативность визуализации. | 0–3 | 3 |
| 6 | Включение математических или химических формул
Использование тегов |
Формулы обеспечивают точную и читаемую запись математических моделей, уравнений и химических реакций. Включение формул демонстрирует владение формальным языком дисциплины и связывает теоретические основы с практикой. Оценивается: корректность записи, осмысленность использования, связь с текстом. | 0–2 | 2 |
| 7 | Включение программного кода
Использование тегов |
Программный код в эссе демонстрирует практические навыки: способность автоматизировать обработку данных, реализовать алгоритмы, воспроизвести результаты анализа. Подсветка синтаксиса и нумерация строк повышают читаемость. Оценивается: работоспособность кода, наличие комментариев, связь с темой, оригинальность решения. | 0–3 | 3 |
| 8 | Включение интерактивных приложений
Встраивание проектов Snap!, Scratch или иных визуальных программных сред |
Интерактивные приложения позволяют читателю эссе непосредственно взаимодействовать с программными моделями: запускать симуляции, менять параметры, наблюдать результаты. Это превращает эссе из статического текста в интерактивную учебную среду. Оценивается: работоспособность приложения, связь с темой, уровень интерактивности. | 0–3 | 3 |
| 9 | Работа с внешними данными
Подключение внешних источников данных, их фильтрация и представление в виде таблиц (расширение External Data) |
Подключение внешних данных позволяет работать с реальными, актуальными наборами данных (открытые данные, API, базы данных), а не с искусственными примерами. Фильтрация и представление в таблицах демонстрируют навыки работы с данными. Оценивается: релевантность источника, корректность фильтрации, информативность представления. | 0–3 | 3 |
| 10 | Включение многоагентных моделей NetLogo
Встраивание моделей NetLogo для демонстрации агентных симуляций |
Многоагентные модели позволяют исследовать сложные системы: показать, как простые правила поведения агентов порождают макроуровневые паттерны. Встраивание модели в эссе даёт читателю возможность запустить симуляцию, изменить параметры и самостоятельно исследовать результаты. Оценивается: соответствие модели теме, корректность настройки параметров, наличие пояснений. | 0–3 | 3 |
| Итого максимум | 30 | |||
Шкала перевода баллов:
| Баллы | Оценка |
|---|---|
| 25–30 | Отлично (A) |
| 19–24 | Хорошо (B) |
| 13–18 | Удовлетворительно (C) |
| 0–12 | Неудовлетворительно (F) |
Оценочное средство 2: История вклада участника
| № | Критерий | Показатели | Баллы | Макс. |
|---|---|---|---|---|
| 1 | Равномерность вклада по времени | Работа над эссе велась регулярно на протяжении всего периода обучения, а не концентрировалась в последний момент. История правок показывает итеративное развитие текста: от замысла к черновику, от черновика к финальной версии. Отсутствуют признаки массового копирования (крупные единовременные вставки неоригинального текста). | 0–3 | 3 |
| 2 | Качество итерационного развития | Каждая правка содержит содержательные изменения (дополнение аргументации, улучшение кода, добавление визуализаций), а не формальные косметические правки. Прослеживается логика развития работы. | 0–2 | 2 |
| 3 | Участие в обсуждении | Участник вносил вклад в обсуждение на страницах обсуждения эссе однокурсников: задавал вопросы, предлагал улучшения, давал конструктивную обратную связь. | 0–2 | 2 |
| Итого максимум | 7 | |||
Оценочное средство 3: Зачёт (демонстрация активного эссе)
| № | Критерий | Показатели | Баллы | Макс. |
|---|---|---|---|---|
| 1 | Знание программного материала | Знание программного материала и структуры дисциплины, умение показать свои знания при демонстрации активного эссе. Свободная ориентация в содержании эссе, способность ответить на вопросы по материалу. | 0–2 | 2 |
| 2 | Владение методологией дисциплины в цифровой среде | Демонстрация уверенного владения инструментами цифровой среды, использованными в эссе: объяснение выбора конкретных средств (диаграммы, код, модели, запросы), умение модифицировать элементы эссе в реальном времени. | 0–2 | 2 |
| 3 | Презентация и ответы на вопросы | Логичность изложения, ясность речи, способность аргументировать свои решения, готовность к дискуссии. | 0–1 | 1 |
| Итого максимум | 5 | |||
Зачёт выставляется при суммарном балле не менее 3 из 5.
Итоговая оценка по дисциплине
| Компонент | Максимум | Вес |
|---|---|---|
| Активное эссе | 30 | 60% |
| История вклада | 7 | 20% |
| Зачёт | 5 | 20% |
| Итого | 42 | 100% |
