Обсуждение:Программирование (syllabus) 2026: различия между версиями

Материал из Поле цифровой дидактики
Строка 112: Строка 112:
ask patches with [pxcor > 0] [ set pcolor yellow ]
ask patches with [pxcor > 0] [ set pcolor yellow ]
</syntaxhighlight>
</syntaxhighlight>
Такие команды читатель копирует прямо в Command Center запущенной модели (одной строкой) и сразу видит результат. Ключевое слово '''ask''' — основа обращения к  агентам в [[NetLogo]]: оно адресует команды либо всем агентам, либо подмножеству.  Точно так же как и ask в [[SMW]].


=== Lua ===
=== Lua ===

Версия от 10:57, 20 апреля 2026

Модуль Тематика Ключевые артефакты
1. Введение в MediaWiki и Semantic MediaWiki Структура вики, свойства и запросы ask, концепция активных эссе Страницы курса, семантические свойства, простые ask-запросы
2. Основы Lua и Scribunto Синтаксис Lua, модули, вызов {{#invoke:}} Module:Hello, простые функции, параметры шаблонов
3. Обработка семантических данных в Lua Получение и обработка результатов ask, генерация таблиц Модуль, генерирующий динамическое содержание по свойствам SMW
4. Scratch и визуальное программирование Связь блок-схем с кодомLua, переход от блоков к тексту Задания по переписыванию Scratch-программ на Lua
5. NetLogo и агентные модели Основы NetLogo, turtles/patches, модели экосистем и IoT Простая модель в NetLogo, описание в вики
6. Lua + NetLogo Экспорт/импорт параметров моделей через вики, сценарии активных эссе Страница с параметризацией модели, запуск и анализ результатов
7. Lua и IoT NodeMCU/ESP8266, базовые сценарии умного класса, связь с вики Мини-проект: датчик температуры и страница с данными
8. Итоговый проект активного эссе Комплексный проект по предметной области студента Активное эссе с ask, Lua-модулями, ссылками на модели NetLogo и/или IoT


Схема

Этап Что делает студент Когнитивная задача
Use запускает готовый артефакт как пользователь наблюдение
Understand читает исходный код / wiki-текст, понимает структуру анализ
Remix модифицирует артефакт под свою задачу / данные творчество
Document описывает, что именно он изменил и зачем рефлексия
Demonstrate создаёт страницу-демо с примерами использования публикация

Базовые

  1. NetLogo — обзорная страница языка агентного моделирования;
  2. Netlogo patches — пассивные агенты-клетки;
  3. NetLogo widgets — кнопки, слайдеры, мониторы;
  4. Ants — пример полноценной модели (муравьи и феромоны).

В NetLogo-ветке студент не меняет саму модель, а обогащает вокруг неё текст wiki-страницы: добавляет готовые процедуры и команды, которые читатель может скопировать в Command Center или на вкладку Code работающей модели. То есть remix-страница NetLogo становится не новой моделью, а новым сценарием использования старой модели.

Основания

Страница Модель Тип remix
<Netlogo_patches работа с клетками добавить команды для покраски / измерения патчей
NetLogo_widgets интерфейсные элементы добавить процедуры, связанные с кнопками и слайдерами
Ants муравьи и феромоны добавить сценарии исследования поведения колонии
Раздел Содержание
Введение краткое описание, чей это remix и зачем
Встроенная модель та же модель, что на исходной странице (через <iframe> или шаблон)
Команды для 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.

Lua

Модуль Что делает Уровень
Module:Card инфокарточка из именованных аргументов вводный
Module:Table wikitable из списка вводный
Module:Aggregator анализ wiki-страницы: слова, ссылки, заголовки базовый
Module:DatasetAggregator анализ внешнего CSV (через External Data) продвинутый
Module:Badge цветные метки статуса вводный
Module:ProgressBar HTML-прогрессбар средний
Module:Glossary двухколоночный словарь из аргументов базовый

Требования к remix Lua

Обязательное требование Минимум
Личный 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