Участник:Patarakin/Алгоритмы и структуры данных

Материал из Поле цифровой дидактики

Это перечень заданий для курса Алгоритмы и структуры данных (syllabus)

  • обращаться к внешним и внутренним данным из среды Semantic MediaWiki, уметь использовать различные типы данных внутри Semantic MediaWiki
  • обмениваться проектами и блоками программ в Snap!
  • сравнивать и объединять статьи о языках программирования
  • импортировать и экспортировать данные в среду визуального программирования Snap!
  • проектировать и программировать линейные и разветвляющиеся структуры алгоритмов;
  • планировать процесс реализации алгоритма при помощи псевдокода и диаграмм
  • использовать язык dgl и mermaid встраивать диаграммы алгоритмов в вики страницы
  • представлять алгоритмы на страницах вики в виде диаграмм, псевдокода, кода на различных языках программирования
  • создавать собственные блоки (команды и процедуры с входными параметрами) в среде Snap! (создавать функции с использованием различных типов данных))
  • оценивать и сравнивать эффективность алгоритмов, вычислительную сложность алгоритмов
  • использовать рекурсию в командах и процедурах, использовать рекурсию при создании собственных функций
  • использовать объекты первого класса и лямбда исчисления.

Обращаться к внешним и внутренним данным из среды Semantic MediaWiki, уметь использовать различные типы данных внутри Semantic MediaWiki

Примеры задач на внутренние данные
  • Подсчитай внутри вики количество участников из МГПУ Category:UserMGPU?

Количество участников из МГПУ = 620

  • Посчитай число участников, которые указали, что используют язык Scratch ?

Количество участников из МГПУ, которые используют язык Scratch = 39

 EnvironmentDescription
AAnosovScratch
Pascal
JavaScript
Kumir
Python
Аносов Александр
AlekhinaAAScratch
Python
Алёхина Анастасия Андреевна

2019 – 2023, ГАОУ ВО МГПУ , Институт цифрового образования, 44.03.01 «Педагогическое образование», профиль: «Информатика»

2023 - наст. время, ГАОУ ВО МГПУ , Институт цифрового образования, 44.03.01 «Педагогическое образование», профиль: «Интернет вещей в образовании»

Преподаю робототехнику и программирование для детей.
Anastasia LugovayaScratch
GeoGebra
AnotnovVA207Scratch
Python
GeoGebra
Desmos
ChatGPT
Docker
BahtukScratch
Python
Лязин Егор Александрович

Образование:

1. Информационные системы и технологии, РХТУ им. Менделеева, 2020-2024

2. Переводчик, РХТУ им. Менделеева, 2020-2023

3. Преподаватель высшей школы, РХТУ им. Менделеева, 2022-2024
Black0mesaScratch
Python
Сазонов Антон
BoboevaSNScratch
Pascal
Python
Бобоева Шахноза Насуллоджоновна

Студент МГПУ, окончил бакалавриат по направлению "Педагогическое образование: Информатика" в 2023 году.

В том же году поступил на направление магистратуры в МГПУ "Интернет вещей в образовании"
BondarenkoEVScratch
Python
Бондаренко Екатерина Викторовна🐱

1. 2015-2019. ГАОУ ВО МГПУ Институт среднего профессионального образования имени К.Д. Ушинского 44.02.02 - Преподавание в начальных классах.

2. 2019-2023. ГАОУ ВО МГПУ Институт цифрового образования 44.03.01 - Педагогическое образование, профиль: "Информатика".

3. 2023-наст.время. ГАОУ ВО МГПУ Институт цифрового образования 44.03.01 - Педагогическое образование, профиль: "Интернет вещей в образовании"

Работаю в школе учителем информатики и технологии
Borisova TanyaScratch
JavaScript
Python
HTML
Arduino IDE
Борисова Татьяна - студентка 1 курса магистратуры Иво-241м по направлению: "Интернет вещей в образовании"
DavydovAEScratch
Python
Студент 1 курса магистратуры ИВО-241м

Учитель информатики

