Обсуждение:Программирование (syllabus) 2026: различия между версиями
Материал из Поле цифровой дидактики
Patarakin (обсуждение | вклад) |
Patarakin (обсуждение | вклад) |
||
| Строка 108: | Строка 108: | ||
| обязательна | | обязательна | ||
|} | |} | ||
Пример remix-идеи для Lua | |||
Исходный <code>Module:Aggregator</code> считает слова в wiki-тексте страницы. Remix <code>Module:Aggregator/Ivanov</code> добавляет два режима — <code>templates</code> (подсчёт шаблонов) и <code>categories</code> (подсчёт категорий): | |||
<syntaxhighlight lang="lua" line> | |||
local function countTemplates(text) | |||
local n = 0 | |||
for _ in mw.ustring.gmatch(text, "{{[^}]+}}") do | |||
n = n + 1 | |||
end | |||
return n | |||
end | |||
</syntaxhighlight> | |||
Версия от 10:39, 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
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
