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

Материал из Поле цифровой дидактики
Новая страница: « {| class="wikitable" ! Этап ! Что делает студент ! Задача |- | Use | запускает готовый артефакт как пользователь | наблюдение |- | Understand | читает исходный код / wiki-текст, понимает структуру | анализ |- | Remix | модифицирует артефакт под свою задачу / данные | творчество...»
 
 
(не показано 12 промежуточных версий этого же участника)
Строка 25: Строка 25:
| создаёт страницу-демо с примерами использования
| создаёт страницу-демо с примерами использования
| публикация
| публикация
|}
==== NetLogo ====
{| class="wikitable"
! Страница
! Модель
! Тип remix
|-
| [[NetLogo_widgets]]
| интерфейсные элементы
| добавить процедуры, связанные с кнопками и слайдерами
|-
| [[NetLogo_patches]]
| работа с клетками
| добавить команды для покраски / измерения патчей
|-
| [[NetLogo turtles]]
| работа с агентами
| добавить создания и видоизменения агентов
|-
| [[NetLogo links]]
| работа с агентами
| добавить создания и видоизменения связей
|-
| [[Fire (model)]]
| горящий лес
| добавить сценарии получения дополнительной информации
|-
| [[Flocking (model)]]
| формирование стай
| добавить сценарии управления поведения групп
|-
| [[Ants]]
| муравьи и феромоны
| добавить сценарии исследования поведения колонии
|}
; Структура remix-страницы NetLogo
{| class="wikitable"
! Раздел
! Содержание
|-
| Введение
| краткое описание, чей это remix и зачем
|-
| Встроенная модель
| та же модель, что на исходной странице (через <netlogo model=> )
|-
| Команды для Command Center
| короткие фрагменты кода, которые читатель вводит в командную строку
|-
| Процедуры для вкладки Code
| более длинные фрагменты — процедуры, добавляемые в модель
|-
| Вопросы для исследования
| 3–5 вопросов, на которые можно ответить с помощью этих команд
|-
| Наблюдения
| что студент заметил, запустив свои команды
|}
; Примеры кода NetLogo для remix-страниц
<syntaxhighlight lang="Lisp" line>
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 ]
</syntaxhighlight>
Такие команды читатель копирует прямо в Command Center запущенной модели (одной строкой) и сразу видит результат. Ключевое слово '''ask''' — основа обращения к  агентам в [[NetLogo]]: оно адресует команды либо всем агентам, либо подмножеству.  Точно так же как и ask в [[SMW]].
<syntaxhighlight lang="Lisp" line>
to scatter-ants [n]
  create-turtles n [
    setxy random-xcor random-ycor
    set color red
    set shape "bug"
  ]
end
</syntaxhighlight>
; Требования к remix-странице NetLogo
{| class="wikitable"
! Требование
! Минимум
|-
| Встроенная исходная модель
| обязательна
|-
| Команды для Command Center
| не менее 3
|-
| Процедуры для вкладки Code
| не менее 2
|-
| Вопросы для исследования
| не менее 3
|-
| Наблюдения / выводы
| не менее 1 абзаца
|}
==== Lua ====
; Примеры использования в модулях [[:Категория:LuaLearning]]
{| class="wikitable"
! Модуль Lua
! Что делает
! Уровень
|-
| [[Модуль:SimpleGenerator]]
| генерирует короткий псевдослучайный текст из двух заранее заданных предложений.
| вводный
|-
| [[Module:Aggregator]]
| анализ wiki-страницы: слова, ссылки, заголовки
| базовый
|-
| [[Модуль:Statistics]]
| используется для простых статистических расчётов по числовым данным, переданным в виде строки со значениями через запятую.
| продвинутый
|-
| [[Модуль:ScratchWikis]]
| загружает данные из внешнего [[CSV]]‑файла и строит по ним либо сортируемую таблицу, либо граф связей на языке GraphViz.
| продвинутый
|}
----
; Требования к [[remix]] [[Lua]]
{| class="wikitable"
! Обязательное требование
! Минимум
|-
| Личный remix-модуль <code>Module:Name/Student</code>
| 1
|-
| Новые функции или режимы по сравнению с исходным
| 2
|-
| Страница документации <code>/doc</code>
| 1
|-
| Страница-демо с примерами вызова
| 1
|-
| Работоспособность на digida.mgpu.ru
| обязательна
|}
Пример 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>
; Сравнение направлений  [[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:20, 23 апреля 2026


Этап Что делает студент Задача
Use запускает готовый артефакт как пользователь наблюдение
Understand читает исходный код / wiki-текст, понимает структуру анализ
Remix модифицирует артефакт под свою задачу / данные творчество
Document описывает, что именно он изменил и зачем рефлексия
Demonstrate создаёт страницу-демо с примерами использования публикация
Страница Модель Тип remix
NetLogo_widgets интерфейсные элементы добавить процедуры, связанные с кнопками и слайдерами
NetLogo_patches работа с клетками добавить команды для покраски / измерения патчей
NetLogo turtles работа с агентами добавить создания и видоизменения агентов
NetLogo links работа с агентами добавить создания и видоизменения связей
Fire (model) горящий лес добавить сценарии получения дополнительной информации
Flocking (model) формирование стай добавить сценарии управления поведения групп
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

Примеры использования в модулях Категория:LuaLearning
Модуль Lua Что делает Уровень
Модуль:SimpleGenerator генерирует короткий псевдослучайный текст из двух заранее заданных предложений. вводный
Module:Aggregator анализ wiki-страницы: слова, ссылки, заголовки базовый
Модуль:Statistics используется для простых статистических расчётов по числовым данным, переданным в виде строки со значениями через запятую. продвинутый
Модуль:ScratchWikis загружает данные из внешнего CSV‑файла и строит по ним либо сортируемую таблицу, либо граф связей на языке GraphViz. продвинутый

Требования к 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 процедуры
Тип мышления абстракция, функции поведение, агенты