Выпускник ИЦО в 2024 году
Die Toten EngelScratch
Pascal
Kumir
Python
Кузина Ксения
Egorovsn051NetLogo
StarLogo Nova
Scratch
Snap!
R
Администратор школы, Химик
ElenaGrcahevaScratch
Snap!
Python
Грачева Елена Андреевна

1. 2018 – 2023, ГАОУ ВО МГПУ , Институт цифрового образования, 44.03.05 «Педагогическое образование с двумя профилями подготовки», профиль: «Информатика и технология»

2. 2023 - наст. время, ГАОУ ВО МГПУ , Институт цифрового образования, 44.03.01 «Педагогическое образование», профиль: «Интернет вещей в образовании»

Преподаю в школе математику и информатику.
FedorovaaiMinecraft
Искусственный интеллект
Информатика
Scratch
Python
Desmos
Робототехника
Сообщество МЭШ
LEGO WeDo
Roblox
HTML
C++
Learning Apps
Microsoft Power Point
Zoom
Canva
Tilda
ChatGPT
Генеративный искусственный интеллект
Моделирование
Объектно-ориентированное программирование
Python IDLE
Excel
Microsoft Access
Figma
PyCharm
Компьютер
Проблемное обучение
Гуманно-личностный подход к ребенку
Интерактивные методы обучения
Adobe Photoshop
Кейс
Blender
Visual Studio Code
Компас 3D и др.)
3D принтеры
Слайсеры (Cura
AutoCad
Электронные образовтельные ресурсы
Фотошоп
Цифровые средства
Дифференцированный подход к учащимся в соответствии с их индивидуальными потребностями
Интерактивные викторины и квизы
Кулибин
CRM
Учусь на 4 курсе, люблю участвовать в профессиональных конкурсах
GridnevaMVScratch
Snap!
Python
Студентка 1 курса магистратуры ИВО-241 Выпускница ИЦО в 2024 году
InasovAAScratch
Python IDLE
DataLens
Karpov AlexandrScratch
Pascal
Python
Карпов Александр Александрович

1. 2019 – 2023, ГАОУ ВО МГПУ , Институт цифрового образования, 44.03.01 «Педагогическое образование», профиль: «Информатика»

2. 2023 - наст. время, ГАОУ ВО МГПУ , Институт цифрового образования, 44.03.01 «Педагогическое образование», профиль: «Интернет вещей в образовании»

Работаю в школе учителем математики и информатики.
LebedevAVScratch
JavaScript
Python
HTML
Arduino IDE
Лебедев Андрей - студент 1 курса магистратуры Иво-241м по направлению: "Интернет вещей в образовании"
LesikAAScratch
C++
C
Arduino IDE
IDLE
Лесик Анна Александровна

Студент МГПУ Группа: ИВО-241М Направление подготовки: 44.04.01 - Педагогическое образование

Профиль: Интернет вещей в образовании
LoshankovAOScratch
Pascal
Python
Магистрант МГПУ; направление - 44.04.01 Педагогическое образование; профиль - Интернет вещей в образовании; курс - 1; группа - ИВО-231м
LyazinEAScratch
Python
Лязин Егор Александрович

Образование:

1. Информационные системы и технологии, РХТУ им. Менделеева, 2020-2024

2. Переводчик, РХТУ им. Менделеева, 2020-2023

3. Преподаватель высшей школы, РХТУ им. Менделеева, 2022-2024
Milena.aslamazovaScratch
Snap!
2018 - 2023 - бакалавриат МГПУ, Педагогическое образование, Информатика (очно-заочное) 2023 - наст.вр. магистратура МГПУ, Интернет вещей
NemoshkalovMikhailScratch
Pascal
JavaScript
Kumir
Python
Немошкалов Михаил Александрович
NovikovPNScratch
Python
Новиков Павел Николаевич

2019 – 2023, ГАОУ ВО МГПУ , Институт цифрового образования, 44.03.01 «Педагогическое образование», профиль: «Информатика»

2023 - наст. время, ГАОУ ВО МГПУ , Институт цифрового образования, 44.03.01 «Педагогическое образование», профиль: «Интернет вещей в образовании»
PatarakinNetLogo
StarLogo Nova
CODAP
Scratch
Snap!
R
RAWGraphs
Администратор Диджиды, професссор ИЦО МГПУ, профессор ИнОбр ВШЭ
RabotaNSИнформатика
Scratch
Python
Desmos
Сообщество МЭШ
Python IDLE
Excel
Компас 3D и др.)
Sergey031Scratch
Python
C++
C
Чуприков Сергей
ShivanovaEAScratch
Kumir
Python
Шиванова Елизавета
ViktoriaZHStarLogo Nova
Scratch
VolkovAJScratch
Pascal
Python
Волков Александр Юрьевич

