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

Материал из Поле цифровой дидактики
Строка 217: Строка 217:
end
end
</syntaxhighlight>
</syntaxhighlight>
=== Сравнение направлений  NetLogo <-> Lua ===
{| class="wikitable"
! Параметр
! Lua + Scribunto
! NetLogo
|-
| Что ремиксит студент
| код модуля
| текст wiki-страницы вокруг модели
|-
| Где живёт результат
| <code>Module:Name/Student</code>
| <code>Page/Student</code>
|-
| Язык кода
| Lua
| NetLogo
|-
| Что добавляется
| новые функции / режимы
| новые команды / процедуры
|-
| Как читатель взаимодействует
| вызывает модуль через <code>#invoke</code>
| копирует команды в Command Center
|-
| Минимальный remix
| 2 новые функции
| 3 команды + 2 процедуры
|-
| Тип мышления
| абстракция, функции
| поведение, агенты
|}

Версия от 11:04, 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.

to scatter-ants [n]
  create-turtles n [
    setxy random-xcor random-ycor
    set color red
    set shape "bug"
  ]
end


Требование Минимум
Встроенная исходная модель обязательна
Команды для Command Center не менее 3
Процедуры для вкладки Code не менее 2
Вопросы для исследования не менее 3
Наблюдения / выводы не менее 1 абзаца

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

Сравнение направлений NetLogo <-> Lua

Параметр Lua + Scribunto NetLogo
Что ремиксит студент код модуля текст wiki-страницы вокруг модели
Где живёт результат Module:Name/Student Page/Student
Язык кода Lua NetLogo
Что добавляется новые функции / режимы новые команды / процедуры
Как читатель взаимодействует вызывает модуль через #invoke копирует команды в Command Center
Минимальный remix 2 новые функции 3 команды + 2 процедуры
Тип мышления абстракция, функции поведение, агенты