Объединение языков многоагентного моделирования в учебном процессе на базе MediaWiki (Robbo-2023)
Материал из Поле цифровой дидактики
Описание события | Как в регионе или муниципалитете повысить число юных программистов с помощью сообщества Scratch |
---|---|
Тип события | |
Начало | 2023-09-20T13:00:38.000Z |
Окончание | 2023-09-20T14:15:38.000Z |
color | blue |
Адрес события | https://pruffme.com/landing/u324531/Webinar 20 09 2023 |
Видео запись события | |
Среды и средства, которые использовались в рамках события | |
Формируемые в рамках события компетенции | |
Область знаний | |
Местоположение | |
Формат реализации | |
Карта |
Объединение языков многоагентного моделирования в учебном процессе на базе MediaWiki
- Патаракин Евгений Дмитриевич
Вычислительное мышление и формы его освоения
Description | Environment | |
---|---|---|
Вычислительное мышление | Объединение способностей человека и возможностей вычислительной техники. Способность усиливать свою деятельность, привлекая к себе на помощь программных агентов. Производные понятия - вычислительная наука, вычислительная история. | NetLogo StarLogo Nova Scratch Snap! Python R |
Description | Environment | |
---|---|---|
Children Learning to Code | В книге собраны различные международные практики обучения детей программированию. Различные обучающие среды, образовательные стандарты. Особое внимание уделено развитию среды Scratch в России - одним из побочных результатов книги стал рост числа участников сообщества Scratch в России. Проект был поддержан Всемирным Банком и МГПУ. ; На русском языке
| Scratch |
Лента времени развития языков многоагентного моделирования
- (Ancestors
- Lisp OR Ancestors:Logo)
Генеалогия многоагентных сред (диаграмма)
Описание | Фрагмент генеалогической схемы происхождения агентных языков |
---|---|
Область знаний | Информатика |
Среды для создания диаграммы: | Graphviz |
Датасеты, связанные с информатикой
Description | |
---|---|
Collaborative knowledge ACM (dataset) | Датасет сформирован на основании запроса к цифровой библиотеке ACM – dl.acm.org. Поисковый запрос выглядит следующим образом:
|
Computational thinking (ACM) | Датасет записей из библиотеки ACM по запросу Computational Thinking |
DetectiveStudio (dataset) | Материалы на основе Scratch API |
Games (biblio dataset) | Для поиска использовали ключевые слова: ("computer games" OR "video games" OR "serious games" OR "simulation games" OR "games-based learning" OR mmog OR mmorpg OR mud OR "online games") AND ("computational thinking") |
GoogleSchool 01(dataset) | Датасет собран из лог-файла действий учителей внутри школы |
Letopisi 2006 (dataset) | Лог-файл действий участников проекта Letopisi в 2006 году |
Scopus Games (dataset) | Датасет по публикациям о компьютерных играх, собранный в Scopus |
Студия Collab Challenge (dataset) | Это история совместной деятельности внутри Scratch студии Collab Challenge - https://scratch.mit.edu/studios/4789981/ - где в 2018 году собирались проекты на конкурс Collab Challenge. Данный датасет - возможность посмотреть деятельность сквозь призму данных Scratch API - 354 проекта
|
Цифровые инструменты учителей | Датасет о том, какие цифровые инструменты используются учителями учителями для решения различных задач
|
Возможность встраивать код программ (текст и визуальные блоки)
Из категории - Категория:Scripting Tutorials
when [up arrow v] key pressed point in direction (0) move (10) steps when [down arrow v] key pressed point in direction (180) move (10) steps when [right arrow v] key pressed point in direction (90) move (10) steps when [left arrow v] key pressed point in direction (-90) move (10) steps
Now your sprite will turn when it moves.
Возможность обмениваться программами как рецептами (на примере Snap!)
{{#ask: [[Категория:Scripting Tutorials]] [[Environment::Snap!]] || ?Description }}
Description | |
---|---|
Clock | Скрипт циферблата c секундной, минутной и часовой стрелками, которые ходят как настоящие часы. |
Dog chases cat and cat chases mouse | Проект внутри которого 3 породы- собака, кошка, мышка |
Heap | Как использовать кучу? - Куча (структура данных) |
How to Keep Score in a Game | Как хранить результаты (очки) в игре |
How to Move Sprites with the Arrow Keys | Как управлять спрайтами при помощи клавиш клавиатуры - в блочных языках реализуется через связку нажатия определённой клавиши и поворотом в |
How to Move a Sprite in a Spiral | Как организовать движение агента по спирали |
Movement | Как управлять движением агентов на экране |
Object Attraction | Как имитировать притяжение объектов друг к другу? |
Pathfinding | Поиск пути (англ. Pathfinding) — термин в информатике и искусственном интеллекте, который означает определение компьютерной программой наилучшего, оптимального маршрута между двумя точками. |
Switching Between Screens | Как переключаться между различными сценами в Scratch. Скрипт проверяет, совпадает ли переменная экрана с экраном для отображения спрайтов. Если да, то спрайты будут отображаться и делать все, что от них требуется. Если нет, то спрайт останется скрытым и не запустит блоки для того времени, когда он будет открыт. |
Using Clones for Particle Effects | Как создать эффект частиц с помощью клонов? |
Анализ данных | После того, как мы собрали или вырастили данные, наступает этап их анализа. В прикладной науке о данных выделяется определённая последовательность действий, которые совершаются над данными для их лучшего понимания и объяснения. |
Бантики | Проект "Бантики" |
Блоки для клонов: создание, присвоение ID, команда всем клонам, удаление клонов | Описание блоков для работы с клонами. Создание, присвоение ID, команда всем клонам, удаление клонов. |
Вернуться к предыдущей версии текста | Распространённая ситуация, когда после внесённых изменений программа перестаёт работать или что-то идёт не так. Большинство современных систем помнят историю версий и позволяют вернуться к прежним версиям. Например, в MediaWiki - история страницы. В StarLogo Nova - история версий (Current Version) View Project History. |
Выбрать ближайшего к мячу партнёра | Ситуация в игре с мячом, когда игрок будет двигаться к мячу, только если он ближе к мячу, чем другие игроки своей команду. Необходимо проверить, кто из партнёров может быть ближе. Игрок может оценить своё положение и положение других игроков. Реализовано для поля Snap! |
Задать цвет части поля | Как задать цвет поля (или его части) для разных сред агентного моделирования |
Звёздное небо | Скрипт "засеивания" неба звёздами |
Изучить информатиков МЭШ | В датесете МЭШ есть учителя информатики. Мы хотим узнать информацию о них. |
Использование рекурсивного способа вычисления факториала в Snap! | Рекурсивный алгоритм вычисления факториала в Snap! |
Использовать данные МЭШ для моделирования поведения учителей | При изучении языков высокого уровня хотелось бы опираться на реальные ситуации, которые происходят с учителями. Эти ситуации описываются и моделируются в различных языках. Мы взяли несколько сред многоагентного моделирования, где агенты симулируют поведение учителей, и скрестили эти языки с данными, которые были извлечены из МЭШ.
|
Как включить Snap! проект в состав вики страницы | Используем заклинание - snap project="Название" user="Имя_Автора" - примеры в тексте статьи |
Как заменить символы в строке? | Дана строка. Необходимо заменить все символы "а" на "о". |
Как использовать Scratch API | Как использовать внешний API в средах визуального программирования |
Как использовать визуальные блоки на вики страницах | Благодаря специальному расширению в вики можно использовать текстовые блоки для представления программ на языке Scratch и Snap! |
Как использовать сцены в Snap! | Требуется объединить несколько проектов и передать значения из одной сцены Snap! в другую. Передать можно только значения внутри списка данных - Нельзя передать объекты между сценами |
Как обратиться к API из Snap! | Невозможно обратиться напрямую к большинству открытых API из Snap! Но, можно организовать такое обращение и обработку данных из JSON формата |
Как обратиться к внешним данным из Snap! | В Snap! очень просто обратиться к датасету в формате CSV или JSON, если он лежит на машине пользователя. Кроме того мы можем использовать блок (url) - обратиться к датасету и затем превратить его в таблицу в Snap! |
Как организовать обмен сообщениями через MQTT4Snap! | Возможно обмениваться сообщениями по протоколу MQTT через MQTT серверы -возможность связать Snap! проекты и устроить соревнование между участниками. Например, они могут передавать свои географические координаты
|
Как перевести Scratch в Snap! | Для того, чтобы перевести Scratch в Snap! нужно воспользоваться программой https://snapinator.github.io/#
|
Как получить изображение Scratch блоков | В ряде случаев для публикации материалов необходимо получить изображение блоков Scratch в виде графических файлов. Приложение https://scratchblocks.github.io/ позволяет получить блоки в формате png svg |
Как получить список случайных значений | В общем случае создаём исходно пустой список и добавляем в него указанное число чисел, находящихся в указанном интервале. Для Snap!
Список случайных чисел из %сколько от %min до %max |
Как проверить массив на наличие дублей | Как проверить массив на наличие дублей? Здесь приводятся решения на нескольких языках высокого уровня - JavaScript, Python, C++, NetLogo, Snap! |
Как работать со списками в Snap! | Что можно делать со списками в Snap! - Что для этого есть в этой среде программирования
|
Как редактировать собственный блок в Snap! | Просто щёлкнуть по блоку правой кнопкой мыши и выбрать команду edit и команды откроются в отдельном окне редактора |
Как сделать сортировку в массиве? | Отсортировать массив в порядке возрастания |
Как скопировать данные в буфер обмена в Snap! | Мы обработали или вырастили данные в среде Snap! и теперь мы хотим перенести эти данные в среду для анализа и визуализации. Простой и понятный способ - сохранить (экспортировать) значение переменной в csv или json. Но, если не хочется порождать промежуточные файлы то, можно использовать возможности расширения JavaScript |
Как собрать данные об отношениях участника в сети Scratch | У нас есть возможность обратиться к Scratch API и запросить информацию о тех, на кого подписался данный участник сообщества. И есть возможность запросить информацию о тех, кто подписался на данного участника |
Как управлять поведением агентов на основании их пространственных характеристик | Распространённая в играх и моделях ситуация, когда агента должен совершать действия на основании того, где он находится, кто находится с ним рядом и т.п. |
Как управлять поведением спрайта в Snap! | Как управлять поведением спрайта клавишами |
Какие есть функции для списков? | В различных языках программирования достаточно часто встречаются задачи обработки списков. В этой статье собраны функции для списков |
Лес со случайными деревьями | Скрипт рисования леса с деревьями, которые находятся в случайном месте и имеют случайный размер. |
Обратиться к объектам по их свойствам | Любая команда к агентам или объектам предполагает, что вы можете к ним обратиться, назвать их свойства и передать им указание что-то сделать. Например, всем страницам SMW из класса Язык программирования и свойством Ages::<10 показаться в формате нумерованного списка. Или всем черепах, с координатами по оси X > 0 и жёлтого цвета приказываю умереть
|
Организовать обмен сообщениями между агентами | Как организовать обмен сообщениями между агентами? И в Scratch и в Snap! действует театральная метафора, когда персонажи могут обмениваться сообщениями и реагировать на сообщения. При этом в Scratch сообщения рассылаются всем, а в Snap! есть возможность указать адресата сообщения |
Посчитать и сохранить значение | Посчитать и сохранить значение/ У нас есть множество зверей и все они собираются как-то взаимодействовать с колобком. И нам нужно, чтобы звери набрасывались на колобка не все сразу с криком “Я тебя съем”, а делали это по очереди. Как организовать эту очередь? |
Представить данные датасета в виде графа | Есть датасет и мы хотим превратить его в таблицу и граф, чтобы посмотреть на взаимосвязи узлов. |
Решить задачу коммивояжёра | Коммивояжер хочет побывать в каждом из 5 городов так, чтобы при этом проехать минимальное общее расстояние. Одно из возможных решений: нужно перебрать все возможные комбинации порядка объезда городов. |
Рисуем цветы | Скрипт рисования цветов, которые появляются в случайном месте. |
Создать процедуру с входными параметрами | Часто встречающаяся ситуация, когда нужно взять исходные данные, совершить над ними действия и вернуть полученный результат. Показано на пример Snap!, StarLogo Nova, App Inventor, NetLogo |
Сортировка вставками | Сортировка вставками (англ. Insertion sort) — алгоритм сортировки, в котором элементы входной последовательности просматриваются по одному, и каждый новый поступивший элемент размещается в подходящее место среди ранее упорядоченных элементов. Вычислительная сложность 0(n2) |
… следующие результаты |
Не только блоки, но и сами проекты
Scratch project
- Scratch project
Snap! project
- Snap! project
Slnova project
NetLogo project
Возможность встраивать модели, размещенные в сообществах
Description | Social Object | |
---|---|---|
CoMSES | CoMSES Net - Сеть для вычислительного моделирования в социальных и экологических науках. Это - открытое сообщество исследователей и преподавателей. Репозиторий - цифровое хранилище, поддерживающее исследования и передовые методы цитирования программного обеспечения, цифрового хранения, воспроизводимости и повторного использования моделей. | Программный код |
GitHub | Социальная сеть программистов, с возможностью хранить репозиторий проекта и все его изменения. GitHub - контроль доступа, багтрекинг, управлением задачами и вики для каждого проекта. Используется прежде всего для поддержания версий кода | Программный код |
Glitch | Сообщество для разработки веб-приложений | Программный код |
Habr | Хабр русскоязычный веб-сайт в формате системы тематических коллективных блогов (именуемых хабами) с элементами новостного сайта, созданный для публикации новостей, аналитических статей, мыслей, связанных с информационными технологиями, бизнесом и интернетом. | Программный код |
Modeling Commons | Сообщество, участники которого создают и обмениваются моделями NetLogo. | Программный код |
Roblox | Roblox — игровая онлайн-платформа и система создания игр, позволяющая любому пользователю создавать свои собственные и играть в созданные другими игры. | Программный код |
Stack OverFlow | Сеть создания контента в форме вопросов и ответов о программировании. | Программный код |
Сообщество GeoGebra | Социальная сеть, участники которой обмениваются материалами, созданными при помощи программы GeoGebra | Программный код |
Сообщество NetLogo | Сообщество пользователей, которые обмениваются моделями, написанными на языке NetLogo. | Программный код |
Сообщество Scratch | Сетевое сообщество детей и взрослых, обменивающихся своими проектами, написанными на языке Scratch | Программный код |
Сообщество Snap! | Сообщество исследователей, учителей и учащихся, использующих в своей деятельности язык Snap! Участники могут делиться своими проектами (Share, Publish). Создавать коллекции проектов, следить с действиями других участников (following) | Программный код |
Сообщество StarLogo | Сообщества обмена моделями и объектами в среде StarLogo Nova. Участники могут использовать код проектов других участников. Создавать свои коллекции и приглашать других участников к работе над версиями своих проектов. | Программный код |