Студент МГПУ, окончил бакалавриат по направлению "Педагогическое образование (с двумя профилями подготовки): Информатика и технология" в 2023 году.

В том же году поступил на направление магистратуры в МГПУ "Интернет вещей в образовании"
YachenkoSMScratch
Python
Яченко Софья Михайловна Студентка ИВО-241м, учитель информатики
YanaStarLogo Nova
Scratch
Snap!
Имя в "Snap": Yanaaa000
YuliaScratch
Python
Visual Studio Code
Arduino IDE
Яндекс.Практикум
LEGO Mindstorms EV3/NXT
Учусь на 4 курсе
Крукерик АлександраStarLogo Nova
Scratch
Python
Сообщество МЭШ
Zoom
Canva
Python IDLE
Excel
Figma
Мерлева ОлесяScratch
Python
Сакович ПолинаStarLogo Nova
Scratch
Snap!
GeoGebra
Учусь в МФ-201. 21 год
Степанов МаксимStarLogo Nova
Scratch
Snap!
GeoGebra
Desmos
Learning Apps
Хмылов КонстантинScratch
Python
2019 – 2023, ГАОУ ВО МГПУ , Институт цифрового образования, 44.03.01 «Педагогическое образование», профиль: «Информатика», (диплом с отличием)

2023 - наст. время, ГАОУ ВО МГПУ , Институт цифрового образования, 44.03.01 «Педагогическое образование», профиль: «Интернет вещей в образовании»

Работаю методистом в компании OTUS. OTUS - высокотехнологический стартап в области образования. Наша миссия - делать образование осмысленным, реализуя связь между работодателями, специалистами и преподавателями. Приходите к нам учиться!
Черная КсенияScratch
Snap!
Python
Студентка первого курса магистратуры Интернет вещей в образовании. Закончила бакалавриат по направлению "Педагогическое образование: информатика и технология"
  • Собери таблицу с описанием писателей Category:Person, которые оказали влияние на язык R
  • Собери тайм-лайн с языками, ведущими свое происхождение от языка Prolog
  • Предложи собственную задачу на использование внутренних данных в среде Semantic MediaWiki
Примеры задач на внешние данные
  • Размести на странице выборку из датасета, который уже есть в категории Category:Dataset
  • Добавь новый датасет в Category:Dataset и предложи вариант его использования

Обмениваться проектами и блоками программ в Snap!

Ссылка на профиль в сети Snap!

Пример блока программного кода из среды Snap!

Пример блока программного кода из среды Scratch

Рассмотрите примеры решений в среде Scratch
 Description
