Участник:Patarakin/Алгоритмы и структуры данных
Материал из Поле цифровой дидактики
Это перечень заданий для курса Алгоритмы и структуры данных (syllabus)
- обращаться к внешним и внутренним данным из среды Semantic MediaWiki, уметь использовать различные типы данных внутри Semantic MediaWiki
- обмениваться проектами и блоками программ в Snap!
- сравнивать и объединять статьи о языках программирования
- импортировать и экспортировать данные в среду визуального программирования Snap!
- проектировать и программировать линейные и разветвляющиеся структуры алгоритмов;
- планировать процесс реализации алгоритма при помощи псевдокода и диаграмм
- использовать язык dgl и mermaid встраивать диаграммы алгоритмов в вики страницы
- представлять алгоритмы на страницах вики в виде диаграмм, псевдокода, кода на различных языках программирования
- создавать собственные блоки (команды и процедуры с входными параметрами) в среде Snap! (создавать функции с использованием различных типов данных))
- оценивать и сравнивать эффективность алгоритмов, вычислительную сложность алгоритмов
- использовать рекурсию в командах и процедурах, использовать рекурсию при создании собственных функций
- использовать объекты первого класса и лямбда исчисления.
Обращаться к внешним и внутренним данным из среды Semantic MediaWiki, уметь использовать различные типы данных внутри Semantic MediaWiki
- Примеры задач на внутренние данные
- Подсчитай внутри вики количество участников из МГПУ Category:UserMGPU?
Количество участников из МГПУ = 285
- Посчитай число участников, которые указали, что используют язык Scratch ?
Количество участников из МГПУ, которые используют язык Scratch = 30
- Собери таблицу с описанием писателей Category:Person, которые оказали влияние на язык R
Description | |
---|---|
Smaldino |
|
Wickham | Hadley Wickham - разработчик библиотек и автор книг по R, Shiny и анализу данных. His work includes the data visualisation system ggplot2 and the tidyverse, a collection of R packages for data science based on the concept of tidy data. |
Собери тайм-лайн с языками, ведущими свое происхождение от языка Prolog
- (Prolog OR Ancestors
- Prolog)
- Предложи собственную задачу на использование внутренних данных в среде Semantic MediaWiki
Примеры задач на внешние данные
Размести на странице выборку из датасета, который уже есть в категории Category:Dataset
Год | Болезни | Число смертей |
---|---|---|
1657 | Teeth and Worms | 878 |
- Добавь новый датасет в 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, после чего кот просит их перемножить и написать полученный ответ. Если ответ верный, кот произносит один набор фраз и подпрыгивает, снимая шляпу. Если ответ введен неверный, то произносит другую фразу и озвучивает правильный ответ. |
Using Clones for Particle Effects | Как создать эффект частиц с помощью клонов? |
Использовать данные МЭШ для моделирования поведения учителей | При изучении языков высокого уровня хотелось бы опираться на реальные ситуации, которые происходят с учителями. Эти ситуации описываются и моделируются в различных языках. Мы взяли несколько сред многоагентного моделирования, где агенты симулируют поведение учителей, и скрестили эти языки с данными, которые были извлечены из МЭШ.
|
Как использовать 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 |
Как собрать данные об отношениях участника в сети Scratch | У нас есть возможность обратиться к Scratch API и запросить информацию о тех, на кого подписался данный участник сообщества. И есть возможность запросить информацию о тех, кто подписался на данного участника |
Как создавать клоны в Scratch | Создаём клоны в Scratch |
Как управлять поведением агентов на основании их пространственных характеристик | Распространённая в играх и моделях ситуация, когда агента должен совершать действия на основании того, где он находится, кто находится с ним рядом и т.п. |
Какие есть функции для списков? | В различных языках программирования достаточно часто встречаются задачи обработки списков. В этой статье собраны функции для списков |
Организовать взаимодействие персонажей | В искусственном мире есть несколько акторов-персонажей и мы хотим, чтобы они взаимодействовали между собой
Каждый персонаж, который создали участники нашей команды, в начале истории будет прятаться и вставать в угол, где он колобка не учует. Появляться зверь этот зверь будет только тогда, когда его позовут - т.е. когда он получит сообщение. Например, медведь будет реагировать на сообщение “Приходи, медведь”. Общая схема обмена сообщениями выглядит следующим образом:
|
Организовать обмен сообщениями между агентами | Как организовать обмен сообщениями между агентами? И в Scratch и в Snap! действует театральная метафора, когда персонажи могут обмениваться сообщениями и реагировать на сообщения. При этом в Scratch сообщения рассылаются всем, а в Snap! есть возможность указать адресата сообщения |
Посчитать и сохранить значение | Посчитать и сохранить значение/ У нас есть множество зверей и все они собираются как-то взаимодействовать с колобком. И нам нужно, чтобы звери набрасывались на колобка не все сразу с криком “Я тебя съем”, а делали это по очереди. Как организовать эту очередь? |
Сортировка вставками | Сортировка вставками (англ. Insertion sort) — алгоритм сортировки, в котором элементы входной последовательности просматриваются по одному, и каждый новый поступивший элемент размещается в подходящее место среди ранее упорядоченных элементов. Вычислительная сложность 0(n2) |
Сортировка пузырьком | Сортиро́вка простыми обменами, сортировка пузырько́м (англ. bubble sort) — простой алгоритм сортировки. Для понимания и реализации этот алгоритм — простейший, но эффективен он лишь для небольших массивов. Метод сортировки обменами лежит в основе некоторых более совершенных алгоритмов, таких как шейкерная сортировка, пирамидальная сортировка и быстрая сортировка. |
Cравнивать и объединять статьи о языках программирования
- Собери диаграмму на основании данных о возрасте, на который рассчитан язык
- Собери диаграмму тайм-лайн о языках с определёнными свойствам
- Собери диаграмму на основании назначения языка
Загрузка...
Импортировать и экспортировать данные в среду визуального программирования Snap!
- Импортируйте датасет (Category:Dataset ) в свой проект
- Совершите действия по извлечению строк и столбцов, соответствующих определённому критерию. Ограничьте размер итогового датасета 10 строками и разместите его на странице
- Опубликуйте проект с операциями над данными