Обсуждение:Программирование (syllabus) 2026: различия между версиями
Материал из Поле цифровой дидактики
Patarakin (обсуждение | вклад) |
Patarakin (обсуждение | вклад) |
||
| Строка 59: | Строка 59: | ||
В NetLogo-ветке студент не меняет саму модель, а обогащает вокруг неё текст wiki-страницы: добавляет готовые процедуры и команды, которые читатель может скопировать в Command Center или на вкладку Code работающей модели. То есть remix-страница NetLogo становится не новой моделью, а новым сценарием использования старой модели. | В NetLogo-ветке студент не меняет саму модель, а обогащает вокруг неё текст wiki-страницы: добавляет готовые процедуры и команды, которые читатель может скопировать в Command Center или на вкладку Code работающей модели. То есть remix-страница NetLogo становится не новой моделью, а новым сценарием использования старой модели. | ||
==== ==== | ==== Основания ==== | ||
{| class="wikitable" | {| class="wikitable" | ||
| Строка 78: | Строка 77: | ||
| муравьи и феромоны | | муравьи и феромоны | ||
| добавить сценарии исследования поведения колонии | | добавить сценарии исследования поведения колонии | ||
|} | |||
==== Структура remix-страницы NetLogo ==== | |||
{| class="wikitable" | |||
! Раздел | |||
! Содержание | |||
|- | |||
| Введение | |||
| краткое описание, чей это remix и зачем | |||
|- | |||
| Встроенная модель | |||
| та же модель, что на исходной странице (через <code><iframe></code> или шаблон) | |||
|- | |||
| Команды для Command Center | |||
| короткие фрагменты кода, которые читатель вводит в командную строку | |||
|- | |||
| Процедуры для вкладки Code | |||
| более длинные фрагменты — процедуры, добавляемые в модель | |||
|- | |||
| Вопросы для исследования | |||
| 3–5 вопросов, на которые можно ответить с помощью этих команд | |||
|- | |||
| Наблюдения | |||
| что студент заметил, запустив свои команды | |||
|} | |} | ||
Версия от 10:47, 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 | создаёт страницу-демо с примерами использования | публикация |
Базовые
NetLogo
- NetLogo — обзорная страница языка агентного моделирования;
- Netlogo patches — пассивные агенты-клетки;
- NetLogo widgets — кнопки, слайдеры, мониторы;
- Ants — пример полноценной модели (муравьи и феромоны).
В NetLogo-ветке студент не меняет саму модель, а обогащает вокруг неё текст wiki-страницы: добавляет готовые процедуры и команды, которые читатель может скопировать в Command Center или на вкладку Code работающей модели. То есть remix-страница NetLogo становится не новой моделью, а новым сценарием использования старой модели.
Основания
| Страница | Модель | Тип remix |
|---|---|---|
| <Netlogo_patches | работа с клетками | добавить команды для покраски / измерения патчей |
| NetLogo_widgets | интерфейсные элементы | добавить процедуры, связанные с кнопками и слайдерами |
| Ants | муравьи и феромоны | добавить сценарии исследования поведения колонии |
Структура remix-страницы NetLogo
| Раздел | Содержание |
|---|---|
| Введение | краткое описание, чей это remix и зачем |
| Встроенная модель | та же модель, что на исходной странице (через <iframe> или шаблон)
|
| Команды для Command Center | короткие фрагменты кода, которые читатель вводит в командную строку |
| Процедуры для вкладки Code | более длинные фрагменты — процедуры, добавляемые в модель |
| Вопросы для исследования | 3–5 вопросов, на которые можно ответить с помощью этих команд |
| Наблюдения | что студент заметил, запустив свои команды |
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
