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

Материал из Поле цифровой дидактики
Новая страница: «{{Curriculum |Learning_outcomes=Цель освоения дисциплины — формирование у студентов понимания общих принципов программирования в контексте цифровой дидактики на базе Semantic MediaWiki digida.mgpu.ru, с акцентом на создание активных эссе через комбинацию языков ask, Scratch, NetLogo, Lua и...»
 
Нет описания правки
 
(не показано 7 промежуточных версий этого же участника)
Строка 15: Строка 15:
* Навыками совмещения нескольких языков (Lua-модуль с #ask, NetLogo-модель со Scratch, R-визуализациями) для создания интерактивных образовательных объектов.  
* Навыками совмещения нескольких языков (Lua-модуль с #ask, NetLogo-модель со Scratch, R-визуализациями) для создания интерактивных образовательных объектов.  
* Навыками совместной деятельности в Semantic MediaWiki: редактирование активных эссе, использование свойств страниц и запросов для коллективных проектов.
* Навыками совместной деятельности в Semantic MediaWiki: редактирование активных эссе, использование свойств страниц и запросов для коллективных проектов.
|Description=# Введение в программирование в цифровой дидактике (контекст digida.mgpu.ru и Semantic MediaWiki)
#* Результаты обучения и ключевые понятия (базовые конструкции, типы данных)
#* Обзор ресурсов (руководства SMW, NetLogo models, ScratchWiki, R для API)
#* Обзор инструментов (ask, SyntaxHighlight, EmbedScratch, NetLogo Web)
#* Обзор языков (ask, Scratch, NetLogo, Lua/Scribunto, R)
# Оператор ветвления в разных языках (Scratch if, NetLogo ifelse, Lua if, #ask фильтры)
# Циклические конструкции (NetLogo forever, Scratch forever, Lua for/while, R apply)
# Строковый тип данных (Lua string, R character, #ask текст, Scratch join)
# Массивы и списки (NetLogo lists/agentsets, Scratch lists, R vectors, #ask results)
# Lua-модули Scribunto для динамических страниц (примеры с #ask)
# R для анализа данных SMW (MediaWiki API, визуализация ggplot2)
# Мини-проекты и активные эссе (комбинация языков, peer-review)
# Итоговый проект и проверка результатов обучения
|Environment=Scratch, NetLogo, Lua, R, Активное эссе
|Environment=Scratch, NetLogo, Lua, R, Активное эссе
|Book=20 things to do, Agent-Based and Individual-Based Modeling: A Practical Introduction, Mindstorms, Thinking Like a Tree
|Book=20 things to do, Agent-Based and Individual-Based Modeling: A Practical Introduction, Mindstorms, Thinking Like a Tree
}}
}}
== Описание курса ==
Курс "Программирование" начинается с введения в контекст цифровой дидактики: зачем программирование на digida.mgpu.ru, обзор инструментов (#ask, Scratch, NetLogo, Lua/Scribunto, R via API) и результатов обучения (понимание базовых конструкций в разных языках, создание активных эссе).
Далее следует модуль ключевых понятий: типы данных (строки, массивы/списки, агенты/патчи), конструкции (ветвление, циклы) и ресурсы (руководства по SMW, NetLogo models, ScratchWiki, R for MediaWiki).
; Основной поток разбит на четыре блока по базовым конструкциям:
# демонстрация ветвления/циклов/строк/массивов в Scratch (визуальные блоки), NetLogo (агентные циклы), Lua (скрипты), ask (запросы как циклы), R (векторизация); 
# задания на переписывание одной идеи разными способами; ресурсы вроде SyntaxHighlight примеров и [[PlantUML]]-диаграмм [[алгоритм]]ов.
Параллельно вводятся [[Lua]]-модули для динамики страниц и [[R]] для анализа данных из SMW ([[MediaWiki API]], визуализации [[ggplot2]]).
Каждый блок заканчивается мини-проектом: [[активное эссе]] с встраиванием кода (EmbedScratch + NetLogo  ask таблица).
Финал — обобщение: создание комплексного эссе, проверка результатов обучения через самооценку и peer-review в SMW; если цели достигнуты, студенты владеют навыками многозначного программирования для образовательных объектов.
== Последовательность курса ==
<uml>
@startuml
skinparam NoteBackgroundColor tan
skinparam backgroundColor white
skinparam activity {
  BackgroundColor lightblue
  BorderColor navy
}
start
:Learning outcomes;\n(Результаты обучения);
note right
Знать: типы данных, конструкции
Уметь: операции в языках, активные эссе
Владеть: совмещением языков в SMW
end note
:Ключевые понятия;\n(Базовые конструкции);
note left
Ветвление
Циклы
Строки
Массивы/списки
Активные эссе
end note
:Ресурсы;(Книги, сайты);
note right
Руководство SMW
NetLogo Models
ScratchWiki
R for MediaWiki
Diigida
end note
:Инструменты;\n(Выбор);
note right
SyntaxHighlight
Scribundo
end note
:Languages;\n(#ask + визуальные);
note right
#ask,
Scratch,
NetLogo
R
end note
partition "Основной поток" {
  :1. Введение;\n(Контекст дидактики);
 
  fork
    :Ветвление;\n(Scratch if, NetLogo ifelse);
  fork again
    :Циклы;\n(NetLogo ask/repeat, Lua for);
  fork again
    :Строки + Массивы;\n(#ask фильтры, R векторы);
  end fork
 
  :Мини-проект;\n(Активное эссе с кодом);
 
  :Lua-модули + R анализ;\n(Динамика страниц);
}
:Learning outputs;\n(Результаты);
note left
Активное эссе в SMW
Lua-модуль
NetLogo
Scratch проект
#ask визуализация
end note
if (Достигнуты ли результаты?) then (нет)
  :Learning Outcomes\nНе достигнуты;
 
  :Провал!;
  stop
else (да)
  :Learning Outcomes\nДостигнуты;
endif
stop
@enduml
</uml>
# Введение в программирование в цифровой дидактике (контекст digida.mgpu.ru и [[Semantic MediaWiki]])
#* Результаты обучения и ключевые понятия (базовые конструкции, типы данных)
#* Обзор ресурсов (руководства SMW, NetLogo models, Scratch, R для API)
#* Обзор инструментов (аsk, SyntaxHighlight, EmbedScratch, NetLogo Web)
#* Обзор языков (ask, Scratch, NetLogo, Lua/Scribunto, R)
# Оператор ветвления в разных языках (Scratch if, NetLogo ifelse, Lua if, ask фильтры)
# Циклические конструкции ([[NetLogo]] forever, [[Scratch]] forever, Lua for/while, R apply)
# Строковый тип данных (Lua string, R character, #ask текст, Scratch join)
# Массивы и списки (NetLogo lists/agentsets, Scratch lists, R vectors, #ask results)
# [[Lua]]-модули Scribunto для динамических страниц (примеры с #ask)
# R для анализа данных SMW ([[MediaWiki API]], визуализация ggplot2)
# Мини-проекты и [[активное эссе|активные эссе]] (комбинация языков, peer-review)
# Итоговый проект и проверка результатов обучения
== Критерии оценки по дисциплине ==
{{Шаблон:Оценивание эссе}}

Текущая версия от 10:45, 9 апреля 2026



Планируемые результаты обучения (Знать, Уметь, Владеть) Цель освоения дисциплины — формирование у студентов понимания общих принципов программирования в контексте цифровой дидактики на базе Semantic MediaWiki digida.mgpu.ru, с акцентом на создание активных эссе через комбинацию языков ask, Scratch, NetLogo, Lua и R.
Результаты обучения
  • Обучающийся понимает и умеет использовать базовые конструкции программирования в указанных языках и инструментах для обогащения вики-страниц динамическим контентом.
Знать
  • Основные типы данных (строки, массивы/списки, агенты/патчи) и их особенности в #ask, Scratch, NetLogo, Lua, R.
  • Основы визуального, процедурного и скриптового программирования в образовательных средах digida.mgpu.ru.
  • Особенности реализации программ в различных инструментах SMW (SyntaxHighlight для Lua, EmbedScratch для Scratch, NetLogo Web, #ask для семантических запросов).
Уметь
  • Выбирать подходящий инструмент программирования (ask для фильтрации данных, NetLogo для моделирования, Lua для модулей) в зависимости от задачи активного эссе.
  • Выполнять стандартные операции (ветвление, циклы, обработка строк и массивов) в каждом из языков.
  • Структурировать программы: создавать функции в NetLogo/Scratch, скрипты Lua для Scribunto, запросы #ask с форматтерами; работать с данными через R и MediaWiki API.
  • Находить ошибки, улучшать код, документировать программы в формате вики-страниц с SyntaxHighlight.
Владеть
  • Навыками совмещения нескольких языков (Lua-модуль с #ask, NetLogo-модель со Scratch, R-визуализациями) для создания интерактивных образовательных объектов.
  • Навыками совместной деятельности в Semantic MediaWiki: редактирование активных эссе, использование свойств страниц и запросов для коллективных проектов.
Содержание разделов курса
  1. Введение в программирование в цифровой дидактике (контекст digida.mgpu.ru и Semantic MediaWiki)
    • Результаты обучения и ключевые понятия (базовые конструкции, типы данных)
    • Обзор ресурсов (руководства SMW, NetLogo models, ScratchWiki, R для API)
    • Обзор инструментов (ask, SyntaxHighlight, EmbedScratch, NetLogo Web)
    • Обзор языков (ask, Scratch, NetLogo, Lua/Scribunto, R)
  2. Оператор ветвления в разных языках (Scratch if, NetLogo ifelse, Lua if, #ask фильтры)
  3. Циклические конструкции (NetLogo forever, Scratch forever, Lua for/while, R apply)
  4. Строковый тип данных (Lua string, R character, #ask текст, Scratch join)
  5. Массивы и списки (NetLogo lists/agentsets, Scratch lists, R vectors, #ask results)
  6. Lua-модули Scribunto для динамических страниц (примеры с #ask)
  7. R для анализа данных SMW (MediaWiki API, визуализация ggplot2)
  8. Мини-проекты и активные эссе (комбинация языков, peer-review)
  9. Итоговый проект и проверка результатов обучения
Видео запись
Среды и средства, которые поддерживают учебный курс Scratch, NetLogo, Lua, R, Активное эссе
Книги, на которых основывается учебный курс 20 things to do, Agent-Based and Individual-Based Modeling: A Practical Introduction, Mindstorms, Thinking Like a Tree

Описание курса

Курс "Программирование" начинается с введения в контекст цифровой дидактики: зачем программирование на digida.mgpu.ru, обзор инструментов (#ask, Scratch, NetLogo, Lua/Scribunto, R via API) и результатов обучения (понимание базовых конструкций в разных языках, создание активных эссе). Далее следует модуль ключевых понятий: типы данных (строки, массивы/списки, агенты/патчи), конструкции (ветвление, циклы) и ресурсы (руководства по SMW, NetLogo models, ScratchWiki, R for MediaWiki).

Основной поток разбит на четыре блока по базовым конструкциям
  1. демонстрация ветвления/циклов/строк/массивов в Scratch (визуальные блоки), NetLogo (агентные циклы), Lua (скрипты), ask (запросы как циклы), R (векторизация);
  2. задания на переписывание одной идеи разными способами; ресурсы вроде SyntaxHighlight примеров и PlantUML-диаграмм алгоритмов.

Параллельно вводятся Lua-модули для динамики страниц и R для анализа данных из SMW (MediaWiki API, визуализации ggplot2).

Каждый блок заканчивается мини-проектом: активное эссе с встраиванием кода (EmbedScratch + NetLogo ask таблица).

Финал — обобщение: создание комплексного эссе, проверка результатов обучения через самооценку и peer-review в SMW; если цели достигнуты, студенты владеют навыками многозначного программирования для образовательных объектов.

Последовательность курса

  1. Введение в программирование в цифровой дидактике (контекст digida.mgpu.ru и Semantic MediaWiki)
    • Результаты обучения и ключевые понятия (базовые конструкции, типы данных)
    • Обзор ресурсов (руководства SMW, NetLogo models, Scratch, R для API)
    • Обзор инструментов (аsk, SyntaxHighlight, EmbedScratch, NetLogo Web)
    • Обзор языков (ask, Scratch, NetLogo, Lua/Scribunto, R)
  2. Оператор ветвления в разных языках (Scratch if, NetLogo ifelse, Lua if, ask фильтры)
  3. Циклические конструкции (NetLogo forever, Scratch forever, Lua for/while, R apply)
  4. Строковый тип данных (Lua string, R character, #ask текст, Scratch join)
  5. Массивы и списки (NetLogo lists/agentsets, Scratch lists, R vectors, #ask results)
  6. Lua-модули Scribunto для динамических страниц (примеры с #ask)
  7. R для анализа данных SMW (MediaWiki API, визуализация ggplot2)
  8. Мини-проекты и активные эссе (комбинация языков, peer-review)
  9. Итоговый проект и проверка результатов обучения


Критерии оценки по дисциплине

Общие критерии оценивания активного эссе

Активное эссе — это интерактивная вики-страница, создаваемая студентом на поле цифровой дидактики с использованием возможностей семантической вики-среды. В отличие от традиционного эссе, активное эссе является «живым» документом, содержащим не только текст, но и программный код, интерактивные модели, структурированные данные, диаграммы и визуализации.

Оценочное средство 1: Активное эссе (страница SMW)

Критерий Показатели Баллы Макс.
А. Содержательные критерии
1 Содержание и соответствие теме дисциплины Эссе раскрывает заявленную тему, содержит анализ ключевых понятий дисциплины, демонстрирует понимание теоретических основ. Текст логически структурирован: введение, основная часть, выводы. Использована профессиональная терминология. Имеются ссылки на источники. 0–5 5
2 Собственная позиция и аргументация Автор формулирует собственную точку зрения, приводит аргументы и примеры из практики, сравнивает различные подходы, делает обоснованные выводы. 0–3 3
3 Научная корректность Использованы корректные определения и терминология, ссылки на научные источники, отсутствуют фактические ошибки. 0–2 2
Б. Критерии использования возможностей цифровой среды
4 Использование структурных диаграмм

Построение диаграмм (блок-схемы, UML, графы, диаграммы последовательностей и т.д.) средствами PlantUML, Mermaid или Graphviz

Диаграммы помогают визуализировать абстрактные концепции: архитектуру систем, алгоритмы, потоки данных, связи между понятиями. Оценивается: корректность нотации, информативность диаграммы, обоснованность выбора типа диаграммы для конкретной задачи. 0–3 3
5 Использование семантических возможностей среды

Семантические запросы ({{#ask:}}), конструирование вопросов к данным, включение форм, географических карт, лент времени

Семантические запросы позволяют строить динамические таблицы, выборки и каталоги на основе структурированных свойств страниц. Формы обеспечивают стандартизированный ввод данных. Карты и ленты времени визуализируют пространственные и временны́е отношения. Оценивается: корректность запросов, осмысленность выборки, информативность визуализации. 0–3 3
6 Включение математических или химических формул

Использование тегов <math></math> или <chem></chem>

Формулы обеспечивают точную и читаемую запись математических моделей, уравнений и химических реакций. Включение формул демонстрирует владение формальным языком дисциплины и связывает теоретические основы с практикой. Оценивается: корректность записи, осмысленность использования, связь с текстом. 0–2 2
7 Включение программного кода

Использование тегов <syntaxhighlight lang="..." line>

Программный код в эссе демонстрирует практические навыки: способность автоматизировать обработку данных, реализовать алгоритмы, воспроизвести результаты анализа. Подсветка синтаксиса и нумерация строк повышают читаемость. Оценивается: работоспособность кода, наличие комментариев, связь с темой, оригинальность решения. 0–3 3
8 Включение интерактивных приложений

Встраивание проектов Snap!, Scratch или иных визуальных программных сред

Интерактивные приложения позволяют читателю эссе непосредственно взаимодействовать с программными моделями: запускать симуляции, менять параметры, наблюдать результаты. Это превращает эссе из статического текста в интерактивную учебную среду. Оценивается: работоспособность приложения, связь с темой, уровень интерактивности. 0–3 3
9 Работа с внешними данными

Подключение внешних источников данных, их фильтрация и представление в виде таблиц (расширение External Data)

Подключение внешних данных позволяет работать с реальными, актуальными наборами данных (открытые данные, API, базы данных), а не с искусственными примерами. Фильтрация и представление в таблицах демонстрируют навыки работы с данными. Оценивается: релевантность источника, корректность фильтрации, информативность представления. 0–3 3
10 Включение многоагентных моделей NetLogo

Встраивание моделей NetLogo для демонстрации агентных симуляций

Многоагентные модели позволяют исследовать сложные системы: показать, как простые правила поведения агентов порождают макроуровневые паттерны. Встраивание модели в эссе даёт читателю возможность запустить симуляцию, изменить параметры и самостоятельно исследовать результаты. Оценивается: соответствие модели теме, корректность настройки параметров, наличие пояснений. 0–3 3
Итого максимум 30

Шкала перевода баллов:

Баллы Оценка
25–30 Отлично (A)
19–24 Хорошо (B)
13–18 Удовлетворительно (C)
0–12 Неудовлетворительно (F)

Оценочное средство 2: История вклада участника

Критерий Показатели Баллы Макс.
1 Равномерность вклада по времени Работа над эссе велась регулярно на протяжении всего периода обучения, а не концентрировалась в последний момент. История правок показывает итеративное развитие текста: от замысла к черновику, от черновика к финальной версии. Отсутствуют признаки массового копирования (крупные единовременные вставки неоригинального текста). 0–3 3
2 Качество итерационного развития Каждая правка содержит содержательные изменения (дополнение аргументации, улучшение кода, добавление визуализаций), а не формальные косметические правки. Прослеживается логика развития работы. 0–2 2
3 Участие в обсуждении Участник вносил вклад в обсуждение на страницах обсуждения эссе однокурсников: задавал вопросы, предлагал улучшения, давал конструктивную обратную связь. 0–2 2
Итого максимум 7

Оценочное средство 3: Зачёт (демонстрация активного эссе)

Критерий Показатели Баллы Макс.
1 Знание программного материала Знание программного материала и структуры дисциплины, умение показать свои знания при демонстрации активного эссе. Свободная ориентация в содержании эссе, способность ответить на вопросы по материалу. 0–2 2
2 Владение методологией дисциплины в цифровой среде Демонстрация уверенного владения инструментами цифровой среды, использованными в эссе: объяснение выбора конкретных средств (диаграммы, код, модели, запросы), умение модифицировать элементы эссе в реальном времени. 0–2 2
3 Презентация и ответы на вопросы Логичность изложения, ясность речи, способность аргументировать свои решения, готовность к дискуссии. 0–1 1
Итого максимум 5

Зачёт выставляется при суммарном балле не менее 3 из 5.

Итоговая оценка по дисциплине

Компонент Максимум Вес
Активное эссе 30 60%
История вклада 7 20%
Зачёт 5 20%
Итого 42 100%