3D WireframesКак создать 3D каркас
Additional KeysКак создавать и использовать комбинации дополнительных клавиш?
Advanced Platformer PhysicsКак мы имитируем физические свойства внутри Scratch
Advanced Platformer TutorialКак создать продвинутый платформер
Creating a QuizКак создать квиз - викторину из вопросов и ответов.
HeapКак использовать кучу? - Куча (структура данных)
How to Create a SlideshowКак создать слайд-шоу - советы по организации
How to Keep Score in a GameКак хранить результаты (очки) в игре
How to Make a Basic PlatformerКак создать платформер
How to Make a Basic ShooterКак создать проект игры "стрелялки" и какие блоги и конструкции используются для построения игр такого типа.
How to Make a Clicker GameРуководство по созданию игр типа clicker-game
How to Make a Tower Defense GameКак сделать игру по защите города
How to Move Sprites with the Arrow KeysКак управлять спрайтами при помощи клавиш клавиатуры - в блочных языках реализуется через связку нажатия определённой клавиши и поворотом в
How to Move a Sprite in a SpiralКак организовать движение агента по спирали
MovementКак управлять движением агентов на экране
Non-Euclidean Game TutorialКод решений, которые используются при создании игр типа «Неевклидова игра». «Неевклидова игра» — это то, что разработчики игр часто называют игрой, в которой мировое пространство не работает так, как работает реальный мир. Например, размещение огромной комнаты в небольшом пространстве или подъем по лестнице опускает игрока на уровень ниже. Возможности безграничны.
Object AttractionКак имитировать притяжение объектов друг к другу?
PathfindingПоиск пути (англ. Pathfinding) — термин в информатике и искусственном интеллекте, который означает определение компьютерной программой наилучшего, оптимального маршрута между двумя точками.
Removing an Item from a List (by value)Как удалить элемент из списка по значению этого элемента, а не по его индексу? В статье рассматривается пример на Scratch
Shooting ProjectilesКак стрелять снарядами? (Бросать объекты, клонировать объекты и т.п. действия)
Switching Between ScreensКак переключаться между различными сценами в Scratch. Скрипт проверяет, совпадает ли переменная экрана с экраном для отображения спрайтов. Если да, то спрайты будут отображаться и делать все, что от них требуется. Если нет, то спрайт останется скрытым и не запустит блоки для того времени, когда он будет открыт.
The ball gathers the starsПроект внутри которого 3 породы- мяч, звезды, подарок
The cowboy catС помощью этого скрипта случайным образом выбираются два числа от 0 до 10, после чего кот просит их перемножить и написать полученный ответ. Если ответ верный, кот произносит один набор фраз и подпрыгивает, снимая шляпу. Если ответ введен неверный, то произносит другую фразу и озвучивает правильный ответ. %D0%9A%D0%BE%D1%82_%D0%BA%D0%BE%D0%B2%D0%B1%D0%BE%D0%B9.png
Using Clones for Particle EffectsКак создать эффект частиц с помощью клонов?
Использовать данные МЭШ для моделирования поведения учителейПри изучении языков высокого уровня хотелось бы опираться на реальные ситуации, которые происходят с учителями. Эти ситуации описываются и моделируются в различных языках. Мы взяли несколько сред многоагентного моделирования, где агенты симулируют поведение учителей, и скрестили эти языки с данными, которые были извлечены из МЭШ.
  • 120px-Netlogo_mes.png
Как использовать Scratch APIКак использовать внешний API в средах визуального программирования
Как использовать визуальные блоки на вики страницахБлагодаря специальному расширению в вики можно использовать текстовые блоки для представления программ на языке Scratch и Snap!
Как использовать облачные данные в ScratchСпособ использования облачных данных, которые хранятся на сервере (Игровые очки, сравнение результатов)
Как написать курсовую работу по программированиюСтуденты пишут курсовую работу, в рамках которой демонстрируют свою способность создавать и документировать программный продукт
Как оценить Scratch проектКак оценить Scratch проект при помощи автоматического анализа кода проекта при помощи Dr.Scratch
Как перевести Scratch в Snap!Для того, чтобы перевести Scratch в Snap! нужно воспользоваться программой https://snapinator.github.io/#
  • Загрузить
  • Как получить изображение Scratch блоковВ ряде случаев для публикации материалов необходимо получить изображение блоков Scratch в виде графических файлов. Приложение https://scratchblocks.github.io/ позволяет получить блоки в формате png svg
    Как получить список случайных значенийВ общем случае создаём исходно пустой список и добавляем в него указанное число чисел, находящихся в указанном интервале. Для Snap!

    Список случайных чисел из %сколько от %min до %max

    540px-Random_list2.png
    Как собрать данные Scratch Wiki при помощи MediaWiki APIЗнания сообщества Scratch хранятся в нескольких вики на разных языках. Мы хотим собрать и сравнить данные о поведении участников
    Как собрать данные об отношениях участника в сети ScratchУ нас есть возможность обратиться к Scratch API и запросить информацию о тех, на кого подписался данный участник сообщества. И есть возможность запросить информацию о тех, кто подписался на данного участника
    Как создавать клоны в ScratchСоздаём клоны в Scratch
    Как управлять поведением агентов на основании их пространственных характеристикРаспространённая в играх и моделях ситуация, когда агента должен совершать действия на основании того, где он находится, кто находится с ним рядом и т.п.
    Какие есть функции для списков?В различных языках программирования достаточно часто встречаются задачи обработки списков. В этой статье собраны функции для списков
    Организовать взаимодействие персонажейВ искусственном мире есть несколько акторов-персонажей и мы хотим, чтобы они взаимодействовали между собой

    Каждый персонаж, который создали участники нашей команды, в начале истории будет прятаться и вставать в угол, где он колобка не учует. Появляться зверь этот зверь будет только тогда, когда его позовут - т.е. когда он получит сообщение. Например, медведь будет реагировать на сообщение “Приходи, медведь”. Общая схема обмена сообщениями выглядит следующим образом:

    • Колобок делает 10 шагов и посылает сообщение “Приходи, Медведь”
    • Медведь получает это сообщение, приходит и посылает сообщение “Колобок, я, медведь, тебя съем”
    Организовать обмен сообщениями между агентамиКак организовать обмен сообщениями между агентами? И в Scratch и в Snap! действует театральная метафора, когда персонажи могут обмениваться сообщениями и реагировать на сообщения. При этом в Scratch сообщения рассылаются всем, а в Snap! есть возможность указать адресата сообщения
  • 120px-Cherry_orchard_lp.png
  • Посчитать и сохранить значениеПосчитать и сохранить значение/ У нас есть множество зверей и все они собираются как-то взаимодействовать с колобком. И нам нужно, чтобы звери набрасывались на колобка не все сразу с криком “Я тебя съем”, а делали это по очереди. Как организовать эту очередь?
    Сортировка вставкамиСортировка вставками (англ. Insertion sort) — алгоритм сортировки, в котором элементы входной последовательности просматриваются по одному, и каждый новый поступивший элемент размещается в подходящее место среди ранее упорядоченных элементов. Вычислительная сложность 0(n2)
    Сортировка пузырькомСортиро́вка простыми обменами, сортировка пузырько́м (англ. bubble sort) — простой алгоритм сортировки. Для понимания и реализации этот алгоритм — простейший, но эффективен он лишь для небольших массивов. Метод сортировки обменами лежит в основе некоторых более совершенных алгоритмов, таких как шейкерная сортировка, пирамидальная сортировка и быстрая сортировка. 400px-SortingBubble_ed.png
    Сравнение Scratch wikisЭто рецепт извлечения данных по MediaWiki API из различных вики площадок, связанных с языком программирования Scratch.
    Формирование психолингвистических навыков цифровыми средствамиРецепты того, как сформировать психолингвистические навыки

    Cравнивать и объединять статьи о языках программирования

    • Собери диаграмму на основании данных о возрасте, на который рассчитан язык
    • Собери диаграмму тайм-лайн о языках с определёнными свойствам
    • Собери диаграмму на основании назначения языка

    Импортировать и экспортировать данные в среду визуального программирования Snap!

    • Импортируйте датасет (Category:Dataset ) в свой проект
    • Совершите действия по извлечению строк и столбцов, соответствующих определённому критерию. Ограничьте размер итогового датасета 10 строками и разместите его на странице
    • Опубликуйте проект с операциями над данными

    проектировать и программировать линейные и разветвляющиеся структуры алгоритмов

    планировать процесс реализации алгоритма при помощи псевдокода и диаграмм

    использовать язык graphviz и mermaid встраивать диаграммы алгоритмов в вики страницы

    представлять алгоритмы на страницах вики в виде диаграмм, псевдокода, кода на различных языках программирования

    создавать собственные блоки (команды и процедуры с входными параметрами) в среде Snap! (создавать функции с использованием различных типов данных))

    оценивать и сравнивать эффективность алгоритмов, вычислительную сложность алгоритмов

    использовать рекурсию в командах и процедурах, использовать рекурсию при создании собственных функций

    использовать объекты первого класса и лямбда исчисления