<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>http://digida.mgpu.ru/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=KuptsovaID</id>
	<title>Поле цифровой дидактики - Вклад [ru]</title>
	<link rel="self" type="application/atom+xml" href="http://digida.mgpu.ru/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=KuptsovaID"/>
	<link rel="alternate" type="text/html" href="http://digida.mgpu.ru/index.php/%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%92%D0%BA%D0%BB%D0%B0%D0%B4/KuptsovaID"/>
	<updated>2026-05-23T10:40:00Z</updated>
	<subtitle>Вклад</subtitle>
	<generator>MediaWiki 1.44.0</generator>
	<entry>
		<id>http://digida.mgpu.ru/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:KuptsovaID/%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B_%D0%B8_%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%82%D1%83%D1%80%D1%8B_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85&amp;diff=15046</id>
		<title>Участник:KuptsovaID/Алгоритмы и структуры данных</title>
		<link rel="alternate" type="text/html" href="http://digida.mgpu.ru/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:KuptsovaID/%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B_%D0%B8_%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%82%D1%83%D1%80%D1%8B_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85&amp;diff=15046"/>
		<updated>2023-12-21T18:00:05Z</updated>

		<summary type="html">&lt;p&gt;KuptsovaID: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Это для курса &amp;quot;Алгоритмы и структуры данных&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==  Snap! ==&lt;br /&gt;
* https://snap.berkeley.edu/project?username=kuptsovaid&amp;amp;projectname=KuptovaID%2dPBD%2d221m&lt;br /&gt;
&amp;lt;snap project=&amp;quot;KuptovaID%2dPBD%2d221m&amp;quot; user=&amp;quot;by kuptsovaid&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{#ask:[[Как сделать сортировку в массиве?]] | format=embedded | embedonly=yes}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* теоретические знания и практический опыт в области основ алгоритмизации задач, классификации языков программирования, типов данных, структур данных, взаимосвязь алгоритмов и структур данных, особенностей реализации алгоритмов и типов данных в языках блочного программирования Scratch, Snap!, GP&lt;br /&gt;
; Знать&lt;br /&gt;
: Основные понятия, связанные с миром алгоритмов и структур данных &lt;br /&gt;
: основы алгоритмизации задач, структуры данных;&lt;br /&gt;
: типы данных, структуры данных;&lt;br /&gt;
: методы и алгоритмы поиска и сортировки данных;&lt;br /&gt;
; Уметь&lt;br /&gt;
* обращаться к внешним и внутренним данным из среды Semantic MediaWiki, уметь использовать различные типы данных внутри Semantic MediaWiki&lt;br /&gt;
* обмениваться проектами и блоками программ в Snap!&lt;br /&gt;
* сравнивать и объединять статьи о языках программирования &lt;br /&gt;
* импортировать и экспортировать данные в среду визуального программирования Snap!&lt;br /&gt;
* проектировать и программировать линейные и разветвляющиеся структуры алгоритмов;&lt;br /&gt;
* планировать процесс реализации алгоритма при помощи псевдокода и диаграмм &lt;br /&gt;
* использовать язык &#039;&#039;&#039;dgl&#039;&#039;&#039; , mermaid, &#039;&#039;&#039;PlantUML&#039;&#039;&#039; встраивать диаграммы алгоритмов в вики страницы &lt;br /&gt;
* представлять алгоритмы на страницах вики в виде диаграмм, псевдокода, кода на различных языках программирования&lt;br /&gt;
* создавать собственные блоки (команды и процедуры с входными параметрами) в среде Snap! (создавать функции с использованием различных типов данных))&lt;br /&gt;
* оценивать и сравнивать эффективность алгоритмов, вычислительную сложность алгоритмов&lt;br /&gt;
* использовать рекурсию в командах и процедурах, использовать рекурсию при создании собственных функций&lt;br /&gt;
* использовать объекты первого класса и лямбда исчисления.&lt;br /&gt;
&lt;br /&gt;
==  Уметь обращаться к внешним и внутренним дым из среды Semantic MediaWiki, уметь использовать различные типы данных внутри Semantic MediaWiki ==&lt;br /&gt;
; Примеры задач на внутренние данные&lt;br /&gt;
* Посчитай внутри вики количество участников из МГПУ [[:Category:UserMGPU]]?&lt;br /&gt;
&lt;br /&gt;
{{#ask: [[Category:UserMGPU]] | format = count }}&lt;br /&gt;
{{#ask: [[Category:UserMGPU]] | format = ul }}&lt;br /&gt;
&lt;br /&gt;
* Посчитай внутри вики количество участников из ПБД-221м [[:Category:ПБД221м]]?&lt;br /&gt;
&lt;br /&gt;
{{#ask: [[Category:ПБД221м]] | format = count }}&lt;br /&gt;
{{#ask: [[Category:ПБД221м]] | format = ul }}&lt;br /&gt;
&lt;br /&gt;
* Посчитай число участников, которые указали, что используют язык Scratch?&lt;br /&gt;
* Собери таблицу с описанием писателей [[Category:Person]], которые оказали влияние на язык [[R]]&lt;br /&gt;
* Собери тайм-лайн с языками, ведущими свое происхождение от языка [[Prolog]]&lt;br /&gt;
* &#039;&#039;&#039; Предложи собственную задачу на использование внутренних данных в среде Semantic MediaWiki &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
; Примеры задач на внешние данные&lt;br /&gt;
* Размести на странице выборку из датасета, который уже есть в категории [[:Category:Dataset]]&lt;br /&gt;
* &#039;&#039;&#039; Добавь новый датасет в [[:Category:Dataset]] и предложи вариант его использования &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; Учебная группа, работающая с курсом Алгоритмы и структуры данных данных в в 2023 году -  [[:Категория:ПБД221м|ПБД221м]]&lt;br /&gt;
* Учебная группа, работающая с курсом Алгоритмы и структуры данных данных в в 2022 году -  [[:Категория:ПБД211М|ПБД211М]]&lt;br /&gt;
&lt;br /&gt;
; Особенность курса - [[Active Essay]]  смотрим и тестируем на поле &lt;br /&gt;
&lt;br /&gt;
&amp;lt;scratchblocks&amp;gt;&lt;br /&gt;
when [up arrow v] key pressed&lt;br /&gt;
point in direction (0)&lt;br /&gt;
move (10) steps&lt;br /&gt;
when [down arrow v] key pressed&lt;br /&gt;
point in direction (180)&lt;br /&gt;
move (10) steps&lt;br /&gt;
when [right arrow v] key pressed&lt;br /&gt;
point in direction (90)&lt;br /&gt;
move (10) steps&lt;br /&gt;
when [left arrow v] key pressed&lt;br /&gt;
point in direction (-90)&lt;br /&gt;
move (10) steps&amp;lt;/scratchblocks&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: И смотрим на то, как они выполняются&lt;br /&gt;
&amp;lt;scratch project=&amp;quot;210120481&amp;quot; /&amp;gt;&lt;br /&gt;
: или в [[Snap!]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;snap project=&amp;quot;Flocking_Snap&amp;quot; user=&amp;quot;patarakin&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Цель, результаты освоения дисциплины ==&lt;br /&gt;
В результате изучения данной дисциплины студенты будут иметь представление о современных алгоритмических языках, о способах записи [[алгоритм]]ов и конструирования программ, основах объектного подхода в программировании&lt;br /&gt;
; Цель &lt;br /&gt;
: теоретические знания и практический опыт в области основ алгоритмизации задач, классификации языков программирования, типов данных, структур данных, взаимосвязь алгоритмов и структур данных, особенностей реализации алгоритмов и типов данных в языках блочного программирования [[Scratch]], [[Snap!]], [[GP]]&lt;br /&gt;
&lt;br /&gt;
; Знать:&lt;br /&gt;
# Основные понятия, связанные с миром алгоритмов и структур данных См.  [[:Категория:Понятие]]&lt;br /&gt;
# основы алгоритмизации задач, структуры данных;&lt;br /&gt;
# типы данных, структуры данных;&lt;br /&gt;
# методы и алгоритмы поиска и сортировки данных;&lt;br /&gt;
; Уметь &lt;br /&gt;
# обращаться к внешним и внутренним данным из среды [[Semantic MediaWiki]], уметь использовать различные типы данных внутри Semantic MediaWiki см. [[:Категория:Dataset]]&lt;br /&gt;
# обмениваться проектами и блоками программ в [[Snap!]]&lt;br /&gt;
# сравнивать и объединять статьи о языках программирования [[Taxonomic_sandbox]]&lt;br /&gt;
# импортировать и экспортировать данные в среду визуального программирования [[Snap!]]&lt;br /&gt;
# проектировать и программировать  линейные и  разветвляющиеся структуры алгоритмов;&lt;br /&gt;
# планировать процесс реализации алгоритма при помощи псевдокода и диаграмм - [[:Категория:Diagrams]]&lt;br /&gt;
# использовать язык [[graphviz]], [[mermaid]], [[PlantUML]] встраивать диаграммы алгоритмов в вики страницы см. Graphviz + [[:Категория:Diagrams]] - &lt;br /&gt;
# представлять алгоритмы на страницах вики в виде диаграмм, псевдокода, кода на различных языках программирования&lt;br /&gt;
# создавать собственные блоки (команды и процедуры с входными параметрами) в среде Snap! (создавать функции с использованием различных типов данных))&lt;br /&gt;
# оценивать и сравнивать эффективность алгоритмов, вычислительную сложность алгоритмов&lt;br /&gt;
# использовать рекурсию в командах и процедурах, использовать рекурсию при создании собственных функций&lt;br /&gt;
# использовать объекты первого класса и лямбда исчисления&lt;br /&gt;
&lt;br /&gt;
== Содержание разделов дисциплины: ==&lt;br /&gt;
=== Введение. Основные понятия. Пространство для совместной деятельности ===&lt;br /&gt;
Основы алгоритмизации задач. Semantic MediaWiki как поле совместной деятельности. Типы данных  внутри Semantic MediaWiki. Обращение к внешним данным.&lt;br /&gt;
&lt;br /&gt;
=== История языков программирования и обучающих языков ===&lt;br /&gt;
Современные алгоритмические языки. Вычислительное мышление и вычислительное участие.&lt;br /&gt;
&lt;br /&gt;
=== Представление алгоритмов в виде диаграмм, псевдокода, кода на различных языках программирования ===&lt;br /&gt;
# проектировать и программировать линейные и разветвляющиеся структуры алгоритмов;&lt;br /&gt;
# планировать процесс реализации алгоритма при помощи псевдокода и диаграмм - [[:Категория:Diagrams]] - например, [[Binary search (diagram)]]&lt;br /&gt;
# использовать язык dgl и [[mermaid]] встраивать диаграммы алгоритмов в вики страницы см. [[Graphviz]]&lt;br /&gt;
&lt;br /&gt;
http://digida.mgpu.ru/images/diagrams/Diagrams_37be5e92fa212a080558fc26c16ac9cb.png&lt;br /&gt;
&lt;br /&gt;
{{#mermaid:graph TB&lt;br /&gt;
A[1-6] --&amp;gt; |Да| B[1-3] &lt;br /&gt;
A --&amp;gt; |Нет| C[7-9] &lt;br /&gt;
&lt;br /&gt;
B --&amp;gt; |Да| D[1-2] &lt;br /&gt;
B --&amp;gt; |Нет| E[4-5] &lt;br /&gt;
&lt;br /&gt;
D --&amp;gt; |Да| 1&lt;br /&gt;
D --&amp;gt; |Нет| 3&lt;br /&gt;
1 --&amp;gt;  |Нет| 2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
E --&amp;gt; |Нет| 6&lt;br /&gt;
E --&amp;gt; |Да| 4&lt;br /&gt;
4 --&amp;gt;  |Нет| 5&lt;br /&gt;
&lt;br /&gt;
C --&amp;gt;|Да| F[7-8]  &lt;br /&gt;
C --&amp;gt;|Нет| G[10-11]  &lt;br /&gt;
&lt;br /&gt;
F --&amp;gt; |Да| 7&lt;br /&gt;
7 --&amp;gt; |Нет| 8 &lt;br /&gt;
&lt;br /&gt;
F --&amp;gt; |Нет| 9&lt;br /&gt;
&lt;br /&gt;
G --&amp;gt; | Да | 10&lt;br /&gt;
10 --&amp;gt; | Нет| 11&lt;br /&gt;
G --&amp;gt; | Нет| 12&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===  Основные характеристики изучаемого алгоритмического языка ===&lt;br /&gt;
Типы данных. Константы. Переменные. Выражения. Арифметические и логические выражения. &lt;br /&gt;
&lt;br /&gt;
[[Файл:Snap data types2.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Спрайты, данные, процедуры как объекты первого класса. Структуры данных. Импорт и экспорт данных.&lt;br /&gt;
Список случайных чисел из  %сколько от %min до %max&lt;br /&gt;
[[Файл:Table sprite.png|800px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===  Структуры данных ===&lt;br /&gt;
&lt;br /&gt;
[[Файл:Collab dataset JSON.png]]&lt;br /&gt;
&lt;br /&gt;
* [[Массив]]ы и связные [[список|списки]]&lt;br /&gt;
* Стеки и очереди&lt;br /&gt;
* Деревья (бинарные, сбалансированные, двоичные деревья поиска)&lt;br /&gt;
* Графы (ориентированные и неориентированные, поиск в глубину и ширину)&lt;br /&gt;
&lt;br /&gt;
=== Алгоритмы сортировки и поиска === &lt;br /&gt;
Сравнение эффективности и вычислительной сложности алгоритмов&lt;br /&gt;
* [[Временная сложность алгоритма]]&lt;br /&gt;
&lt;br /&gt;
=== Рекурсия ===&lt;br /&gt;
* [[Рекурсия]]&lt;br /&gt;
* [[Фрактал]]&lt;br /&gt;
&lt;br /&gt;
== Литература ==&lt;br /&gt;
=== Основная литература  ===&lt;br /&gt;
&lt;br /&gt;
# [[Стили и методы программирования]], &lt;br /&gt;
# [[Computer Science with Snap! by Examples]], &lt;br /&gt;
# [[Initiation to Algorithmics with Scratch]]&lt;br /&gt;
&lt;br /&gt;
=== Дополнительная литература  ===&lt;br /&gt;
https://snap.berkeley.edu/snap/help/SnapManual.pdf - Руководство по Snap!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Напоминание по работа в вики среде ==&lt;br /&gt;
; [[Мастер-класс «Совместная работа со знаниями на поле цифровой дидактики»]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
[[Category:РУП]]&lt;/div&gt;</summary>
		<author><name>KuptsovaID</name></author>
	</entry>
	<entry>
		<id>http://digida.mgpu.ru/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:KuptsovaID/%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B_%D0%B8_%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%82%D1%83%D1%80%D1%8B_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85&amp;diff=15045</id>
		<title>Участник:KuptsovaID/Алгоритмы и структуры данных</title>
		<link rel="alternate" type="text/html" href="http://digida.mgpu.ru/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:KuptsovaID/%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B_%D0%B8_%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%82%D1%83%D1%80%D1%8B_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85&amp;diff=15045"/>
		<updated>2023-12-21T17:43:16Z</updated>

		<summary type="html">&lt;p&gt;KuptsovaID: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Это для курса &amp;quot;Алгоритмы и структуры данных&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==  Snap! ==&lt;br /&gt;
* https://snap.berkeley.edu/project?username=kuptsovaid&amp;amp;projectname=KuptovaID%2dPBD%2d221m&lt;br /&gt;
&amp;lt;snap project=&amp;quot;KuptovaID-PBD-221m&amp;quot; user=&amp;quot;by kuptsovaid&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{#ask:[[Как сделать сортировку в массиве?]] | format=embedded | embedonly=yes}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* теоретические знания и практический опыт в области основ алгоритмизации задач, классификации языков программирования, типов данных, структур данных, взаимосвязь алгоритмов и структур данных, особенностей реализации алгоритмов и типов данных в языках блочного программирования Scratch, Snap!, GP&lt;br /&gt;
; Знать&lt;br /&gt;
: Основные понятия, связанные с миром алгоритмов и структур данных &lt;br /&gt;
: основы алгоритмизации задач, структуры данных;&lt;br /&gt;
: типы данных, структуры данных;&lt;br /&gt;
: методы и алгоритмы поиска и сортировки данных;&lt;br /&gt;
; Уметь&lt;br /&gt;
* обращаться к внешним и внутренним данным из среды Semantic MediaWiki, уметь использовать различные типы данных внутри Semantic MediaWiki&lt;br /&gt;
* обмениваться проектами и блоками программ в Snap!&lt;br /&gt;
* сравнивать и объединять статьи о языках программирования &lt;br /&gt;
* импортировать и экспортировать данные в среду визуального программирования Snap!&lt;br /&gt;
* проектировать и программировать линейные и разветвляющиеся структуры алгоритмов;&lt;br /&gt;
* планировать процесс реализации алгоритма при помощи псевдокода и диаграмм &lt;br /&gt;
* использовать язык &#039;&#039;&#039;dgl&#039;&#039;&#039; , mermaid, &#039;&#039;&#039;PlantUML&#039;&#039;&#039; встраивать диаграммы алгоритмов в вики страницы &lt;br /&gt;
* представлять алгоритмы на страницах вики в виде диаграмм, псевдокода, кода на различных языках программирования&lt;br /&gt;
* создавать собственные блоки (команды и процедуры с входными параметрами) в среде Snap! (создавать функции с использованием различных типов данных))&lt;br /&gt;
* оценивать и сравнивать эффективность алгоритмов, вычислительную сложность алгоритмов&lt;br /&gt;
* использовать рекурсию в командах и процедурах, использовать рекурсию при создании собственных функций&lt;br /&gt;
* использовать объекты первого класса и лямбда исчисления.&lt;br /&gt;
&lt;br /&gt;
==  Уметь обращаться к внешним и внутренним дым из среды Semantic MediaWiki, уметь использовать различные типы данных внутри Semantic MediaWiki ==&lt;br /&gt;
; Примеры задач на внутренние данные&lt;br /&gt;
* Посчитай внутри вики количество участников из МГПУ [[:Category:UserMGPU]]?&lt;br /&gt;
&lt;br /&gt;
{{#ask: [[Category:UserMGPU]] | format = count }}&lt;br /&gt;
{{#ask: [[Category:UserMGPU]] | format = ul }}&lt;br /&gt;
&lt;br /&gt;
* Посчитай внутри вики количество участников из ПБД-221м [[:Category:ПБД221м]]?&lt;br /&gt;
&lt;br /&gt;
{{#ask: [[Category:ПБД221м]] | format = count }}&lt;br /&gt;
{{#ask: [[Category:ПБД221м]] | format = ul }}&lt;br /&gt;
&lt;br /&gt;
* Посчитай число участников, которые указали, что используют язык Scratch?&lt;br /&gt;
* Собери таблицу с описанием писателей [[Category:Person]], которые оказали влияние на язык [[R]]&lt;br /&gt;
* Собери тайм-лайн с языками, ведущими свое происхождение от языка [[Prolog]]&lt;br /&gt;
* &#039;&#039;&#039; Предложи собственную задачу на использование внутренних данных в среде Semantic MediaWiki &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
; Примеры задач на внешние данные&lt;br /&gt;
* Размести на странице выборку из датасета, который уже есть в категории [[:Category:Dataset]]&lt;br /&gt;
* &#039;&#039;&#039; Добавь новый датасет в [[:Category:Dataset]] и предложи вариант его использования &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; Учебная группа, работающая с курсом Алгоритмы и структуры данных данных в в 2023 году -  [[:Категория:ПБД221м|ПБД221м]]&lt;br /&gt;
* Учебная группа, работающая с курсом Алгоритмы и структуры данных данных в в 2022 году -  [[:Категория:ПБД211М|ПБД211М]]&lt;br /&gt;
&lt;br /&gt;
; Особенность курса - [[Active Essay]]  смотрим и тестируем на поле &lt;br /&gt;
&lt;br /&gt;
&amp;lt;scratchblocks&amp;gt;&lt;br /&gt;
when [up arrow v] key pressed&lt;br /&gt;
point in direction (0)&lt;br /&gt;
move (10) steps&lt;br /&gt;
when [down arrow v] key pressed&lt;br /&gt;
point in direction (180)&lt;br /&gt;
move (10) steps&lt;br /&gt;
when [right arrow v] key pressed&lt;br /&gt;
point in direction (90)&lt;br /&gt;
move (10) steps&lt;br /&gt;
when [left arrow v] key pressed&lt;br /&gt;
point in direction (-90)&lt;br /&gt;
move (10) steps&amp;lt;/scratchblocks&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: И смотрим на то, как они выполняются&lt;br /&gt;
&amp;lt;scratch project=&amp;quot;210120481&amp;quot; /&amp;gt;&lt;br /&gt;
: или в [[Snap!]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;snap project=&amp;quot;Flocking_Snap&amp;quot; user=&amp;quot;patarakin&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Цель, результаты освоения дисциплины ==&lt;br /&gt;
В результате изучения данной дисциплины студенты будут иметь представление о современных алгоритмических языках, о способах записи [[алгоритм]]ов и конструирования программ, основах объектного подхода в программировании&lt;br /&gt;
; Цель &lt;br /&gt;
: теоретические знания и практический опыт в области основ алгоритмизации задач, классификации языков программирования, типов данных, структур данных, взаимосвязь алгоритмов и структур данных, особенностей реализации алгоритмов и типов данных в языках блочного программирования [[Scratch]], [[Snap!]], [[GP]]&lt;br /&gt;
&lt;br /&gt;
; Знать:&lt;br /&gt;
# Основные понятия, связанные с миром алгоритмов и структур данных См.  [[:Категория:Понятие]]&lt;br /&gt;
# основы алгоритмизации задач, структуры данных;&lt;br /&gt;
# типы данных, структуры данных;&lt;br /&gt;
# методы и алгоритмы поиска и сортировки данных;&lt;br /&gt;
; Уметь &lt;br /&gt;
# обращаться к внешним и внутренним данным из среды [[Semantic MediaWiki]], уметь использовать различные типы данных внутри Semantic MediaWiki см. [[:Категория:Dataset]]&lt;br /&gt;
# обмениваться проектами и блоками программ в [[Snap!]]&lt;br /&gt;
# сравнивать и объединять статьи о языках программирования [[Taxonomic_sandbox]]&lt;br /&gt;
# импортировать и экспортировать данные в среду визуального программирования [[Snap!]]&lt;br /&gt;
# проектировать и программировать  линейные и  разветвляющиеся структуры алгоритмов;&lt;br /&gt;
# планировать процесс реализации алгоритма при помощи псевдокода и диаграмм - [[:Категория:Diagrams]]&lt;br /&gt;
# использовать язык [[graphviz]], [[mermaid]], [[PlantUML]] встраивать диаграммы алгоритмов в вики страницы см. Graphviz + [[:Категория:Diagrams]] - &lt;br /&gt;
# представлять алгоритмы на страницах вики в виде диаграмм, псевдокода, кода на различных языках программирования&lt;br /&gt;
# создавать собственные блоки (команды и процедуры с входными параметрами) в среде Snap! (создавать функции с использованием различных типов данных))&lt;br /&gt;
# оценивать и сравнивать эффективность алгоритмов, вычислительную сложность алгоритмов&lt;br /&gt;
# использовать рекурсию в командах и процедурах, использовать рекурсию при создании собственных функций&lt;br /&gt;
# использовать объекты первого класса и лямбда исчисления&lt;br /&gt;
&lt;br /&gt;
== Содержание разделов дисциплины: ==&lt;br /&gt;
=== Введение. Основные понятия. Пространство для совместной деятельности ===&lt;br /&gt;
Основы алгоритмизации задач. Semantic MediaWiki как поле совместной деятельности. Типы данных  внутри Semantic MediaWiki. Обращение к внешним данным.&lt;br /&gt;
&lt;br /&gt;
=== История языков программирования и обучающих языков ===&lt;br /&gt;
Современные алгоритмические языки. Вычислительное мышление и вычислительное участие.&lt;br /&gt;
&lt;br /&gt;
=== Представление алгоритмов в виде диаграмм, псевдокода, кода на различных языках программирования ===&lt;br /&gt;
# проектировать и программировать линейные и разветвляющиеся структуры алгоритмов;&lt;br /&gt;
# планировать процесс реализации алгоритма при помощи псевдокода и диаграмм - [[:Категория:Diagrams]] - например, [[Binary search (diagram)]]&lt;br /&gt;
# использовать язык dgl и [[mermaid]] встраивать диаграммы алгоритмов в вики страницы см. [[Graphviz]]&lt;br /&gt;
&lt;br /&gt;
http://digida.mgpu.ru/images/diagrams/Diagrams_37be5e92fa212a080558fc26c16ac9cb.png&lt;br /&gt;
&lt;br /&gt;
{{#mermaid:graph TB&lt;br /&gt;
A[1-6] --&amp;gt; |Да| B[1-3] &lt;br /&gt;
A --&amp;gt; |Нет| C[7-9] &lt;br /&gt;
&lt;br /&gt;
B --&amp;gt; |Да| D[1-2] &lt;br /&gt;
B --&amp;gt; |Нет| E[4-5] &lt;br /&gt;
&lt;br /&gt;
D --&amp;gt; |Да| 1&lt;br /&gt;
D --&amp;gt; |Нет| 3&lt;br /&gt;
1 --&amp;gt;  |Нет| 2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
E --&amp;gt; |Нет| 6&lt;br /&gt;
E --&amp;gt; |Да| 4&lt;br /&gt;
4 --&amp;gt;  |Нет| 5&lt;br /&gt;
&lt;br /&gt;
C --&amp;gt;|Да| F[7-8]  &lt;br /&gt;
C --&amp;gt;|Нет| G[10-11]  &lt;br /&gt;
&lt;br /&gt;
F --&amp;gt; |Да| 7&lt;br /&gt;
7 --&amp;gt; |Нет| 8 &lt;br /&gt;
&lt;br /&gt;
F --&amp;gt; |Нет| 9&lt;br /&gt;
&lt;br /&gt;
G --&amp;gt; | Да | 10&lt;br /&gt;
10 --&amp;gt; | Нет| 11&lt;br /&gt;
G --&amp;gt; | Нет| 12&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===  Основные характеристики изучаемого алгоритмического языка ===&lt;br /&gt;
Типы данных. Константы. Переменные. Выражения. Арифметические и логические выражения. &lt;br /&gt;
&lt;br /&gt;
[[Файл:Snap data types2.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Спрайты, данные, процедуры как объекты первого класса. Структуры данных. Импорт и экспорт данных.&lt;br /&gt;
Список случайных чисел из  %сколько от %min до %max&lt;br /&gt;
[[Файл:Table sprite.png|800px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===  Структуры данных ===&lt;br /&gt;
&lt;br /&gt;
[[Файл:Collab dataset JSON.png]]&lt;br /&gt;
&lt;br /&gt;
* [[Массив]]ы и связные [[список|списки]]&lt;br /&gt;
* Стеки и очереди&lt;br /&gt;
* Деревья (бинарные, сбалансированные, двоичные деревья поиска)&lt;br /&gt;
* Графы (ориентированные и неориентированные, поиск в глубину и ширину)&lt;br /&gt;
&lt;br /&gt;
=== Алгоритмы сортировки и поиска === &lt;br /&gt;
Сравнение эффективности и вычислительной сложности алгоритмов&lt;br /&gt;
* [[Временная сложность алгоритма]]&lt;br /&gt;
&lt;br /&gt;
=== Рекурсия ===&lt;br /&gt;
* [[Рекурсия]]&lt;br /&gt;
* [[Фрактал]]&lt;br /&gt;
&lt;br /&gt;
== Литература ==&lt;br /&gt;
=== Основная литература  ===&lt;br /&gt;
&lt;br /&gt;
# [[Стили и методы программирования]], &lt;br /&gt;
# [[Computer Science with Snap! by Examples]], &lt;br /&gt;
# [[Initiation to Algorithmics with Scratch]]&lt;br /&gt;
&lt;br /&gt;
=== Дополнительная литература  ===&lt;br /&gt;
https://snap.berkeley.edu/snap/help/SnapManual.pdf - Руководство по Snap!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Напоминание по работа в вики среде ==&lt;br /&gt;
; [[Мастер-класс «Совместная работа со знаниями на поле цифровой дидактики»]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
[[Category:РУП]]&lt;/div&gt;</summary>
		<author><name>KuptsovaID</name></author>
	</entry>
	<entry>
		<id>http://digida.mgpu.ru/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:KuptsovaID/%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B_%D0%B8_%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%82%D1%83%D1%80%D1%8B_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85&amp;diff=15044</id>
		<title>Участник:KuptsovaID/Алгоритмы и структуры данных</title>
		<link rel="alternate" type="text/html" href="http://digida.mgpu.ru/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:KuptsovaID/%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B_%D0%B8_%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%82%D1%83%D1%80%D1%8B_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85&amp;diff=15044"/>
		<updated>2023-12-21T16:33:45Z</updated>

		<summary type="html">&lt;p&gt;KuptsovaID: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Это для курса &amp;quot;Алгоритмы и структуры данных&amp;quot;&lt;br /&gt;
&lt;br /&gt;
{{#ask:[[Как сделать сортировку в массиве?]] | format=embedded | embedonly=yes}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* теоретические знания и практический опыт в области основ алгоритмизации задач, классификации языков программирования, типов данных, структур данных, взаимосвязь алгоритмов и структур данных, особенностей реализации алгоритмов и типов данных в языках блочного программирования Scratch, Snap!, GP&lt;br /&gt;
; Знать&lt;br /&gt;
: Основные понятия, связанные с миром алгоритмов и структур данных &lt;br /&gt;
: основы алгоритмизации задач, структуры данных;&lt;br /&gt;
: типы данных, структуры данных;&lt;br /&gt;
: методы и алгоритмы поиска и сортировки данных;&lt;br /&gt;
; Уметь&lt;br /&gt;
* обращаться к внешним и внутренним данным из среды Semantic MediaWiki, уметь использовать различные типы данных внутри Semantic MediaWiki&lt;br /&gt;
* обмениваться проектами и блоками программ в Snap!&lt;br /&gt;
* сравнивать и объединять статьи о языках программирования &lt;br /&gt;
* импортировать и экспортировать данные в среду визуального программирования Snap!&lt;br /&gt;
* проектировать и программировать линейные и разветвляющиеся структуры алгоритмов;&lt;br /&gt;
* планировать процесс реализации алгоритма при помощи псевдокода и диаграмм &lt;br /&gt;
* использовать язык &#039;&#039;&#039;dgl&#039;&#039;&#039; , mermaid, &#039;&#039;&#039;PlantUML&#039;&#039;&#039; встраивать диаграммы алгоритмов в вики страницы &lt;br /&gt;
* представлять алгоритмы на страницах вики в виде диаграмм, псевдокода, кода на различных языках программирования&lt;br /&gt;
* создавать собственные блоки (команды и процедуры с входными параметрами) в среде Snap! (создавать функции с использованием различных типов данных))&lt;br /&gt;
* оценивать и сравнивать эффективность алгоритмов, вычислительную сложность алгоритмов&lt;br /&gt;
* использовать рекурсию в командах и процедурах, использовать рекурсию при создании собственных функций&lt;br /&gt;
* использовать объекты первого класса и лямбда исчисления.&lt;br /&gt;
&lt;br /&gt;
==  Уметь обращаться к внешним и внутренним дым из среды Semantic MediaWiki, уметь использовать различные типы данных внутри Semantic MediaWiki ==&lt;br /&gt;
; Примеры задач на внутренние данные&lt;br /&gt;
* Посчитай внутри вики количество участников из МГПУ [[:Category:UserMGPU]]?&lt;br /&gt;
&lt;br /&gt;
{{#ask: [[Category:UserMGPU]] | format = count }}&lt;br /&gt;
{{#ask: [[Category:UserMGPU]] | format = ul }}&lt;br /&gt;
&lt;br /&gt;
* Посчитай внутри вики количество участников из ПБД-221м [[:Category:ПБД221м]]?&lt;br /&gt;
&lt;br /&gt;
{{#ask: [[Category:ПБД221м]] | format = count }}&lt;br /&gt;
{{#ask: [[Category:ПБД221м]] | format = ul }}&lt;br /&gt;
&lt;br /&gt;
* Посчитай число участников, которые указали, что используют язык Scratch?&lt;br /&gt;
* Собери таблицу с описанием писателей [[Category:Person]], которые оказали влияние на язык [[R]]&lt;br /&gt;
* Собери тайм-лайн с языками, ведущими свое происхождение от языка [[Prolog]]&lt;br /&gt;
* &#039;&#039;&#039; Предложи собственную задачу на использование внутренних данных в среде Semantic MediaWiki &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
; Примеры задач на внешние данные&lt;br /&gt;
* Размести на странице выборку из датасета, который уже есть в категории [[:Category:Dataset]]&lt;br /&gt;
* &#039;&#039;&#039; Добавь новый датасет в [[:Category:Dataset]] и предложи вариант его использования &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; Учебная группа, работающая с курсом Алгоритмы и структуры данных данных в в 2023 году -  [[:Категория:ПБД221м|ПБД221м]]&lt;br /&gt;
* Учебная группа, работающая с курсом Алгоритмы и структуры данных данных в в 2022 году -  [[:Категория:ПБД211М|ПБД211М]]&lt;br /&gt;
&lt;br /&gt;
; Особенность курса - [[Active Essay]]  смотрим и тестируем на поле &lt;br /&gt;
&lt;br /&gt;
&amp;lt;scratchblocks&amp;gt;&lt;br /&gt;
when [up arrow v] key pressed&lt;br /&gt;
point in direction (0)&lt;br /&gt;
move (10) steps&lt;br /&gt;
when [down arrow v] key pressed&lt;br /&gt;
point in direction (180)&lt;br /&gt;
move (10) steps&lt;br /&gt;
when [right arrow v] key pressed&lt;br /&gt;
point in direction (90)&lt;br /&gt;
move (10) steps&lt;br /&gt;
when [left arrow v] key pressed&lt;br /&gt;
point in direction (-90)&lt;br /&gt;
move (10) steps&amp;lt;/scratchblocks&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: И смотрим на то, как они выполняются&lt;br /&gt;
&amp;lt;scratch project=&amp;quot;210120481&amp;quot; /&amp;gt;&lt;br /&gt;
: или в [[Snap!]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;snap project=&amp;quot;Flocking_Snap&amp;quot; user=&amp;quot;patarakin&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Цель, результаты освоения дисциплины ==&lt;br /&gt;
В результате изучения данной дисциплины студенты будут иметь представление о современных алгоритмических языках, о способах записи [[алгоритм]]ов и конструирования программ, основах объектного подхода в программировании&lt;br /&gt;
; Цель &lt;br /&gt;
: теоретические знания и практический опыт в области основ алгоритмизации задач, классификации языков программирования, типов данных, структур данных, взаимосвязь алгоритмов и структур данных, особенностей реализации алгоритмов и типов данных в языках блочного программирования [[Scratch]], [[Snap!]], [[GP]]&lt;br /&gt;
&lt;br /&gt;
; Знать:&lt;br /&gt;
# Основные понятия, связанные с миром алгоритмов и структур данных См.  [[:Категория:Понятие]]&lt;br /&gt;
# основы алгоритмизации задач, структуры данных;&lt;br /&gt;
# типы данных, структуры данных;&lt;br /&gt;
# методы и алгоритмы поиска и сортировки данных;&lt;br /&gt;
; Уметь &lt;br /&gt;
# обращаться к внешним и внутренним данным из среды [[Semantic MediaWiki]], уметь использовать различные типы данных внутри Semantic MediaWiki см. [[:Категория:Dataset]]&lt;br /&gt;
# обмениваться проектами и блоками программ в [[Snap!]]&lt;br /&gt;
# сравнивать и объединять статьи о языках программирования [[Taxonomic_sandbox]]&lt;br /&gt;
# импортировать и экспортировать данные в среду визуального программирования [[Snap!]]&lt;br /&gt;
# проектировать и программировать  линейные и  разветвляющиеся структуры алгоритмов;&lt;br /&gt;
# планировать процесс реализации алгоритма при помощи псевдокода и диаграмм - [[:Категория:Diagrams]]&lt;br /&gt;
# использовать язык [[graphviz]], [[mermaid]], [[PlantUML]] встраивать диаграммы алгоритмов в вики страницы см. Graphviz + [[:Категория:Diagrams]] - &lt;br /&gt;
# представлять алгоритмы на страницах вики в виде диаграмм, псевдокода, кода на различных языках программирования&lt;br /&gt;
# создавать собственные блоки (команды и процедуры с входными параметрами) в среде Snap! (создавать функции с использованием различных типов данных))&lt;br /&gt;
# оценивать и сравнивать эффективность алгоритмов, вычислительную сложность алгоритмов&lt;br /&gt;
# использовать рекурсию в командах и процедурах, использовать рекурсию при создании собственных функций&lt;br /&gt;
# использовать объекты первого класса и лямбда исчисления&lt;br /&gt;
&lt;br /&gt;
== Содержание разделов дисциплины: ==&lt;br /&gt;
=== Введение. Основные понятия. Пространство для совместной деятельности ===&lt;br /&gt;
Основы алгоритмизации задач. Semantic MediaWiki как поле совместной деятельности. Типы данных  внутри Semantic MediaWiki. Обращение к внешним данным.&lt;br /&gt;
&lt;br /&gt;
=== История языков программирования и обучающих языков ===&lt;br /&gt;
Современные алгоритмические языки. Вычислительное мышление и вычислительное участие.&lt;br /&gt;
&lt;br /&gt;
=== Представление алгоритмов в виде диаграмм, псевдокода, кода на различных языках программирования ===&lt;br /&gt;
# проектировать и программировать линейные и разветвляющиеся структуры алгоритмов;&lt;br /&gt;
# планировать процесс реализации алгоритма при помощи псевдокода и диаграмм - [[:Категория:Diagrams]] - например, [[Binary search (diagram)]]&lt;br /&gt;
# использовать язык dgl и [[mermaid]] встраивать диаграммы алгоритмов в вики страницы см. [[Graphviz]]&lt;br /&gt;
&lt;br /&gt;
http://digida.mgpu.ru/images/diagrams/Diagrams_37be5e92fa212a080558fc26c16ac9cb.png&lt;br /&gt;
&lt;br /&gt;
{{#mermaid:graph TB&lt;br /&gt;
A[1-6] --&amp;gt; |Да| B[1-3] &lt;br /&gt;
A --&amp;gt; |Нет| C[7-9] &lt;br /&gt;
&lt;br /&gt;
B --&amp;gt; |Да| D[1-2] &lt;br /&gt;
B --&amp;gt; |Нет| E[4-5] &lt;br /&gt;
&lt;br /&gt;
D --&amp;gt; |Да| 1&lt;br /&gt;
D --&amp;gt; |Нет| 3&lt;br /&gt;
1 --&amp;gt;  |Нет| 2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
E --&amp;gt; |Нет| 6&lt;br /&gt;
E --&amp;gt; |Да| 4&lt;br /&gt;
4 --&amp;gt;  |Нет| 5&lt;br /&gt;
&lt;br /&gt;
C --&amp;gt;|Да| F[7-8]  &lt;br /&gt;
C --&amp;gt;|Нет| G[10-11]  &lt;br /&gt;
&lt;br /&gt;
F --&amp;gt; |Да| 7&lt;br /&gt;
7 --&amp;gt; |Нет| 8 &lt;br /&gt;
&lt;br /&gt;
F --&amp;gt; |Нет| 9&lt;br /&gt;
&lt;br /&gt;
G --&amp;gt; | Да | 10&lt;br /&gt;
10 --&amp;gt; | Нет| 11&lt;br /&gt;
G --&amp;gt; | Нет| 12&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===  Основные характеристики изучаемого алгоритмического языка ===&lt;br /&gt;
Типы данных. Константы. Переменные. Выражения. Арифметические и логические выражения. &lt;br /&gt;
&lt;br /&gt;
[[Файл:Snap data types2.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Спрайты, данные, процедуры как объекты первого класса. Структуры данных. Импорт и экспорт данных.&lt;br /&gt;
Список случайных чисел из  %сколько от %min до %max&lt;br /&gt;
[[Файл:Table sprite.png|800px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===  Структуры данных ===&lt;br /&gt;
&lt;br /&gt;
[[Файл:Collab dataset JSON.png]]&lt;br /&gt;
&lt;br /&gt;
* [[Массив]]ы и связные [[список|списки]]&lt;br /&gt;
* Стеки и очереди&lt;br /&gt;
* Деревья (бинарные, сбалансированные, двоичные деревья поиска)&lt;br /&gt;
* Графы (ориентированные и неориентированные, поиск в глубину и ширину)&lt;br /&gt;
&lt;br /&gt;
=== Алгоритмы сортировки и поиска === &lt;br /&gt;
Сравнение эффективности и вычислительной сложности алгоритмов&lt;br /&gt;
* [[Временная сложность алгоритма]]&lt;br /&gt;
&lt;br /&gt;
=== Рекурсия ===&lt;br /&gt;
* [[Рекурсия]]&lt;br /&gt;
* [[Фрактал]]&lt;br /&gt;
&lt;br /&gt;
== Литература ==&lt;br /&gt;
=== Основная литература  ===&lt;br /&gt;
&lt;br /&gt;
# [[Стили и методы программирования]], &lt;br /&gt;
# [[Computer Science with Snap! by Examples]], &lt;br /&gt;
# [[Initiation to Algorithmics with Scratch]]&lt;br /&gt;
&lt;br /&gt;
=== Дополнительная литература  ===&lt;br /&gt;
https://snap.berkeley.edu/snap/help/SnapManual.pdf - Руководство по Snap!&lt;br /&gt;
&lt;br /&gt;
== Критерии оценки по дисциплине (2022 - 2023) ==&lt;br /&gt;
&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|-&lt;br /&gt;
!{{Hl2}}| Образовательный результат&lt;br /&gt;
!{{Hl2}}| Тема&lt;br /&gt;
!{{Hl2}}| Задание&lt;br /&gt;
!{{Hl2}}| Пример&lt;br /&gt;
|- &lt;br /&gt;
| Знает понятия мира алгоритмов и структур данных	&lt;br /&gt;
|  Введение. Основные понятия. Пространство для совместной деятельности&lt;br /&gt;
| Использовать различные типы данных внутри Semantic MediaWiki, включить внешние данные в состав статьи&lt;br /&gt;
| Категория понятий - [[:Category:Понятие]]&lt;br /&gt;
В категории статей о датасетах	[[:Category:Dataset]]&lt;br /&gt;
|- &lt;br /&gt;
| Умеет сравнивать и объединять статьи о языках программирования&lt;br /&gt;
| История языков программирования и обучающих языков&lt;br /&gt;
| Редактировать, дополнять и объединять статьи о языках программирования&lt;br /&gt;
| [[:Category:Язык программирования]], [[Taxonomic_sandbox]]&lt;br /&gt;
|- &lt;br /&gt;
| &lt;br /&gt;
Умеет проектировать и программировать линейные и разветвляющиеся структуры алгоритмов, планировать процесс реализации алгоритма при помощи псевдокода и диаграмм - [[:Категория:Diagrams]], использовать язык dgl и [[mermaid]] встраивать диаграммы алгоритмов в вики страницы см. [[Graphviz]]&lt;br /&gt;
| Представление алгоритмов в виде диаграмм, [[псевдокод]]а, кода на различных языках программирования &lt;br /&gt;
| Создать диаграмму [[алгоритм]]а, представить реализацию алгоритма на языке высокого уровня&lt;br /&gt;
| Пример &lt;br /&gt;
* [[:Category:Diagrams]]&lt;br /&gt;
* [[Flowchart]]&lt;br /&gt;
|- &lt;br /&gt;
| Умеет создавать собственные блоки (команды и процедуры с входными параметрами) в среде [[Snap!]] (создавать [[Функция|функции]] с использованием различных типов данных))&lt;br /&gt;
| Основные характеристики изучаемого алгоритмического языка&lt;br /&gt;
| Процедуры видоизменения данных в среде [[Snap!]]&lt;br /&gt;
| Примеры видоизменения данных в [[Snap!]], [[Как получить список случайных значений|Получить список значений]]&lt;br /&gt;
|- &lt;br /&gt;
| оценивать и сравнивать эффективность алгоритмов, вычислительную сложность алгоритмов	&lt;br /&gt;
| [[Алгоритм]]ы сортировки и поиска&lt;br /&gt;
| Сравнить эффективность выполнения процедур над данными&lt;br /&gt;
| Готовые [[датасет]]ы из категории	[[:Category:Dataset]]. [[Сортировка вставками]], [[Быстрая сортировка]]&lt;br /&gt;
|- &lt;br /&gt;
| использовать рекурсию в командах и процедурах, использовать рекурсию при создании собственных функций&lt;br /&gt;
| Рекурсия&lt;br /&gt;
| Создать собственные команды и процедуры, в которых используется рекурсия&lt;br /&gt;
| [[Рекурсия]], [[Фрактал]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Напоминание по работа в вики среде ==&lt;br /&gt;
; [[Мастер-класс «Совместная работа со знаниями на поле цифровой дидактики»]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
[[Category:РУП]]&lt;/div&gt;</summary>
		<author><name>KuptsovaID</name></author>
	</entry>
	<entry>
		<id>http://digida.mgpu.ru/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:KuptsovaID/%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B_%D0%B8_%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%82%D1%83%D1%80%D1%8B_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85&amp;diff=15032</id>
		<title>Участник:KuptsovaID/Алгоритмы и структуры данных</title>
		<link rel="alternate" type="text/html" href="http://digida.mgpu.ru/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:KuptsovaID/%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B_%D0%B8_%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%82%D1%83%D1%80%D1%8B_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85&amp;diff=15032"/>
		<updated>2023-12-21T15:40:21Z</updated>

		<summary type="html">&lt;p&gt;KuptsovaID: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Это для курса &amp;quot;Алгоритмы и структуры данных&amp;quot;&lt;br /&gt;
&lt;br /&gt;
{{#ask:[[Как сделать сортировку в массиве?]] | format=embedded | embedonly=yes}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Curriculum&lt;br /&gt;
|Learning_outcomes=Цель&lt;br /&gt;
* теоретические знания и практический опыт в области основ алгоритмизации задач, классификации языков программирования, типов данных, структур данных, взаимосвязь алгоритмов и структур данных, особенностей реализации алгоритмов и типов данных в языках блочного программирования Scratch, Snap!, GP&lt;br /&gt;
; Знать&lt;br /&gt;
: Основные понятия, связанные с миром алгоритмов и структур данных &lt;br /&gt;
: основы алгоритмизации задач, структуры данных;&lt;br /&gt;
: типы данных, структуры данных;&lt;br /&gt;
: методы и алгоритмы поиска и сортировки данных;&lt;br /&gt;
; Уметь&lt;br /&gt;
* обращаться к внешним и внутренним данным из среды Semantic MediaWiki, уметь использовать различные типы данных внутри Semantic MediaWiki&lt;br /&gt;
* обмениваться проектами и блоками программ в Snap!&lt;br /&gt;
* сравнивать и объединять статьи о языках программирования &lt;br /&gt;
* импортировать и экспортировать данные в среду визуального программирования Snap!&lt;br /&gt;
* проектировать и программировать линейные и разветвляющиеся структуры алгоритмов;&lt;br /&gt;
* планировать процесс реализации алгоритма при помощи псевдокода и диаграмм &lt;br /&gt;
* использовать язык &#039;&#039;&#039;dgl&#039;&#039;&#039; , mermaid, &#039;&#039;&#039;PlantUML&#039;&#039;&#039; встраивать диаграммы алгоритмов в вики страницы &lt;br /&gt;
* представлять алгоритмы на страницах вики в виде диаграмм, псевдокода, кода на различных языках программирования&lt;br /&gt;
* создавать собственные блоки (команды и процедуры с входными параметрами) в среде Snap! (создавать функции с использованием различных типов данных))&lt;br /&gt;
* оценивать и сравнивать эффективность алгоритмов, вычислительную сложность алгоритмов&lt;br /&gt;
* использовать рекурсию в командах и процедурах, использовать рекурсию при создании собственных функций&lt;br /&gt;
* использовать объекты первого класса и лямбда исчисления.&lt;br /&gt;
&lt;br /&gt;
==  Уметь обращаться к внешним и внутренним дым из среды Semantic MediaWiki, уметь использовать различные типы данных внутри Semantic MediaWiki ==&lt;br /&gt;
; Примеры задач на внутренние данные&lt;br /&gt;
* Посчитай внутри вики количество участников из МГПУ [[:Category:UserMGPU]]?&lt;br /&gt;
&lt;br /&gt;
{{#ask: [[Category:UserMGPU]] | format = count }}&lt;br /&gt;
{{#ask: [[Category:UserMGPU]] | format = ul }}&lt;br /&gt;
&lt;br /&gt;
* Посчитай внутри вики количество участников из ПБД-221м [[:Category:ПБД221м]]?&lt;br /&gt;
&lt;br /&gt;
{{#ask: [[Category:ПБД221м]] | format = count }}&lt;br /&gt;
{{#ask: [[Category:ПБД221м]] | format = ul }}&lt;br /&gt;
&lt;br /&gt;
* Посчитай число участников, которые указали, что используют язык Scratch?&lt;br /&gt;
* Собери таблицу с описанием писателей [[Category:Person]], которые оказали влияние на язык [[R]]&lt;br /&gt;
* Собери тайм-лайн с языками, ведущими свое происхождение от языка [[Prolog]]&lt;br /&gt;
* &#039;&#039;&#039; Предложи собственную задачу на использование внутренних данных в среде Semantic MediaWiki &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
; Примеры задач на внешние данные&lt;br /&gt;
* Размести на странице выборку из датасета, который уже есть в категории [[:Category:Dataset]]&lt;br /&gt;
* &#039;&#039;&#039; Добавь новый датасет в [[:Category:Dataset]] и предложи вариант его использования &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; Учебная группа, работающая с курсом Алгоритмы и структуры данных данных в в 2023 году -  [[:Категория:ПБД221м|ПБД221м]]&lt;br /&gt;
* Учебная группа, работающая с курсом Алгоритмы и структуры данных данных в в 2022 году -  [[:Категория:ПБД211М|ПБД211М]]&lt;br /&gt;
&lt;br /&gt;
; Особенность курса - [[Active Essay]]  смотрим и тестируем на поле &lt;br /&gt;
&lt;br /&gt;
&amp;lt;scratchblocks&amp;gt;&lt;br /&gt;
when [up arrow v] key pressed&lt;br /&gt;
point in direction (0)&lt;br /&gt;
move (10) steps&lt;br /&gt;
when [down arrow v] key pressed&lt;br /&gt;
point in direction (180)&lt;br /&gt;
move (10) steps&lt;br /&gt;
when [right arrow v] key pressed&lt;br /&gt;
point in direction (90)&lt;br /&gt;
move (10) steps&lt;br /&gt;
when [left arrow v] key pressed&lt;br /&gt;
point in direction (-90)&lt;br /&gt;
move (10) steps&amp;lt;/scratchblocks&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: И смотрим на то, как они выполняются&lt;br /&gt;
&amp;lt;scratch project=&amp;quot;210120481&amp;quot; /&amp;gt;&lt;br /&gt;
: или в [[Snap!]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;snap project=&amp;quot;Flocking_Snap&amp;quot; user=&amp;quot;patarakin&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Цель, результаты освоения дисциплины ==&lt;br /&gt;
В результате изучения данной дисциплины студенты будут иметь представление о современных алгоритмических языках, о способах записи [[алгоритм]]ов и конструирования программ, основах объектного подхода в программировании&lt;br /&gt;
; Цель &lt;br /&gt;
: теоретические знания и практический опыт в области основ алгоритмизации задач, классификации языков программирования, типов данных, структур данных, взаимосвязь алгоритмов и структур данных, особенностей реализации алгоритмов и типов данных в языках блочного программирования [[Scratch]], [[Snap!]], [[GP]]&lt;br /&gt;
&lt;br /&gt;
; Знать:&lt;br /&gt;
# Основные понятия, связанные с миром алгоритмов и структур данных См.  [[:Категория:Понятие]]&lt;br /&gt;
# основы алгоритмизации задач, структуры данных;&lt;br /&gt;
# типы данных, структуры данных;&lt;br /&gt;
# методы и алгоритмы поиска и сортировки данных;&lt;br /&gt;
; Уметь &lt;br /&gt;
# обращаться к внешним и внутренним данным из среды [[Semantic MediaWiki]], уметь использовать различные типы данных внутри Semantic MediaWiki см. [[:Категория:Dataset]]&lt;br /&gt;
# обмениваться проектами и блоками программ в [[Snap!]]&lt;br /&gt;
# сравнивать и объединять статьи о языках программирования [[Taxonomic_sandbox]]&lt;br /&gt;
# импортировать и экспортировать данные в среду визуального программирования [[Snap!]]&lt;br /&gt;
# проектировать и программировать  линейные и  разветвляющиеся структуры алгоритмов;&lt;br /&gt;
# планировать процесс реализации алгоритма при помощи псевдокода и диаграмм - [[:Категория:Diagrams]]&lt;br /&gt;
# использовать язык [[graphviz]], [[mermaid]], [[PlantUML]] встраивать диаграммы алгоритмов в вики страницы см. Graphviz + [[:Категория:Diagrams]] - &lt;br /&gt;
# представлять алгоритмы на страницах вики в виде диаграмм, псевдокода, кода на различных языках программирования&lt;br /&gt;
# создавать собственные блоки (команды и процедуры с входными параметрами) в среде Snap! (создавать функции с использованием различных типов данных))&lt;br /&gt;
# оценивать и сравнивать эффективность алгоритмов, вычислительную сложность алгоритмов&lt;br /&gt;
# использовать рекурсию в командах и процедурах, использовать рекурсию при создании собственных функций&lt;br /&gt;
# использовать объекты первого класса и лямбда исчисления&lt;br /&gt;
&lt;br /&gt;
== Содержание разделов дисциплины: ==&lt;br /&gt;
=== Введение. Основные понятия. Пространство для совместной деятельности ===&lt;br /&gt;
Основы алгоритмизации задач. Semantic MediaWiki как поле совместной деятельности. Типы данных  внутри Semantic MediaWiki. Обращение к внешним данным.&lt;br /&gt;
&lt;br /&gt;
=== История языков программирования и обучающих языков ===&lt;br /&gt;
Современные алгоритмические языки. Вычислительное мышление и вычислительное участие.&lt;br /&gt;
&lt;br /&gt;
=== Представление алгоритмов в виде диаграмм, псевдокода, кода на различных языках программирования ===&lt;br /&gt;
# проектировать и программировать линейные и разветвляющиеся структуры алгоритмов;&lt;br /&gt;
# планировать процесс реализации алгоритма при помощи псевдокода и диаграмм - [[:Категория:Diagrams]] - например, [[Binary search (diagram)]]&lt;br /&gt;
# использовать язык dgl и [[mermaid]] встраивать диаграммы алгоритмов в вики страницы см. [[Graphviz]]&lt;br /&gt;
&lt;br /&gt;
http://digida.mgpu.ru/images/diagrams/Diagrams_37be5e92fa212a080558fc26c16ac9cb.png&lt;br /&gt;
&lt;br /&gt;
{{#mermaid:graph TB&lt;br /&gt;
A[1-6] --&amp;gt; |Да| B[1-3] &lt;br /&gt;
A --&amp;gt; |Нет| C[7-9] &lt;br /&gt;
&lt;br /&gt;
B --&amp;gt; |Да| D[1-2] &lt;br /&gt;
B --&amp;gt; |Нет| E[4-5] &lt;br /&gt;
&lt;br /&gt;
D --&amp;gt; |Да| 1&lt;br /&gt;
D --&amp;gt; |Нет| 3&lt;br /&gt;
1 --&amp;gt;  |Нет| 2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
E --&amp;gt; |Нет| 6&lt;br /&gt;
E --&amp;gt; |Да| 4&lt;br /&gt;
4 --&amp;gt;  |Нет| 5&lt;br /&gt;
&lt;br /&gt;
C --&amp;gt;|Да| F[7-8]  &lt;br /&gt;
C --&amp;gt;|Нет| G[10-11]  &lt;br /&gt;
&lt;br /&gt;
F --&amp;gt; |Да| 7&lt;br /&gt;
7 --&amp;gt; |Нет| 8 &lt;br /&gt;
&lt;br /&gt;
F --&amp;gt; |Нет| 9&lt;br /&gt;
&lt;br /&gt;
G --&amp;gt; | Да | 10&lt;br /&gt;
10 --&amp;gt; | Нет| 11&lt;br /&gt;
G --&amp;gt; | Нет| 12&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===  Основные характеристики изучаемого алгоритмического языка ===&lt;br /&gt;
Типы данных. Константы. Переменные. Выражения. Арифметические и логические выражения. &lt;br /&gt;
&lt;br /&gt;
[[Файл:Snap data types2.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Спрайты, данные, процедуры как объекты первого класса. Структуры данных. Импорт и экспорт данных.&lt;br /&gt;
Список случайных чисел из  %сколько от %min до %max&lt;br /&gt;
[[Файл:Table sprite.png|800px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===  Структуры данных ===&lt;br /&gt;
&lt;br /&gt;
[[Файл:Collab dataset JSON.png]]&lt;br /&gt;
&lt;br /&gt;
* [[Массив]]ы и связные [[список|списки]]&lt;br /&gt;
* Стеки и очереди&lt;br /&gt;
* Деревья (бинарные, сбалансированные, двоичные деревья поиска)&lt;br /&gt;
* Графы (ориентированные и неориентированные, поиск в глубину и ширину)&lt;br /&gt;
&lt;br /&gt;
=== Алгоритмы сортировки и поиска === &lt;br /&gt;
Сравнение эффективности и вычислительной сложности алгоритмов&lt;br /&gt;
* [[Временная сложность алгоритма]]&lt;br /&gt;
&lt;br /&gt;
=== Рекурсия ===&lt;br /&gt;
* [[Рекурсия]]&lt;br /&gt;
* [[Фрактал]]&lt;br /&gt;
&lt;br /&gt;
== Литература ==&lt;br /&gt;
=== Основная литература  ===&lt;br /&gt;
&lt;br /&gt;
# [[Стили и методы программирования]], &lt;br /&gt;
# [[Computer Science with Snap! by Examples]], &lt;br /&gt;
# [[Initiation to Algorithmics with Scratch]]&lt;br /&gt;
&lt;br /&gt;
=== Дополнительная литература  ===&lt;br /&gt;
https://snap.berkeley.edu/snap/help/SnapManual.pdf - Руководство по Snap!&lt;br /&gt;
&lt;br /&gt;
== Критерии оценки по дисциплине (2022 - 2023) ==&lt;br /&gt;
&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|-&lt;br /&gt;
!{{Hl2}}| Образовательный результат&lt;br /&gt;
!{{Hl2}}| Тема&lt;br /&gt;
!{{Hl2}}| Задание&lt;br /&gt;
!{{Hl2}}| Пример&lt;br /&gt;
|- &lt;br /&gt;
| Знает понятия мира алгоритмов и структур данных	&lt;br /&gt;
|  Введение. Основные понятия. Пространство для совместной деятельности&lt;br /&gt;
| Использовать различные типы данных внутри Semantic MediaWiki, включить внешние данные в состав статьи&lt;br /&gt;
| Категория понятий - [[:Category:Понятие]]&lt;br /&gt;
В категории статей о датасетах	[[:Category:Dataset]]&lt;br /&gt;
|- &lt;br /&gt;
| Умеет сравнивать и объединять статьи о языках программирования&lt;br /&gt;
| История языков программирования и обучающих языков&lt;br /&gt;
| Редактировать, дополнять и объединять статьи о языках программирования&lt;br /&gt;
| [[:Category:Язык программирования]], [[Taxonomic_sandbox]]&lt;br /&gt;
|- &lt;br /&gt;
| &lt;br /&gt;
Умеет проектировать и программировать линейные и разветвляющиеся структуры алгоритмов, планировать процесс реализации алгоритма при помощи псевдокода и диаграмм - [[:Категория:Diagrams]], использовать язык dgl и [[mermaid]] встраивать диаграммы алгоритмов в вики страницы см. [[Graphviz]]&lt;br /&gt;
| Представление алгоритмов в виде диаграмм, [[псевдокод]]а, кода на различных языках программирования &lt;br /&gt;
| Создать диаграмму [[алгоритм]]а, представить реализацию алгоритма на языке высокого уровня&lt;br /&gt;
| Пример &lt;br /&gt;
* [[:Category:Diagrams]]&lt;br /&gt;
* [[Flowchart]]&lt;br /&gt;
|- &lt;br /&gt;
| Умеет создавать собственные блоки (команды и процедуры с входными параметрами) в среде [[Snap!]] (создавать [[Функция|функции]] с использованием различных типов данных))&lt;br /&gt;
| Основные характеристики изучаемого алгоритмического языка&lt;br /&gt;
| Процедуры видоизменения данных в среде [[Snap!]]&lt;br /&gt;
| Примеры видоизменения данных в [[Snap!]], [[Как получить список случайных значений|Получить список значений]]&lt;br /&gt;
|- &lt;br /&gt;
| оценивать и сравнивать эффективность алгоритмов, вычислительную сложность алгоритмов	&lt;br /&gt;
| [[Алгоритм]]ы сортировки и поиска&lt;br /&gt;
| Сравнить эффективность выполнения процедур над данными&lt;br /&gt;
| Готовые [[датасет]]ы из категории	[[:Category:Dataset]]. [[Сортировка вставками]], [[Быстрая сортировка]]&lt;br /&gt;
|- &lt;br /&gt;
| использовать рекурсию в командах и процедурах, использовать рекурсию при создании собственных функций&lt;br /&gt;
| Рекурсия&lt;br /&gt;
| Создать собственные команды и процедуры, в которых используется рекурсия&lt;br /&gt;
| [[Рекурсия]], [[Фрактал]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Напоминание по работа в вики среде ==&lt;br /&gt;
; [[Мастер-класс «Совместная работа со знаниями на поле цифровой дидактики»]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
[[Category:РУП]]&lt;/div&gt;</summary>
		<author><name>KuptsovaID</name></author>
	</entry>
	<entry>
		<id>http://digida.mgpu.ru/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:KuptsovaID/%D0%9F%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B8_%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0_%D0%BF%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D0%B9&amp;diff=14115</id>
		<title>Участник:KuptsovaID/Проектирование и разработка приложений</title>
		<link rel="alternate" type="text/html" href="http://digida.mgpu.ru/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:KuptsovaID/%D0%9F%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B8_%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0_%D0%BF%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D0%B9&amp;diff=14115"/>
		<updated>2023-12-07T17:30:03Z</updated>

		<summary type="html">&lt;p&gt;KuptsovaID: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Это для курса &amp;quot;Проектирование и разработка приложений&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Первый проект &lt;br /&gt;
https://gallery.appinventor.mit.edu/?galleryid=67ae4cf2-adb1-44c6-9339-4fb445d40d96&lt;br /&gt;
&lt;br /&gt;
Чужой проект&lt;br /&gt;
https://gallery.appinventor.mit.edu/?galleryid=e41676f7-c696-41a6-bb5d-018a450ea1cc&lt;/div&gt;</summary>
		<author><name>KuptsovaID</name></author>
	</entry>
	<entry>
		<id>http://digida.mgpu.ru/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:KuptsovaID/%D0%9F%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B8_%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0_%D0%BF%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D0%B9&amp;diff=14114</id>
		<title>Участник:KuptsovaID/Проектирование и разработка приложений</title>
		<link rel="alternate" type="text/html" href="http://digida.mgpu.ru/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:KuptsovaID/%D0%9F%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B8_%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0_%D0%BF%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D0%B9&amp;diff=14114"/>
		<updated>2023-12-07T16:51:10Z</updated>

		<summary type="html">&lt;p&gt;KuptsovaID: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Это для курса &amp;quot;Проектирование и разработка приложений&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Первый проект &lt;br /&gt;
&lt;br /&gt;
https://gallery.appinventor.mit.edu/?galleryid=67ae4cf2-adb1-44c6-9339-4fb445d40d96&lt;/div&gt;</summary>
		<author><name>KuptsovaID</name></author>
	</entry>
	<entry>
		<id>http://digida.mgpu.ru/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:KuptsovaID/%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B_%D0%B8_%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%82%D1%83%D1%80%D1%8B_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85&amp;diff=14043</id>
		<title>Участник:KuptsovaID/Алгоритмы и структуры данных</title>
		<link rel="alternate" type="text/html" href="http://digida.mgpu.ru/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:KuptsovaID/%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B_%D0%B8_%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%82%D1%83%D1%80%D1%8B_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85&amp;diff=14043"/>
		<updated>2023-12-04T11:32:39Z</updated>

		<summary type="html">&lt;p&gt;KuptsovaID: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Это для курса &amp;quot;Алгоритмы и структуры данных&amp;quot;&lt;br /&gt;
&lt;br /&gt;
{{#ask:[[Как сделать сортировку в массиве?]] | format=embedded | embedonly=yes}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Curriculum&lt;br /&gt;
|Learning_outcomes=Цель&lt;br /&gt;
* теоретические знания и практический опыт в области основ алгоритмизации задач, классификации языков программирования, типов данных, структур данных, взаимосвязь алгоритмов и структур данных, особенностей реализации алгоритмов и типов данных в языках блочного программирования Scratch, Snap!, GP&lt;br /&gt;
; Знать&lt;br /&gt;
: Основные понятия, связанные с миром алгоритмов и структур данных &lt;br /&gt;
: основы алгоритмизации задач, структуры данных;&lt;br /&gt;
: типы данных, структуры данных;&lt;br /&gt;
: методы и алгоритмы поиска и сортировки данных;&lt;br /&gt;
; Уметь&lt;br /&gt;
* обращаться к внешним и внутренним данным из среды Semantic MediaWiki, уметь использовать различные типы данных внутри Semantic MediaWiki&lt;br /&gt;
* обмениваться проектами и блоками программ в Snap!&lt;br /&gt;
* сравнивать и объединять статьи о языках программирования &lt;br /&gt;
* импортировать и экспортировать данные в среду визуального программирования Snap!&lt;br /&gt;
* проектировать и программировать линейные и разветвляющиеся структуры алгоритмов;&lt;br /&gt;
* планировать процесс реализации алгоритма при помощи псевдокода и диаграмм &lt;br /&gt;
* использовать язык &#039;&#039;&#039;dgl&#039;&#039;&#039; , mermaid, &#039;&#039;&#039;PlantUML&#039;&#039;&#039; встраивать диаграммы алгоритмов в вики страницы &lt;br /&gt;
* представлять алгоритмы на страницах вики в виде диаграмм, псевдокода, кода на различных языках программирования&lt;br /&gt;
* создавать собственные блоки (команды и процедуры с входными параметрами) в среде Snap! (создавать функции с использованием различных типов данных))&lt;br /&gt;
* оценивать и сравнивать эффективность алгоритмов, вычислительную сложность алгоритмов&lt;br /&gt;
* использовать рекурсию в командах и процедурах, использовать рекурсию при создании собственных функций&lt;br /&gt;
* использовать объекты первого класса и лямбда исчисления.&lt;br /&gt;
&lt;br /&gt;
==  Уметь обращаться к внешним и внутренним дым из среды Semantic MediaWiki, уметь использовать различные типы данных внутри Semantic MediaWiki ==&lt;br /&gt;
; Примеры задач на внутренние данные&lt;br /&gt;
* Посчитай внутри вики количество участников из МГПУ [[:Category:UserMGPU]]?&lt;br /&gt;
&lt;br /&gt;
{{#ask: [[Category:UserMGPU]] | format = count }}&lt;br /&gt;
{{#ask: [[Category:UserMGPU]] | format = ul }}&lt;br /&gt;
&lt;br /&gt;
* Посчитай число участников, которые указали, что используют язык Scratch?&lt;br /&gt;
* Собери таблицу с описанием писателей [[Category:Person]], которые оказали влияние на язык [[R]]&lt;br /&gt;
* Собери тайм-лайн с языками, ведущими свое происхождение от языка [[Prolog]]&lt;br /&gt;
* &#039;&#039;&#039; Предложи собственную задачу на использование внутренних данных в среде Semantic MediaWiki &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
; Примеры задач на внешние данные&lt;br /&gt;
* Размести на странице выборку из датасета, который уже есть в категории [[:Category:Dataset]]&lt;br /&gt;
* &#039;&#039;&#039; Добавь новый датасет в [[:Category:Dataset]] и предложи вариант его использования &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; Учебная группа, работающая с курсом Алгоритмы и структуры данных данных в в 2023 году -  [[:Категория:ПБД221м|ПБД221м]]&lt;br /&gt;
* Учебная группа, работающая с курсом Алгоритмы и структуры данных данных в в 2022 году -  [[:Категория:ПБД211М|ПБД211М]]&lt;br /&gt;
&lt;br /&gt;
; Особенность курса - [[Active Essay]]  смотрим и тестируем на поле &lt;br /&gt;
&lt;br /&gt;
&amp;lt;scratchblocks&amp;gt;&lt;br /&gt;
when [up arrow v] key pressed&lt;br /&gt;
point in direction (0)&lt;br /&gt;
move (10) steps&lt;br /&gt;
when [down arrow v] key pressed&lt;br /&gt;
point in direction (180)&lt;br /&gt;
move (10) steps&lt;br /&gt;
when [right arrow v] key pressed&lt;br /&gt;
point in direction (90)&lt;br /&gt;
move (10) steps&lt;br /&gt;
when [left arrow v] key pressed&lt;br /&gt;
point in direction (-90)&lt;br /&gt;
move (10) steps&amp;lt;/scratchblocks&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: И смотрим на то, как они выполняются&lt;br /&gt;
&amp;lt;scratch project=&amp;quot;210120481&amp;quot; /&amp;gt;&lt;br /&gt;
: или в [[Snap!]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;snap project=&amp;quot;Flocking_Snap&amp;quot; user=&amp;quot;patarakin&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Цель, результаты освоения дисциплины ==&lt;br /&gt;
В результате изучения данной дисциплины студенты будут иметь представление о современных алгоритмических языках, о способах записи [[алгоритм]]ов и конструирования программ, основах объектного подхода в программировании&lt;br /&gt;
; Цель &lt;br /&gt;
: теоретические знания и практический опыт в области основ алгоритмизации задач, классификации языков программирования, типов данных, структур данных, взаимосвязь алгоритмов и структур данных, особенностей реализации алгоритмов и типов данных в языках блочного программирования [[Scratch]], [[Snap!]], [[GP]]&lt;br /&gt;
&lt;br /&gt;
; Знать:&lt;br /&gt;
# Основные понятия, связанные с миром алгоритмов и структур данных См.  [[:Категория:Понятие]]&lt;br /&gt;
# основы алгоритмизации задач, структуры данных;&lt;br /&gt;
# типы данных, структуры данных;&lt;br /&gt;
# методы и алгоритмы поиска и сортировки данных;&lt;br /&gt;
; Уметь &lt;br /&gt;
# обращаться к внешним и внутренним данным из среды [[Semantic MediaWiki]], уметь использовать различные типы данных внутри Semantic MediaWiki см. [[:Категория:Dataset]]&lt;br /&gt;
# обмениваться проектами и блоками программ в [[Snap!]]&lt;br /&gt;
# сравнивать и объединять статьи о языках программирования [[Taxonomic_sandbox]]&lt;br /&gt;
# импортировать и экспортировать данные в среду визуального программирования [[Snap!]]&lt;br /&gt;
# проектировать и программировать  линейные и  разветвляющиеся структуры алгоритмов;&lt;br /&gt;
# планировать процесс реализации алгоритма при помощи псевдокода и диаграмм - [[:Категория:Diagrams]]&lt;br /&gt;
# использовать язык [[graphviz]], [[mermaid]], [[PlantUML]] встраивать диаграммы алгоритмов в вики страницы см. Graphviz + [[:Категория:Diagrams]] - &lt;br /&gt;
# представлять алгоритмы на страницах вики в виде диаграмм, псевдокода, кода на различных языках программирования&lt;br /&gt;
# создавать собственные блоки (команды и процедуры с входными параметрами) в среде Snap! (создавать функции с использованием различных типов данных))&lt;br /&gt;
# оценивать и сравнивать эффективность алгоритмов, вычислительную сложность алгоритмов&lt;br /&gt;
# использовать рекурсию в командах и процедурах, использовать рекурсию при создании собственных функций&lt;br /&gt;
# использовать объекты первого класса и лямбда исчисления&lt;br /&gt;
&lt;br /&gt;
== Содержание разделов дисциплины: ==&lt;br /&gt;
=== Введение. Основные понятия. Пространство для совместной деятельности ===&lt;br /&gt;
Основы алгоритмизации задач. Semantic MediaWiki как поле совместной деятельности. Типы данных  внутри Semantic MediaWiki. Обращение к внешним данным.&lt;br /&gt;
&lt;br /&gt;
=== История языков программирования и обучающих языков ===&lt;br /&gt;
Современные алгоритмические языки. Вычислительное мышление и вычислительное участие.&lt;br /&gt;
&lt;br /&gt;
=== Представление алгоритмов в виде диаграмм, псевдокода, кода на различных языках программирования ===&lt;br /&gt;
# проектировать и программировать линейные и разветвляющиеся структуры алгоритмов;&lt;br /&gt;
# планировать процесс реализации алгоритма при помощи псевдокода и диаграмм - [[:Категория:Diagrams]] - например, [[Binary search (diagram)]]&lt;br /&gt;
# использовать язык dgl и [[mermaid]] встраивать диаграммы алгоритмов в вики страницы см. [[Graphviz]]&lt;br /&gt;
&lt;br /&gt;
http://digida.mgpu.ru/images/diagrams/Diagrams_37be5e92fa212a080558fc26c16ac9cb.png&lt;br /&gt;
&lt;br /&gt;
{{#mermaid:graph TB&lt;br /&gt;
A[1-6] --&amp;gt; |Да| B[1-3] &lt;br /&gt;
A --&amp;gt; |Нет| C[7-9] &lt;br /&gt;
&lt;br /&gt;
B --&amp;gt; |Да| D[1-2] &lt;br /&gt;
B --&amp;gt; |Нет| E[4-5] &lt;br /&gt;
&lt;br /&gt;
D --&amp;gt; |Да| 1&lt;br /&gt;
D --&amp;gt; |Нет| 3&lt;br /&gt;
1 --&amp;gt;  |Нет| 2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
E --&amp;gt; |Нет| 6&lt;br /&gt;
E --&amp;gt; |Да| 4&lt;br /&gt;
4 --&amp;gt;  |Нет| 5&lt;br /&gt;
&lt;br /&gt;
C --&amp;gt;|Да| F[7-8]  &lt;br /&gt;
C --&amp;gt;|Нет| G[10-11]  &lt;br /&gt;
&lt;br /&gt;
F --&amp;gt; |Да| 7&lt;br /&gt;
7 --&amp;gt; |Нет| 8 &lt;br /&gt;
&lt;br /&gt;
F --&amp;gt; |Нет| 9&lt;br /&gt;
&lt;br /&gt;
G --&amp;gt; | Да | 10&lt;br /&gt;
10 --&amp;gt; | Нет| 11&lt;br /&gt;
G --&amp;gt; | Нет| 12&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===  Основные характеристики изучаемого алгоритмического языка ===&lt;br /&gt;
Типы данных. Константы. Переменные. Выражения. Арифметические и логические выражения. &lt;br /&gt;
&lt;br /&gt;
[[Файл:Snap data types2.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Спрайты, данные, процедуры как объекты первого класса. Структуры данных. Импорт и экспорт данных.&lt;br /&gt;
Список случайных чисел из  %сколько от %min до %max&lt;br /&gt;
[[Файл:Table sprite.png|800px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===  Структуры данных ===&lt;br /&gt;
&lt;br /&gt;
[[Файл:Collab dataset JSON.png]]&lt;br /&gt;
&lt;br /&gt;
* [[Массив]]ы и связные [[список|списки]]&lt;br /&gt;
* Стеки и очереди&lt;br /&gt;
* Деревья (бинарные, сбалансированные, двоичные деревья поиска)&lt;br /&gt;
* Графы (ориентированные и неориентированные, поиск в глубину и ширину)&lt;br /&gt;
&lt;br /&gt;
=== Алгоритмы сортировки и поиска === &lt;br /&gt;
Сравнение эффективности и вычислительной сложности алгоритмов&lt;br /&gt;
* [[Временная сложность алгоритма]]&lt;br /&gt;
&lt;br /&gt;
=== Рекурсия ===&lt;br /&gt;
* [[Рекурсия]]&lt;br /&gt;
* [[Фрактал]]&lt;br /&gt;
&lt;br /&gt;
== Литература ==&lt;br /&gt;
=== Основная литература  ===&lt;br /&gt;
&lt;br /&gt;
# [[Стили и методы программирования]], &lt;br /&gt;
# [[Computer Science with Snap! by Examples]], &lt;br /&gt;
# [[Initiation to Algorithmics with Scratch]]&lt;br /&gt;
&lt;br /&gt;
=== Дополнительная литература  ===&lt;br /&gt;
https://snap.berkeley.edu/snap/help/SnapManual.pdf - Руководство по Snap!&lt;br /&gt;
&lt;br /&gt;
== Критерии оценки по дисциплине (2022 - 2023) ==&lt;br /&gt;
&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|-&lt;br /&gt;
!{{Hl2}}| Образовательный результат&lt;br /&gt;
!{{Hl2}}| Тема&lt;br /&gt;
!{{Hl2}}| Задание&lt;br /&gt;
!{{Hl2}}| Пример&lt;br /&gt;
|- &lt;br /&gt;
| Знает понятия мира алгоритмов и структур данных	&lt;br /&gt;
|  Введение. Основные понятия. Пространство для совместной деятельности&lt;br /&gt;
| Использовать различные типы данных внутри Semantic MediaWiki, включить внешние данные в состав статьи&lt;br /&gt;
| Категория понятий - [[:Category:Понятие]]&lt;br /&gt;
В категории статей о датасетах	[[:Category:Dataset]]&lt;br /&gt;
|- &lt;br /&gt;
| Умеет сравнивать и объединять статьи о языках программирования&lt;br /&gt;
| История языков программирования и обучающих языков&lt;br /&gt;
| Редактировать, дополнять и объединять статьи о языках программирования&lt;br /&gt;
| [[:Category:Язык программирования]], [[Taxonomic_sandbox]]&lt;br /&gt;
|- &lt;br /&gt;
| &lt;br /&gt;
Умеет проектировать и программировать линейные и разветвляющиеся структуры алгоритмов, планировать процесс реализации алгоритма при помощи псевдокода и диаграмм - [[:Категория:Diagrams]], использовать язык dgl и [[mermaid]] встраивать диаграммы алгоритмов в вики страницы см. [[Graphviz]]&lt;br /&gt;
| Представление алгоритмов в виде диаграмм, [[псевдокод]]а, кода на различных языках программирования &lt;br /&gt;
| Создать диаграмму [[алгоритм]]а, представить реализацию алгоритма на языке высокого уровня&lt;br /&gt;
| Пример &lt;br /&gt;
* [[:Category:Diagrams]]&lt;br /&gt;
* [[Flowchart]]&lt;br /&gt;
|- &lt;br /&gt;
| Умеет создавать собственные блоки (команды и процедуры с входными параметрами) в среде [[Snap!]] (создавать [[Функция|функции]] с использованием различных типов данных))&lt;br /&gt;
| Основные характеристики изучаемого алгоритмического языка&lt;br /&gt;
| Процедуры видоизменения данных в среде [[Snap!]]&lt;br /&gt;
| Примеры видоизменения данных в [[Snap!]], [[Как получить список случайных значений|Получить список значений]]&lt;br /&gt;
|- &lt;br /&gt;
| оценивать и сравнивать эффективность алгоритмов, вычислительную сложность алгоритмов	&lt;br /&gt;
| [[Алгоритм]]ы сортировки и поиска&lt;br /&gt;
| Сравнить эффективность выполнения процедур над данными&lt;br /&gt;
| Готовые [[датасет]]ы из категории	[[:Category:Dataset]]. [[Сортировка вставками]], [[Быстрая сортировка]]&lt;br /&gt;
|- &lt;br /&gt;
| использовать рекурсию в командах и процедурах, использовать рекурсию при создании собственных функций&lt;br /&gt;
| Рекурсия&lt;br /&gt;
| Создать собственные команды и процедуры, в которых используется рекурсия&lt;br /&gt;
| [[Рекурсия]], [[Фрактал]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Напоминание по работа в вики среде ==&lt;br /&gt;
; [[Мастер-класс «Совместная работа со знаниями на поле цифровой дидактики»]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
[[Category:РУП]]&lt;/div&gt;</summary>
		<author><name>KuptsovaID</name></author>
	</entry>
	<entry>
		<id>http://digida.mgpu.ru/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:KuptsovaID/%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B_%D0%B8_%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%82%D1%83%D1%80%D1%8B_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85&amp;diff=14042</id>
		<title>Участник:KuptsovaID/Алгоритмы и структуры данных</title>
		<link rel="alternate" type="text/html" href="http://digida.mgpu.ru/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:KuptsovaID/%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B_%D0%B8_%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%82%D1%83%D1%80%D1%8B_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85&amp;diff=14042"/>
		<updated>2023-12-04T11:30:58Z</updated>

		<summary type="html">&lt;p&gt;KuptsovaID: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Это для курса &amp;quot;Алгоритмы и структуры данных&amp;quot;&lt;br /&gt;
&lt;br /&gt;
{{#ask:[[Как сделать сортировку в массиве?]] | format=embedded | embedonly=yes}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Curriculum&lt;br /&gt;
|Learning_outcomes=Цель&lt;br /&gt;
* теоретические знания и практический опыт в области основ алгоритмизации задач, классификации языков программирования, типов данных, структур данных, взаимосвязь алгоритмов и структур данных, особенностей реализации алгоритмов и типов данных в языках блочного программирования Scratch, Snap!, GP&lt;br /&gt;
; Знать&lt;br /&gt;
: Основные понятия, связанные с миром алгоритмов и структур данных &lt;br /&gt;
: основы алгоритмизации задач, структуры данных;&lt;br /&gt;
: типы данных, структуры данных;&lt;br /&gt;
: методы и алгоритмы поиска и сортировки данных;&lt;br /&gt;
; Уметь&lt;br /&gt;
* обращаться к внешним и внутренним данным из среды Semantic MediaWiki, уметь использовать различные типы данных внутри Semantic MediaWiki&lt;br /&gt;
* обмениваться проектами и блоками программ в Snap!&lt;br /&gt;
* сравнивать и объединять статьи о языках программирования &lt;br /&gt;
* импортировать и экспортировать данные в среду визуального программирования Snap!&lt;br /&gt;
* проектировать и программировать линейные и разветвляющиеся структуры алгоритмов;&lt;br /&gt;
* планировать процесс реализации алгоритма при помощи псевдокода и диаграмм &lt;br /&gt;
* использовать язык &#039;&#039;&#039;dgl&#039;&#039;&#039; , mermaid, &#039;&#039;&#039;PlantUML&#039;&#039;&#039; встраивать диаграммы алгоритмов в вики страницы &lt;br /&gt;
* представлять алгоритмы на страницах вики в виде диаграмм, псевдокода, кода на различных языках программирования&lt;br /&gt;
* создавать собственные блоки (команды и процедуры с входными параметрами) в среде Snap! (создавать функции с использованием различных типов данных))&lt;br /&gt;
* оценивать и сравнивать эффективность алгоритмов, вычислительную сложность алгоритмов&lt;br /&gt;
* использовать рекурсию в командах и процедурах, использовать рекурсию при создании собственных функций&lt;br /&gt;
* использовать объекты первого класса и лямбда исчисления.&lt;br /&gt;
&lt;br /&gt;
==  Уметь обращаться к внешним и внутренним дым из среды Semantic MediaWiki, уметь использовать различные типы данных внутри Semantic MediaWiki ==&lt;br /&gt;
; Примеры задач на внутренние данные&lt;br /&gt;
* Посчитай внутри вики количество участников из МГПУ [[:Category:UserMGPU]]?&lt;br /&gt;
&lt;br /&gt;
{{#ask: [[Category:UserMGPU]] | format - count }}&lt;br /&gt;
{{#ask: [[Category:UserMGPU]] | format - ul }}&lt;br /&gt;
&lt;br /&gt;
* Посчитай число участников, которые указали, что используют язык Scratch?&lt;br /&gt;
* Собери таблицу с описанием писателей [[Category:Person]], которые оказали влияние на язык [[R]]&lt;br /&gt;
* Собери тайм-лайн с языками, ведущими свое происхождение от языка [[Prolog]]&lt;br /&gt;
* &#039;&#039;&#039; Предложи собственную задачу на использование внутренних данных в среде Semantic MediaWiki &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
; Примеры задач на внешние данные&lt;br /&gt;
* Размести на странице выборку из датасета, который уже есть в категории [[:Category:Dataset]]&lt;br /&gt;
* &#039;&#039;&#039; Добавь новый датасет в [[:Category:Dataset]] и предложи вариант его использования &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; Учебная группа, работающая с курсом Алгоритмы и структуры данных данных в в 2023 году -  [[:Категория:ПБД221м|ПБД221м]]&lt;br /&gt;
* Учебная группа, работающая с курсом Алгоритмы и структуры данных данных в в 2022 году -  [[:Категория:ПБД211М|ПБД211М]]&lt;br /&gt;
&lt;br /&gt;
; Особенность курса - [[Active Essay]]  смотрим и тестируем на поле &lt;br /&gt;
&lt;br /&gt;
&amp;lt;scratchblocks&amp;gt;&lt;br /&gt;
when [up arrow v] key pressed&lt;br /&gt;
point in direction (0)&lt;br /&gt;
move (10) steps&lt;br /&gt;
when [down arrow v] key pressed&lt;br /&gt;
point in direction (180)&lt;br /&gt;
move (10) steps&lt;br /&gt;
when [right arrow v] key pressed&lt;br /&gt;
point in direction (90)&lt;br /&gt;
move (10) steps&lt;br /&gt;
when [left arrow v] key pressed&lt;br /&gt;
point in direction (-90)&lt;br /&gt;
move (10) steps&amp;lt;/scratchblocks&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: И смотрим на то, как они выполняются&lt;br /&gt;
&amp;lt;scratch project=&amp;quot;210120481&amp;quot; /&amp;gt;&lt;br /&gt;
: или в [[Snap!]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;snap project=&amp;quot;Flocking_Snap&amp;quot; user=&amp;quot;patarakin&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Цель, результаты освоения дисциплины ==&lt;br /&gt;
В результате изучения данной дисциплины студенты будут иметь представление о современных алгоритмических языках, о способах записи [[алгоритм]]ов и конструирования программ, основах объектного подхода в программировании&lt;br /&gt;
; Цель &lt;br /&gt;
: теоретические знания и практический опыт в области основ алгоритмизации задач, классификации языков программирования, типов данных, структур данных, взаимосвязь алгоритмов и структур данных, особенностей реализации алгоритмов и типов данных в языках блочного программирования [[Scratch]], [[Snap!]], [[GP]]&lt;br /&gt;
&lt;br /&gt;
; Знать:&lt;br /&gt;
# Основные понятия, связанные с миром алгоритмов и структур данных См.  [[:Категория:Понятие]]&lt;br /&gt;
# основы алгоритмизации задач, структуры данных;&lt;br /&gt;
# типы данных, структуры данных;&lt;br /&gt;
# методы и алгоритмы поиска и сортировки данных;&lt;br /&gt;
; Уметь &lt;br /&gt;
# обращаться к внешним и внутренним данным из среды [[Semantic MediaWiki]], уметь использовать различные типы данных внутри Semantic MediaWiki см. [[:Категория:Dataset]]&lt;br /&gt;
# обмениваться проектами и блоками программ в [[Snap!]]&lt;br /&gt;
# сравнивать и объединять статьи о языках программирования [[Taxonomic_sandbox]]&lt;br /&gt;
# импортировать и экспортировать данные в среду визуального программирования [[Snap!]]&lt;br /&gt;
# проектировать и программировать  линейные и  разветвляющиеся структуры алгоритмов;&lt;br /&gt;
# планировать процесс реализации алгоритма при помощи псевдокода и диаграмм - [[:Категория:Diagrams]]&lt;br /&gt;
# использовать язык [[graphviz]], [[mermaid]], [[PlantUML]] встраивать диаграммы алгоритмов в вики страницы см. Graphviz + [[:Категория:Diagrams]] - &lt;br /&gt;
# представлять алгоритмы на страницах вики в виде диаграмм, псевдокода, кода на различных языках программирования&lt;br /&gt;
# создавать собственные блоки (команды и процедуры с входными параметрами) в среде Snap! (создавать функции с использованием различных типов данных))&lt;br /&gt;
# оценивать и сравнивать эффективность алгоритмов, вычислительную сложность алгоритмов&lt;br /&gt;
# использовать рекурсию в командах и процедурах, использовать рекурсию при создании собственных функций&lt;br /&gt;
# использовать объекты первого класса и лямбда исчисления&lt;br /&gt;
&lt;br /&gt;
== Содержание разделов дисциплины: ==&lt;br /&gt;
=== Введение. Основные понятия. Пространство для совместной деятельности ===&lt;br /&gt;
Основы алгоритмизации задач. Semantic MediaWiki как поле совместной деятельности. Типы данных  внутри Semantic MediaWiki. Обращение к внешним данным.&lt;br /&gt;
&lt;br /&gt;
=== История языков программирования и обучающих языков ===&lt;br /&gt;
Современные алгоритмические языки. Вычислительное мышление и вычислительное участие.&lt;br /&gt;
&lt;br /&gt;
=== Представление алгоритмов в виде диаграмм, псевдокода, кода на различных языках программирования ===&lt;br /&gt;
# проектировать и программировать линейные и разветвляющиеся структуры алгоритмов;&lt;br /&gt;
# планировать процесс реализации алгоритма при помощи псевдокода и диаграмм - [[:Категория:Diagrams]] - например, [[Binary search (diagram)]]&lt;br /&gt;
# использовать язык dgl и [[mermaid]] встраивать диаграммы алгоритмов в вики страницы см. [[Graphviz]]&lt;br /&gt;
&lt;br /&gt;
http://digida.mgpu.ru/images/diagrams/Diagrams_37be5e92fa212a080558fc26c16ac9cb.png&lt;br /&gt;
&lt;br /&gt;
{{#mermaid:graph TB&lt;br /&gt;
A[1-6] --&amp;gt; |Да| B[1-3] &lt;br /&gt;
A --&amp;gt; |Нет| C[7-9] &lt;br /&gt;
&lt;br /&gt;
B --&amp;gt; |Да| D[1-2] &lt;br /&gt;
B --&amp;gt; |Нет| E[4-5] &lt;br /&gt;
&lt;br /&gt;
D --&amp;gt; |Да| 1&lt;br /&gt;
D --&amp;gt; |Нет| 3&lt;br /&gt;
1 --&amp;gt;  |Нет| 2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
E --&amp;gt; |Нет| 6&lt;br /&gt;
E --&amp;gt; |Да| 4&lt;br /&gt;
4 --&amp;gt;  |Нет| 5&lt;br /&gt;
&lt;br /&gt;
C --&amp;gt;|Да| F[7-8]  &lt;br /&gt;
C --&amp;gt;|Нет| G[10-11]  &lt;br /&gt;
&lt;br /&gt;
F --&amp;gt; |Да| 7&lt;br /&gt;
7 --&amp;gt; |Нет| 8 &lt;br /&gt;
&lt;br /&gt;
F --&amp;gt; |Нет| 9&lt;br /&gt;
&lt;br /&gt;
G --&amp;gt; | Да | 10&lt;br /&gt;
10 --&amp;gt; | Нет| 11&lt;br /&gt;
G --&amp;gt; | Нет| 12&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===  Основные характеристики изучаемого алгоритмического языка ===&lt;br /&gt;
Типы данных. Константы. Переменные. Выражения. Арифметические и логические выражения. &lt;br /&gt;
&lt;br /&gt;
[[Файл:Snap data types2.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Спрайты, данные, процедуры как объекты первого класса. Структуры данных. Импорт и экспорт данных.&lt;br /&gt;
Список случайных чисел из  %сколько от %min до %max&lt;br /&gt;
[[Файл:Table sprite.png|800px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===  Структуры данных ===&lt;br /&gt;
&lt;br /&gt;
[[Файл:Collab dataset JSON.png]]&lt;br /&gt;
&lt;br /&gt;
* [[Массив]]ы и связные [[список|списки]]&lt;br /&gt;
* Стеки и очереди&lt;br /&gt;
* Деревья (бинарные, сбалансированные, двоичные деревья поиска)&lt;br /&gt;
* Графы (ориентированные и неориентированные, поиск в глубину и ширину)&lt;br /&gt;
&lt;br /&gt;
=== Алгоритмы сортировки и поиска === &lt;br /&gt;
Сравнение эффективности и вычислительной сложности алгоритмов&lt;br /&gt;
* [[Временная сложность алгоритма]]&lt;br /&gt;
&lt;br /&gt;
=== Рекурсия ===&lt;br /&gt;
* [[Рекурсия]]&lt;br /&gt;
* [[Фрактал]]&lt;br /&gt;
&lt;br /&gt;
== Литература ==&lt;br /&gt;
=== Основная литература  ===&lt;br /&gt;
&lt;br /&gt;
# [[Стили и методы программирования]], &lt;br /&gt;
# [[Computer Science with Snap! by Examples]], &lt;br /&gt;
# [[Initiation to Algorithmics with Scratch]]&lt;br /&gt;
&lt;br /&gt;
=== Дополнительная литература  ===&lt;br /&gt;
https://snap.berkeley.edu/snap/help/SnapManual.pdf - Руководство по Snap!&lt;br /&gt;
&lt;br /&gt;
== Критерии оценки по дисциплине (2022 - 2023) ==&lt;br /&gt;
&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|-&lt;br /&gt;
!{{Hl2}}| Образовательный результат&lt;br /&gt;
!{{Hl2}}| Тема&lt;br /&gt;
!{{Hl2}}| Задание&lt;br /&gt;
!{{Hl2}}| Пример&lt;br /&gt;
|- &lt;br /&gt;
| Знает понятия мира алгоритмов и структур данных	&lt;br /&gt;
|  Введение. Основные понятия. Пространство для совместной деятельности&lt;br /&gt;
| Использовать различные типы данных внутри Semantic MediaWiki, включить внешние данные в состав статьи&lt;br /&gt;
| Категория понятий - [[:Category:Понятие]]&lt;br /&gt;
В категории статей о датасетах	[[:Category:Dataset]]&lt;br /&gt;
|- &lt;br /&gt;
| Умеет сравнивать и объединять статьи о языках программирования&lt;br /&gt;
| История языков программирования и обучающих языков&lt;br /&gt;
| Редактировать, дополнять и объединять статьи о языках программирования&lt;br /&gt;
| [[:Category:Язык программирования]], [[Taxonomic_sandbox]]&lt;br /&gt;
|- &lt;br /&gt;
| &lt;br /&gt;
Умеет проектировать и программировать линейные и разветвляющиеся структуры алгоритмов, планировать процесс реализации алгоритма при помощи псевдокода и диаграмм - [[:Категория:Diagrams]], использовать язык dgl и [[mermaid]] встраивать диаграммы алгоритмов в вики страницы см. [[Graphviz]]&lt;br /&gt;
| Представление алгоритмов в виде диаграмм, [[псевдокод]]а, кода на различных языках программирования &lt;br /&gt;
| Создать диаграмму [[алгоритм]]а, представить реализацию алгоритма на языке высокого уровня&lt;br /&gt;
| Пример &lt;br /&gt;
* [[:Category:Diagrams]]&lt;br /&gt;
* [[Flowchart]]&lt;br /&gt;
|- &lt;br /&gt;
| Умеет создавать собственные блоки (команды и процедуры с входными параметрами) в среде [[Snap!]] (создавать [[Функция|функции]] с использованием различных типов данных))&lt;br /&gt;
| Основные характеристики изучаемого алгоритмического языка&lt;br /&gt;
| Процедуры видоизменения данных в среде [[Snap!]]&lt;br /&gt;
| Примеры видоизменения данных в [[Snap!]], [[Как получить список случайных значений|Получить список значений]]&lt;br /&gt;
|- &lt;br /&gt;
| оценивать и сравнивать эффективность алгоритмов, вычислительную сложность алгоритмов	&lt;br /&gt;
| [[Алгоритм]]ы сортировки и поиска&lt;br /&gt;
| Сравнить эффективность выполнения процедур над данными&lt;br /&gt;
| Готовые [[датасет]]ы из категории	[[:Category:Dataset]]. [[Сортировка вставками]], [[Быстрая сортировка]]&lt;br /&gt;
|- &lt;br /&gt;
| использовать рекурсию в командах и процедурах, использовать рекурсию при создании собственных функций&lt;br /&gt;
| Рекурсия&lt;br /&gt;
| Создать собственные команды и процедуры, в которых используется рекурсия&lt;br /&gt;
| [[Рекурсия]], [[Фрактал]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Напоминание по работа в вики среде ==&lt;br /&gt;
; [[Мастер-класс «Совместная работа со знаниями на поле цифровой дидактики»]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
[[Category:РУП]]&lt;/div&gt;</summary>
		<author><name>KuptsovaID</name></author>
	</entry>
	<entry>
		<id>http://digida.mgpu.ru/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:KuptsovaID/%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B_%D0%B8_%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%82%D1%83%D1%80%D1%8B_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85&amp;diff=14041</id>
		<title>Участник:KuptsovaID/Алгоритмы и структуры данных</title>
		<link rel="alternate" type="text/html" href="http://digida.mgpu.ru/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:KuptsovaID/%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B_%D0%B8_%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%82%D1%83%D1%80%D1%8B_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85&amp;diff=14041"/>
		<updated>2023-12-04T11:18:44Z</updated>

		<summary type="html">&lt;p&gt;KuptsovaID: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Это для курса &amp;quot;Алгоритмы и структуры данных&amp;quot;&lt;br /&gt;
&lt;br /&gt;
{{#ask:[[Как сделать сортировку в массиве?]] | format=embedded | embedonly=yes}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Curriculum&lt;br /&gt;
|Learning_outcomes=Цель&lt;br /&gt;
* теоретические знания и практический опыт в области основ алгоритмизации задач, классификации языков программирования, типов данных, структур данных, взаимосвязь алгоритмов и структур данных, особенностей реализации алгоритмов и типов данных в языках блочного программирования Scratch, Snap!, GP&lt;br /&gt;
; Знать&lt;br /&gt;
: Основные понятия, связанные с миром алгоритмов и структур данных &lt;br /&gt;
: основы алгоритмизации задач, структуры данных;&lt;br /&gt;
: типы данных, структуры данных;&lt;br /&gt;
: методы и алгоритмы поиска и сортировки данных;&lt;br /&gt;
; Уметь&lt;br /&gt;
* обращаться к внешним и внутренним данным из среды Semantic MediaWiki, уметь использовать различные типы данных внутри Semantic MediaWiki&lt;br /&gt;
* обмениваться проектами и блоками программ в Snap!&lt;br /&gt;
* сравнивать и объединять статьи о языках программирования &lt;br /&gt;
* импортировать и экспортировать данные в среду визуального программирования Snap!&lt;br /&gt;
* проектировать и программировать линейные и разветвляющиеся структуры алгоритмов;&lt;br /&gt;
* планировать процесс реализации алгоритма при помощи псевдокода и диаграмм &lt;br /&gt;
* использовать язык &#039;&#039;&#039;dgl&#039;&#039;&#039; , mermaid, &#039;&#039;&#039;PlantUML&#039;&#039;&#039; встраивать диаграммы алгоритмов в вики страницы &lt;br /&gt;
* представлять алгоритмы на страницах вики в виде диаграмм, псевдокода, кода на различных языках программирования&lt;br /&gt;
* создавать собственные блоки (команды и процедуры с входными параметрами) в среде Snap! (создавать функции с использованием различных типов данных))&lt;br /&gt;
* оценивать и сравнивать эффективность алгоритмов, вычислительную сложность алгоритмов&lt;br /&gt;
* использовать рекурсию в командах и процедурах, использовать рекурсию при создании собственных функций&lt;br /&gt;
* использовать объекты первого класса и лямбда исчисления.&lt;br /&gt;
&lt;br /&gt;
==  Уметь обращаться к внешним и внутренним дым из среды Semantic MediaWiki, уметь использовать различные типы данных внутри Semantic MediaWiki ==&lt;br /&gt;
; Примеры задач на внутренние данные&lt;br /&gt;
* Посчитай внутри вики количество участников из МГПУ [[:Category:UserMGPU]]?&lt;br /&gt;
&lt;br /&gt;
{{#ask: [[Category:UserMGPU]] }}&lt;br /&gt;
&lt;br /&gt;
* Посчитай число участников, которые указали, что используют язык Scratch?&lt;br /&gt;
* Собери таблицу с описанием писателей [[Category:Person]], которые оказали влияние на язык [[R]]&lt;br /&gt;
* Собери тайм-лайн с языками, ведущими свое происхождение от языка [[Prolog]]&lt;br /&gt;
* &#039;&#039;&#039; Предложи собственную задачу на использование внутренних данных в среде Semantic MediaWiki &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
; Примеры задач на внешние данные&lt;br /&gt;
* Размести на странице выборку из датасета, который уже есть в категории [[:Category:Dataset]]&lt;br /&gt;
* &#039;&#039;&#039; Добавь новый датасет в [[:Category:Dataset]] и предложи вариант его использования &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; Учебная группа, работающая с курсом Алгоритмы и структуры данных данных в в 2023 году -  [[:Категория:ПБД221м|ПБД221м]]&lt;br /&gt;
* Учебная группа, работающая с курсом Алгоритмы и структуры данных данных в в 2022 году -  [[:Категория:ПБД211М|ПБД211М]]&lt;br /&gt;
&lt;br /&gt;
; Особенность курса - [[Active Essay]]  смотрим и тестируем на поле &lt;br /&gt;
&lt;br /&gt;
&amp;lt;scratchblocks&amp;gt;&lt;br /&gt;
when [up arrow v] key pressed&lt;br /&gt;
point in direction (0)&lt;br /&gt;
move (10) steps&lt;br /&gt;
when [down arrow v] key pressed&lt;br /&gt;
point in direction (180)&lt;br /&gt;
move (10) steps&lt;br /&gt;
when [right arrow v] key pressed&lt;br /&gt;
point in direction (90)&lt;br /&gt;
move (10) steps&lt;br /&gt;
when [left arrow v] key pressed&lt;br /&gt;
point in direction (-90)&lt;br /&gt;
move (10) steps&amp;lt;/scratchblocks&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: И смотрим на то, как они выполняются&lt;br /&gt;
&amp;lt;scratch project=&amp;quot;210120481&amp;quot; /&amp;gt;&lt;br /&gt;
: или в [[Snap!]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;snap project=&amp;quot;Flocking_Snap&amp;quot; user=&amp;quot;patarakin&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Цель, результаты освоения дисциплины ==&lt;br /&gt;
В результате изучения данной дисциплины студенты будут иметь представление о современных алгоритмических языках, о способах записи [[алгоритм]]ов и конструирования программ, основах объектного подхода в программировании&lt;br /&gt;
; Цель &lt;br /&gt;
: теоретические знания и практический опыт в области основ алгоритмизации задач, классификации языков программирования, типов данных, структур данных, взаимосвязь алгоритмов и структур данных, особенностей реализации алгоритмов и типов данных в языках блочного программирования [[Scratch]], [[Snap!]], [[GP]]&lt;br /&gt;
&lt;br /&gt;
; Знать:&lt;br /&gt;
# Основные понятия, связанные с миром алгоритмов и структур данных См.  [[:Категория:Понятие]]&lt;br /&gt;
# основы алгоритмизации задач, структуры данных;&lt;br /&gt;
# типы данных, структуры данных;&lt;br /&gt;
# методы и алгоритмы поиска и сортировки данных;&lt;br /&gt;
; Уметь &lt;br /&gt;
# обращаться к внешним и внутренним данным из среды [[Semantic MediaWiki]], уметь использовать различные типы данных внутри Semantic MediaWiki см. [[:Категория:Dataset]]&lt;br /&gt;
# обмениваться проектами и блоками программ в [[Snap!]]&lt;br /&gt;
# сравнивать и объединять статьи о языках программирования [[Taxonomic_sandbox]]&lt;br /&gt;
# импортировать и экспортировать данные в среду визуального программирования [[Snap!]]&lt;br /&gt;
# проектировать и программировать  линейные и  разветвляющиеся структуры алгоритмов;&lt;br /&gt;
# планировать процесс реализации алгоритма при помощи псевдокода и диаграмм - [[:Категория:Diagrams]]&lt;br /&gt;
# использовать язык [[graphviz]], [[mermaid]], [[PlantUML]] встраивать диаграммы алгоритмов в вики страницы см. Graphviz + [[:Категория:Diagrams]] - &lt;br /&gt;
# представлять алгоритмы на страницах вики в виде диаграмм, псевдокода, кода на различных языках программирования&lt;br /&gt;
# создавать собственные блоки (команды и процедуры с входными параметрами) в среде Snap! (создавать функции с использованием различных типов данных))&lt;br /&gt;
# оценивать и сравнивать эффективность алгоритмов, вычислительную сложность алгоритмов&lt;br /&gt;
# использовать рекурсию в командах и процедурах, использовать рекурсию при создании собственных функций&lt;br /&gt;
# использовать объекты первого класса и лямбда исчисления&lt;br /&gt;
&lt;br /&gt;
== Содержание разделов дисциплины: ==&lt;br /&gt;
=== Введение. Основные понятия. Пространство для совместной деятельности ===&lt;br /&gt;
Основы алгоритмизации задач. Semantic MediaWiki как поле совместной деятельности. Типы данных  внутри Semantic MediaWiki. Обращение к внешним данным.&lt;br /&gt;
&lt;br /&gt;
=== История языков программирования и обучающих языков ===&lt;br /&gt;
Современные алгоритмические языки. Вычислительное мышление и вычислительное участие.&lt;br /&gt;
&lt;br /&gt;
=== Представление алгоритмов в виде диаграмм, псевдокода, кода на различных языках программирования ===&lt;br /&gt;
# проектировать и программировать линейные и разветвляющиеся структуры алгоритмов;&lt;br /&gt;
# планировать процесс реализации алгоритма при помощи псевдокода и диаграмм - [[:Категория:Diagrams]] - например, [[Binary search (diagram)]]&lt;br /&gt;
# использовать язык dgl и [[mermaid]] встраивать диаграммы алгоритмов в вики страницы см. [[Graphviz]]&lt;br /&gt;
&lt;br /&gt;
http://digida.mgpu.ru/images/diagrams/Diagrams_37be5e92fa212a080558fc26c16ac9cb.png&lt;br /&gt;
&lt;br /&gt;
{{#mermaid:graph TB&lt;br /&gt;
A[1-6] --&amp;gt; |Да| B[1-3] &lt;br /&gt;
A --&amp;gt; |Нет| C[7-9] &lt;br /&gt;
&lt;br /&gt;
B --&amp;gt; |Да| D[1-2] &lt;br /&gt;
B --&amp;gt; |Нет| E[4-5] &lt;br /&gt;
&lt;br /&gt;
D --&amp;gt; |Да| 1&lt;br /&gt;
D --&amp;gt; |Нет| 3&lt;br /&gt;
1 --&amp;gt;  |Нет| 2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
E --&amp;gt; |Нет| 6&lt;br /&gt;
E --&amp;gt; |Да| 4&lt;br /&gt;
4 --&amp;gt;  |Нет| 5&lt;br /&gt;
&lt;br /&gt;
C --&amp;gt;|Да| F[7-8]  &lt;br /&gt;
C --&amp;gt;|Нет| G[10-11]  &lt;br /&gt;
&lt;br /&gt;
F --&amp;gt; |Да| 7&lt;br /&gt;
7 --&amp;gt; |Нет| 8 &lt;br /&gt;
&lt;br /&gt;
F --&amp;gt; |Нет| 9&lt;br /&gt;
&lt;br /&gt;
G --&amp;gt; | Да | 10&lt;br /&gt;
10 --&amp;gt; | Нет| 11&lt;br /&gt;
G --&amp;gt; | Нет| 12&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===  Основные характеристики изучаемого алгоритмического языка ===&lt;br /&gt;
Типы данных. Константы. Переменные. Выражения. Арифметические и логические выражения. &lt;br /&gt;
&lt;br /&gt;
[[Файл:Snap data types2.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Спрайты, данные, процедуры как объекты первого класса. Структуры данных. Импорт и экспорт данных.&lt;br /&gt;
Список случайных чисел из  %сколько от %min до %max&lt;br /&gt;
[[Файл:Table sprite.png|800px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===  Структуры данных ===&lt;br /&gt;
&lt;br /&gt;
[[Файл:Collab dataset JSON.png]]&lt;br /&gt;
&lt;br /&gt;
* [[Массив]]ы и связные [[список|списки]]&lt;br /&gt;
* Стеки и очереди&lt;br /&gt;
* Деревья (бинарные, сбалансированные, двоичные деревья поиска)&lt;br /&gt;
* Графы (ориентированные и неориентированные, поиск в глубину и ширину)&lt;br /&gt;
&lt;br /&gt;
=== Алгоритмы сортировки и поиска === &lt;br /&gt;
Сравнение эффективности и вычислительной сложности алгоритмов&lt;br /&gt;
* [[Временная сложность алгоритма]]&lt;br /&gt;
&lt;br /&gt;
=== Рекурсия ===&lt;br /&gt;
* [[Рекурсия]]&lt;br /&gt;
* [[Фрактал]]&lt;br /&gt;
&lt;br /&gt;
== Литература ==&lt;br /&gt;
=== Основная литература  ===&lt;br /&gt;
&lt;br /&gt;
# [[Стили и методы программирования]], &lt;br /&gt;
# [[Computer Science with Snap! by Examples]], &lt;br /&gt;
# [[Initiation to Algorithmics with Scratch]]&lt;br /&gt;
&lt;br /&gt;
=== Дополнительная литература  ===&lt;br /&gt;
https://snap.berkeley.edu/snap/help/SnapManual.pdf - Руководство по Snap!&lt;br /&gt;
&lt;br /&gt;
== Критерии оценки по дисциплине (2022 - 2023) ==&lt;br /&gt;
&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|-&lt;br /&gt;
!{{Hl2}}| Образовательный результат&lt;br /&gt;
!{{Hl2}}| Тема&lt;br /&gt;
!{{Hl2}}| Задание&lt;br /&gt;
!{{Hl2}}| Пример&lt;br /&gt;
|- &lt;br /&gt;
| Знает понятия мира алгоритмов и структур данных	&lt;br /&gt;
|  Введение. Основные понятия. Пространство для совместной деятельности&lt;br /&gt;
| Использовать различные типы данных внутри Semantic MediaWiki, включить внешние данные в состав статьи&lt;br /&gt;
| Категория понятий - [[:Category:Понятие]]&lt;br /&gt;
В категории статей о датасетах	[[:Category:Dataset]]&lt;br /&gt;
|- &lt;br /&gt;
| Умеет сравнивать и объединять статьи о языках программирования&lt;br /&gt;
| История языков программирования и обучающих языков&lt;br /&gt;
| Редактировать, дополнять и объединять статьи о языках программирования&lt;br /&gt;
| [[:Category:Язык программирования]], [[Taxonomic_sandbox]]&lt;br /&gt;
|- &lt;br /&gt;
| &lt;br /&gt;
Умеет проектировать и программировать линейные и разветвляющиеся структуры алгоритмов, планировать процесс реализации алгоритма при помощи псевдокода и диаграмм - [[:Категория:Diagrams]], использовать язык dgl и [[mermaid]] встраивать диаграммы алгоритмов в вики страницы см. [[Graphviz]]&lt;br /&gt;
| Представление алгоритмов в виде диаграмм, [[псевдокод]]а, кода на различных языках программирования &lt;br /&gt;
| Создать диаграмму [[алгоритм]]а, представить реализацию алгоритма на языке высокого уровня&lt;br /&gt;
| Пример &lt;br /&gt;
* [[:Category:Diagrams]]&lt;br /&gt;
* [[Flowchart]]&lt;br /&gt;
|- &lt;br /&gt;
| Умеет создавать собственные блоки (команды и процедуры с входными параметрами) в среде [[Snap!]] (создавать [[Функция|функции]] с использованием различных типов данных))&lt;br /&gt;
| Основные характеристики изучаемого алгоритмического языка&lt;br /&gt;
| Процедуры видоизменения данных в среде [[Snap!]]&lt;br /&gt;
| Примеры видоизменения данных в [[Snap!]], [[Как получить список случайных значений|Получить список значений]]&lt;br /&gt;
|- &lt;br /&gt;
| оценивать и сравнивать эффективность алгоритмов, вычислительную сложность алгоритмов	&lt;br /&gt;
| [[Алгоритм]]ы сортировки и поиска&lt;br /&gt;
| Сравнить эффективность выполнения процедур над данными&lt;br /&gt;
| Готовые [[датасет]]ы из категории	[[:Category:Dataset]]. [[Сортировка вставками]], [[Быстрая сортировка]]&lt;br /&gt;
|- &lt;br /&gt;
| использовать рекурсию в командах и процедурах, использовать рекурсию при создании собственных функций&lt;br /&gt;
| Рекурсия&lt;br /&gt;
| Создать собственные команды и процедуры, в которых используется рекурсия&lt;br /&gt;
| [[Рекурсия]], [[Фрактал]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Напоминание по работа в вики среде ==&lt;br /&gt;
; [[Мастер-класс «Совместная работа со знаниями на поле цифровой дидактики»]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
[[Category:РУП]]&lt;/div&gt;</summary>
		<author><name>KuptsovaID</name></author>
	</entry>
	<entry>
		<id>http://digida.mgpu.ru/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:KuptsovaID/%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B_%D0%B8_%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%82%D1%83%D1%80%D1%8B_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85&amp;diff=14040</id>
		<title>Участник:KuptsovaID/Алгоритмы и структуры данных</title>
		<link rel="alternate" type="text/html" href="http://digida.mgpu.ru/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:KuptsovaID/%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B_%D0%B8_%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%82%D1%83%D1%80%D1%8B_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85&amp;diff=14040"/>
		<updated>2023-12-04T11:10:11Z</updated>

		<summary type="html">&lt;p&gt;KuptsovaID: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Это для курса &amp;quot;Алгоритмы и структуры данных&amp;quot;&lt;br /&gt;
&lt;br /&gt;
{{#ask:[[Как сделать сортировку в массиве?]] | format=embedded | embedonly=yes}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Уметь обращаться к внешним и внутренним дым из среды Semantic MediaWiki, уметь использовать различные типы данных внутри Semantic MediaWiki ==&lt;br /&gt;
; Примеры задач на внутренние данные&lt;br /&gt;
* Посчитай внутри вики количество участников из МГПУ [[:Category:UserMGPU]]?&lt;br /&gt;
&lt;br /&gt;
{{#ask: [[Category:UserMGPU]] }}&lt;br /&gt;
&lt;br /&gt;
* Посчитай число участников, которые указали, что используют язык Scratch?&lt;br /&gt;
* Собери таблицу с описанием писателей [[Category:Person]], которые оказали влияние на язык [[R]]&lt;br /&gt;
* Собери тайм-лайн с языками, ведущими свое происхождение от языка [[Prolog]]&lt;br /&gt;
* &#039;&#039;&#039; Предложи собственную задачу на использование внутренних данных в среде Semantic MediaWiki &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
; Примеры задач на внешние данные&lt;br /&gt;
* Размести на странице выборку из датасета, который уже есть в категории [[:Category:Dataset]]&lt;br /&gt;
* &#039;&#039;&#039; Добавь новый датасет в [[:Category:Dataset]] и предложи вариант его использования &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; Учебная группа, работающая с курсом Алгоритмы и структуры данных данных в в 2023 году -  [[:Категория:ПБД221м|ПБД221м]]&lt;br /&gt;
* Учебная группа, работающая с курсом Алгоритмы и структуры данных данных в в 2022 году -  [[:Категория:ПБД211М|ПБД211М]]&lt;br /&gt;
&lt;br /&gt;
; Особенность курса - [[Active Essay]]  смотрим и тестируем на поле &lt;br /&gt;
&lt;br /&gt;
&amp;lt;scratchblocks&amp;gt;&lt;br /&gt;
when [up arrow v] key pressed&lt;br /&gt;
point in direction (0)&lt;br /&gt;
move (10) steps&lt;br /&gt;
when [down arrow v] key pressed&lt;br /&gt;
point in direction (180)&lt;br /&gt;
move (10) steps&lt;br /&gt;
when [right arrow v] key pressed&lt;br /&gt;
point in direction (90)&lt;br /&gt;
move (10) steps&lt;br /&gt;
when [left arrow v] key pressed&lt;br /&gt;
point in direction (-90)&lt;br /&gt;
move (10) steps&amp;lt;/scratchblocks&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: И смотрим на то, как они выполняются&lt;br /&gt;
&amp;lt;scratch project=&amp;quot;210120481&amp;quot; /&amp;gt;&lt;br /&gt;
: или в [[Snap!]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;snap project=&amp;quot;Flocking_Snap&amp;quot; user=&amp;quot;patarakin&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Цель, результаты освоения дисциплины ==&lt;br /&gt;
В результате изучения данной дисциплины студенты будут иметь представление о современных алгоритмических языках, о способах записи [[алгоритм]]ов и конструирования программ, основах объектного подхода в программировании&lt;br /&gt;
; Цель &lt;br /&gt;
: теоретические знания и практический опыт в области основ алгоритмизации задач, классификации языков программирования, типов данных, структур данных, взаимосвязь алгоритмов и структур данных, особенностей реализации алгоритмов и типов данных в языках блочного программирования [[Scratch]], [[Snap!]], [[GP]]&lt;br /&gt;
&lt;br /&gt;
; Знать:&lt;br /&gt;
# Основные понятия, связанные с миром алгоритмов и структур данных См.  [[:Категория:Понятие]]&lt;br /&gt;
# основы алгоритмизации задач, структуры данных;&lt;br /&gt;
# типы данных, структуры данных;&lt;br /&gt;
# методы и алгоритмы поиска и сортировки данных;&lt;br /&gt;
; Уметь &lt;br /&gt;
# обращаться к внешним и внутренним данным из среды [[Semantic MediaWiki]], уметь использовать различные типы данных внутри Semantic MediaWiki см. [[:Категория:Dataset]]&lt;br /&gt;
# обмениваться проектами и блоками программ в [[Snap!]]&lt;br /&gt;
# сравнивать и объединять статьи о языках программирования [[Taxonomic_sandbox]]&lt;br /&gt;
# импортировать и экспортировать данные в среду визуального программирования [[Snap!]]&lt;br /&gt;
# проектировать и программировать  линейные и  разветвляющиеся структуры алгоритмов;&lt;br /&gt;
# планировать процесс реализации алгоритма при помощи псевдокода и диаграмм - [[:Категория:Diagrams]]&lt;br /&gt;
# использовать язык [[graphviz]], [[mermaid]], [[PlantUML]] встраивать диаграммы алгоритмов в вики страницы см. Graphviz + [[:Категория:Diagrams]] - &lt;br /&gt;
# представлять алгоритмы на страницах вики в виде диаграмм, псевдокода, кода на различных языках программирования&lt;br /&gt;
# создавать собственные блоки (команды и процедуры с входными параметрами) в среде Snap! (создавать функции с использованием различных типов данных))&lt;br /&gt;
# оценивать и сравнивать эффективность алгоритмов, вычислительную сложность алгоритмов&lt;br /&gt;
# использовать рекурсию в командах и процедурах, использовать рекурсию при создании собственных функций&lt;br /&gt;
# использовать объекты первого класса и лямбда исчисления&lt;br /&gt;
&lt;br /&gt;
== Содержание разделов дисциплины: ==&lt;br /&gt;
=== Введение. Основные понятия. Пространство для совместной деятельности ===&lt;br /&gt;
Основы алгоритмизации задач. Semantic MediaWiki как поле совместной деятельности. Типы данных  внутри Semantic MediaWiki. Обращение к внешним данным.&lt;br /&gt;
&lt;br /&gt;
=== История языков программирования и обучающих языков ===&lt;br /&gt;
Современные алгоритмические языки. Вычислительное мышление и вычислительное участие.&lt;br /&gt;
&lt;br /&gt;
=== Представление алгоритмов в виде диаграмм, псевдокода, кода на различных языках программирования ===&lt;br /&gt;
# проектировать и программировать линейные и разветвляющиеся структуры алгоритмов;&lt;br /&gt;
# планировать процесс реализации алгоритма при помощи псевдокода и диаграмм - [[:Категория:Diagrams]] - например, [[Binary search (diagram)]]&lt;br /&gt;
# использовать язык dgl и [[mermaid]] встраивать диаграммы алгоритмов в вики страницы см. [[Graphviz]]&lt;br /&gt;
&lt;br /&gt;
http://digida.mgpu.ru/images/diagrams/Diagrams_37be5e92fa212a080558fc26c16ac9cb.png&lt;br /&gt;
&lt;br /&gt;
{{#mermaid:graph TB&lt;br /&gt;
A[1-6] --&amp;gt; |Да| B[1-3] &lt;br /&gt;
A --&amp;gt; |Нет| C[7-9] &lt;br /&gt;
&lt;br /&gt;
B --&amp;gt; |Да| D[1-2] &lt;br /&gt;
B --&amp;gt; |Нет| E[4-5] &lt;br /&gt;
&lt;br /&gt;
D --&amp;gt; |Да| 1&lt;br /&gt;
D --&amp;gt; |Нет| 3&lt;br /&gt;
1 --&amp;gt;  |Нет| 2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
E --&amp;gt; |Нет| 6&lt;br /&gt;
E --&amp;gt; |Да| 4&lt;br /&gt;
4 --&amp;gt;  |Нет| 5&lt;br /&gt;
&lt;br /&gt;
C --&amp;gt;|Да| F[7-8]  &lt;br /&gt;
C --&amp;gt;|Нет| G[10-11]  &lt;br /&gt;
&lt;br /&gt;
F --&amp;gt; |Да| 7&lt;br /&gt;
7 --&amp;gt; |Нет| 8 &lt;br /&gt;
&lt;br /&gt;
F --&amp;gt; |Нет| 9&lt;br /&gt;
&lt;br /&gt;
G --&amp;gt; | Да | 10&lt;br /&gt;
10 --&amp;gt; | Нет| 11&lt;br /&gt;
G --&amp;gt; | Нет| 12&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===  Основные характеристики изучаемого алгоритмического языка ===&lt;br /&gt;
Типы данных. Константы. Переменные. Выражения. Арифметические и логические выражения. &lt;br /&gt;
&lt;br /&gt;
[[Файл:Snap data types2.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Спрайты, данные, процедуры как объекты первого класса. Структуры данных. Импорт и экспорт данных.&lt;br /&gt;
Список случайных чисел из  %сколько от %min до %max&lt;br /&gt;
[[Файл:Table sprite.png|800px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===  Структуры данных ===&lt;br /&gt;
&lt;br /&gt;
[[Файл:Collab dataset JSON.png]]&lt;br /&gt;
&lt;br /&gt;
* [[Массив]]ы и связные [[список|списки]]&lt;br /&gt;
* Стеки и очереди&lt;br /&gt;
* Деревья (бинарные, сбалансированные, двоичные деревья поиска)&lt;br /&gt;
* Графы (ориентированные и неориентированные, поиск в глубину и ширину)&lt;br /&gt;
&lt;br /&gt;
=== Алгоритмы сортировки и поиска === &lt;br /&gt;
Сравнение эффективности и вычислительной сложности алгоритмов&lt;br /&gt;
* [[Временная сложность алгоритма]]&lt;br /&gt;
&lt;br /&gt;
=== Рекурсия ===&lt;br /&gt;
* [[Рекурсия]]&lt;br /&gt;
* [[Фрактал]]&lt;br /&gt;
&lt;br /&gt;
== Литература ==&lt;br /&gt;
=== Основная литература  ===&lt;br /&gt;
&lt;br /&gt;
# [[Стили и методы программирования]], &lt;br /&gt;
# [[Computer Science with Snap! by Examples]], &lt;br /&gt;
# [[Initiation to Algorithmics with Scratch]]&lt;br /&gt;
&lt;br /&gt;
=== Дополнительная литература  ===&lt;br /&gt;
https://snap.berkeley.edu/snap/help/SnapManual.pdf - Руководство по Snap!&lt;br /&gt;
&lt;br /&gt;
== Критерии оценки по дисциплине (2022 - 2023) ==&lt;br /&gt;
&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|-&lt;br /&gt;
!{{Hl2}}| Образовательный результат&lt;br /&gt;
!{{Hl2}}| Тема&lt;br /&gt;
!{{Hl2}}| Задание&lt;br /&gt;
!{{Hl2}}| Пример&lt;br /&gt;
|- &lt;br /&gt;
| Знает понятия мира алгоритмов и структур данных	&lt;br /&gt;
|  Введение. Основные понятия. Пространство для совместной деятельности&lt;br /&gt;
| Использовать различные типы данных внутри Semantic MediaWiki, включить внешние данные в состав статьи&lt;br /&gt;
| Категория понятий - [[:Category:Понятие]]&lt;br /&gt;
В категории статей о датасетах	[[:Category:Dataset]]&lt;br /&gt;
|- &lt;br /&gt;
| Умеет сравнивать и объединять статьи о языках программирования&lt;br /&gt;
| История языков программирования и обучающих языков&lt;br /&gt;
| Редактировать, дополнять и объединять статьи о языках программирования&lt;br /&gt;
| [[:Category:Язык программирования]], [[Taxonomic_sandbox]]&lt;br /&gt;
|- &lt;br /&gt;
| &lt;br /&gt;
Умеет проектировать и программировать линейные и разветвляющиеся структуры алгоритмов, планировать процесс реализации алгоритма при помощи псевдокода и диаграмм - [[:Категория:Diagrams]], использовать язык dgl и [[mermaid]] встраивать диаграммы алгоритмов в вики страницы см. [[Graphviz]]&lt;br /&gt;
| Представление алгоритмов в виде диаграмм, [[псевдокод]]а, кода на различных языках программирования &lt;br /&gt;
| Создать диаграмму [[алгоритм]]а, представить реализацию алгоритма на языке высокого уровня&lt;br /&gt;
| Пример &lt;br /&gt;
* [[:Category:Diagrams]]&lt;br /&gt;
* [[Flowchart]]&lt;br /&gt;
|- &lt;br /&gt;
| Умеет создавать собственные блоки (команды и процедуры с входными параметрами) в среде [[Snap!]] (создавать [[Функция|функции]] с использованием различных типов данных))&lt;br /&gt;
| Основные характеристики изучаемого алгоритмического языка&lt;br /&gt;
| Процедуры видоизменения данных в среде [[Snap!]]&lt;br /&gt;
| Примеры видоизменения данных в [[Snap!]], [[Как получить список случайных значений|Получить список значений]]&lt;br /&gt;
|- &lt;br /&gt;
| оценивать и сравнивать эффективность алгоритмов, вычислительную сложность алгоритмов	&lt;br /&gt;
| [[Алгоритм]]ы сортировки и поиска&lt;br /&gt;
| Сравнить эффективность выполнения процедур над данными&lt;br /&gt;
| Готовые [[датасет]]ы из категории	[[:Category:Dataset]]. [[Сортировка вставками]], [[Быстрая сортировка]]&lt;br /&gt;
|- &lt;br /&gt;
| использовать рекурсию в командах и процедурах, использовать рекурсию при создании собственных функций&lt;br /&gt;
| Рекурсия&lt;br /&gt;
| Создать собственные команды и процедуры, в которых используется рекурсия&lt;br /&gt;
| [[Рекурсия]], [[Фрактал]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Напоминание по работа в вики среде ==&lt;br /&gt;
; [[Мастер-класс «Совместная работа со знаниями на поле цифровой дидактики»]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
[[Category:РУП]]&lt;/div&gt;</summary>
		<author><name>KuptsovaID</name></author>
	</entry>
	<entry>
		<id>http://digida.mgpu.ru/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:KuptsovaID/%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B_%D0%B8_%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%82%D1%83%D1%80%D1%8B_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85&amp;diff=14039</id>
		<title>Участник:KuptsovaID/Алгоритмы и структуры данных</title>
		<link rel="alternate" type="text/html" href="http://digida.mgpu.ru/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:KuptsovaID/%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B_%D0%B8_%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%82%D1%83%D1%80%D1%8B_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85&amp;diff=14039"/>
		<updated>2023-12-04T11:08:57Z</updated>

		<summary type="html">&lt;p&gt;KuptsovaID: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Это для курса &amp;quot;Алгоритмы и структуры данных&amp;quot;&lt;br /&gt;
&lt;br /&gt;
{{#ask:[[Как сделать сортировку в массиве?]] | format=embedded | embedonly=yes}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Уметь&lt;br /&gt;
== обращаться к внешним и внутренним дым из среды Semantic MediaWiki, уметь использовать различные типы данных внутри Semantic MediaWiki ==&lt;br /&gt;
; Примеры задач на внутренние данные&lt;br /&gt;
* Посчитай внутри вики количество участников из МГПУ [[:Category:UserMGPU]]?&lt;br /&gt;
&lt;br /&gt;
{{#ask: [[Category:UserMGPU]] }}&lt;br /&gt;
&lt;br /&gt;
* Посчитай число участников, которые указали, что используют язык Scratch?&lt;br /&gt;
* Собери таблицу с описанием писателей [[Category:Person]], которые оказали влияние на язык [[R]]&lt;br /&gt;
* Собери тайм-лайн с языками, ведущими свое происхождение от языка [[Prolog]]&lt;br /&gt;
* &#039;&#039;&#039; Предложи собственную задачу на использование внутренних данных в среде Semantic MediaWiki &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
; Примеры задач на внешние данные&lt;br /&gt;
* Размести на странице выборку из датасета, который уже есть в категории [[:Category:Dataset]]&lt;br /&gt;
* &#039;&#039;&#039; Добавь новый датасет в [[:Category:Dataset]] и предложи вариант его использования &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; Учебная группа, работающая с курсом Алгоритмы и структуры данных данных в в 2023 году -  [[:Категория:ПБД221м|ПБД221м]]&lt;br /&gt;
* Учебная группа, работающая с курсом Алгоритмы и структуры данных данных в в 2022 году -  [[:Категория:ПБД211М|ПБД211М]]&lt;br /&gt;
&lt;br /&gt;
; Особенность курса - [[Active Essay]]  смотрим и тестируем на поле &lt;br /&gt;
&lt;br /&gt;
&amp;lt;scratchblocks&amp;gt;&lt;br /&gt;
when [up arrow v] key pressed&lt;br /&gt;
point in direction (0)&lt;br /&gt;
move (10) steps&lt;br /&gt;
when [down arrow v] key pressed&lt;br /&gt;
point in direction (180)&lt;br /&gt;
move (10) steps&lt;br /&gt;
when [right arrow v] key pressed&lt;br /&gt;
point in direction (90)&lt;br /&gt;
move (10) steps&lt;br /&gt;
when [left arrow v] key pressed&lt;br /&gt;
point in direction (-90)&lt;br /&gt;
move (10) steps&amp;lt;/scratchblocks&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: И смотрим на то, как они выполняются&lt;br /&gt;
&amp;lt;scratch project=&amp;quot;210120481&amp;quot; /&amp;gt;&lt;br /&gt;
: или в [[Snap!]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;snap project=&amp;quot;Flocking_Snap&amp;quot; user=&amp;quot;patarakin&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Цель, результаты освоения дисциплины ==&lt;br /&gt;
В результате изучения данной дисциплины студенты будут иметь представление о современных алгоритмических языках, о способах записи [[алгоритм]]ов и конструирования программ, основах объектного подхода в программировании&lt;br /&gt;
; Цель &lt;br /&gt;
: теоретические знания и практический опыт в области основ алгоритмизации задач, классификации языков программирования, типов данных, структур данных, взаимосвязь алгоритмов и структур данных, особенностей реализации алгоритмов и типов данных в языках блочного программирования [[Scratch]], [[Snap!]], [[GP]]&lt;br /&gt;
&lt;br /&gt;
; Знать:&lt;br /&gt;
# Основные понятия, связанные с миром алгоритмов и структур данных См.  [[:Категория:Понятие]]&lt;br /&gt;
# основы алгоритмизации задач, структуры данных;&lt;br /&gt;
# типы данных, структуры данных;&lt;br /&gt;
# методы и алгоритмы поиска и сортировки данных;&lt;br /&gt;
; Уметь &lt;br /&gt;
# обращаться к внешним и внутренним данным из среды [[Semantic MediaWiki]], уметь использовать различные типы данных внутри Semantic MediaWiki см. [[:Категория:Dataset]]&lt;br /&gt;
# обмениваться проектами и блоками программ в [[Snap!]]&lt;br /&gt;
# сравнивать и объединять статьи о языках программирования [[Taxonomic_sandbox]]&lt;br /&gt;
# импортировать и экспортировать данные в среду визуального программирования [[Snap!]]&lt;br /&gt;
# проектировать и программировать  линейные и  разветвляющиеся структуры алгоритмов;&lt;br /&gt;
# планировать процесс реализации алгоритма при помощи псевдокода и диаграмм - [[:Категория:Diagrams]]&lt;br /&gt;
# использовать язык [[graphviz]], [[mermaid]], [[PlantUML]] встраивать диаграммы алгоритмов в вики страницы см. Graphviz + [[:Категория:Diagrams]] - &lt;br /&gt;
# представлять алгоритмы на страницах вики в виде диаграмм, псевдокода, кода на различных языках программирования&lt;br /&gt;
# создавать собственные блоки (команды и процедуры с входными параметрами) в среде Snap! (создавать функции с использованием различных типов данных))&lt;br /&gt;
# оценивать и сравнивать эффективность алгоритмов, вычислительную сложность алгоритмов&lt;br /&gt;
# использовать рекурсию в командах и процедурах, использовать рекурсию при создании собственных функций&lt;br /&gt;
# использовать объекты первого класса и лямбда исчисления&lt;br /&gt;
&lt;br /&gt;
== Содержание разделов дисциплины: ==&lt;br /&gt;
=== Введение. Основные понятия. Пространство для совместной деятельности ===&lt;br /&gt;
Основы алгоритмизации задач. Semantic MediaWiki как поле совместной деятельности. Типы данных  внутри Semantic MediaWiki. Обращение к внешним данным.&lt;br /&gt;
&lt;br /&gt;
=== История языков программирования и обучающих языков ===&lt;br /&gt;
Современные алгоритмические языки. Вычислительное мышление и вычислительное участие.&lt;br /&gt;
&lt;br /&gt;
=== Представление алгоритмов в виде диаграмм, псевдокода, кода на различных языках программирования ===&lt;br /&gt;
# проектировать и программировать линейные и разветвляющиеся структуры алгоритмов;&lt;br /&gt;
# планировать процесс реализации алгоритма при помощи псевдокода и диаграмм - [[:Категория:Diagrams]] - например, [[Binary search (diagram)]]&lt;br /&gt;
# использовать язык dgl и [[mermaid]] встраивать диаграммы алгоритмов в вики страницы см. [[Graphviz]]&lt;br /&gt;
&lt;br /&gt;
http://digida.mgpu.ru/images/diagrams/Diagrams_37be5e92fa212a080558fc26c16ac9cb.png&lt;br /&gt;
&lt;br /&gt;
{{#mermaid:graph TB&lt;br /&gt;
A[1-6] --&amp;gt; |Да| B[1-3] &lt;br /&gt;
A --&amp;gt; |Нет| C[7-9] &lt;br /&gt;
&lt;br /&gt;
B --&amp;gt; |Да| D[1-2] &lt;br /&gt;
B --&amp;gt; |Нет| E[4-5] &lt;br /&gt;
&lt;br /&gt;
D --&amp;gt; |Да| 1&lt;br /&gt;
D --&amp;gt; |Нет| 3&lt;br /&gt;
1 --&amp;gt;  |Нет| 2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
E --&amp;gt; |Нет| 6&lt;br /&gt;
E --&amp;gt; |Да| 4&lt;br /&gt;
4 --&amp;gt;  |Нет| 5&lt;br /&gt;
&lt;br /&gt;
C --&amp;gt;|Да| F[7-8]  &lt;br /&gt;
C --&amp;gt;|Нет| G[10-11]  &lt;br /&gt;
&lt;br /&gt;
F --&amp;gt; |Да| 7&lt;br /&gt;
7 --&amp;gt; |Нет| 8 &lt;br /&gt;
&lt;br /&gt;
F --&amp;gt; |Нет| 9&lt;br /&gt;
&lt;br /&gt;
G --&amp;gt; | Да | 10&lt;br /&gt;
10 --&amp;gt; | Нет| 11&lt;br /&gt;
G --&amp;gt; | Нет| 12&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===  Основные характеристики изучаемого алгоритмического языка ===&lt;br /&gt;
Типы данных. Константы. Переменные. Выражения. Арифметические и логические выражения. &lt;br /&gt;
&lt;br /&gt;
[[Файл:Snap data types2.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Спрайты, данные, процедуры как объекты первого класса. Структуры данных. Импорт и экспорт данных.&lt;br /&gt;
Список случайных чисел из  %сколько от %min до %max&lt;br /&gt;
[[Файл:Table sprite.png|800px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===  Структуры данных ===&lt;br /&gt;
&lt;br /&gt;
[[Файл:Collab dataset JSON.png]]&lt;br /&gt;
&lt;br /&gt;
* [[Массив]]ы и связные [[список|списки]]&lt;br /&gt;
* Стеки и очереди&lt;br /&gt;
* Деревья (бинарные, сбалансированные, двоичные деревья поиска)&lt;br /&gt;
* Графы (ориентированные и неориентированные, поиск в глубину и ширину)&lt;br /&gt;
&lt;br /&gt;
=== Алгоритмы сортировки и поиска === &lt;br /&gt;
Сравнение эффективности и вычислительной сложности алгоритмов&lt;br /&gt;
* [[Временная сложность алгоритма]]&lt;br /&gt;
&lt;br /&gt;
=== Рекурсия ===&lt;br /&gt;
* [[Рекурсия]]&lt;br /&gt;
* [[Фрактал]]&lt;br /&gt;
&lt;br /&gt;
== Литература ==&lt;br /&gt;
=== Основная литература  ===&lt;br /&gt;
&lt;br /&gt;
# [[Стили и методы программирования]], &lt;br /&gt;
# [[Computer Science with Snap! by Examples]], &lt;br /&gt;
# [[Initiation to Algorithmics with Scratch]]&lt;br /&gt;
&lt;br /&gt;
=== Дополнительная литература  ===&lt;br /&gt;
https://snap.berkeley.edu/snap/help/SnapManual.pdf - Руководство по Snap!&lt;br /&gt;
&lt;br /&gt;
== Критерии оценки по дисциплине (2022 - 2023) ==&lt;br /&gt;
&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|-&lt;br /&gt;
!{{Hl2}}| Образовательный результат&lt;br /&gt;
!{{Hl2}}| Тема&lt;br /&gt;
!{{Hl2}}| Задание&lt;br /&gt;
!{{Hl2}}| Пример&lt;br /&gt;
|- &lt;br /&gt;
| Знает понятия мира алгоритмов и структур данных	&lt;br /&gt;
|  Введение. Основные понятия. Пространство для совместной деятельности&lt;br /&gt;
| Использовать различные типы данных внутри Semantic MediaWiki, включить внешние данные в состав статьи&lt;br /&gt;
| Категория понятий - [[:Category:Понятие]]&lt;br /&gt;
В категории статей о датасетах	[[:Category:Dataset]]&lt;br /&gt;
|- &lt;br /&gt;
| Умеет сравнивать и объединять статьи о языках программирования&lt;br /&gt;
| История языков программирования и обучающих языков&lt;br /&gt;
| Редактировать, дополнять и объединять статьи о языках программирования&lt;br /&gt;
| [[:Category:Язык программирования]], [[Taxonomic_sandbox]]&lt;br /&gt;
|- &lt;br /&gt;
| &lt;br /&gt;
Умеет проектировать и программировать линейные и разветвляющиеся структуры алгоритмов, планировать процесс реализации алгоритма при помощи псевдокода и диаграмм - [[:Категория:Diagrams]], использовать язык dgl и [[mermaid]] встраивать диаграммы алгоритмов в вики страницы см. [[Graphviz]]&lt;br /&gt;
| Представление алгоритмов в виде диаграмм, [[псевдокод]]а, кода на различных языках программирования &lt;br /&gt;
| Создать диаграмму [[алгоритм]]а, представить реализацию алгоритма на языке высокого уровня&lt;br /&gt;
| Пример &lt;br /&gt;
* [[:Category:Diagrams]]&lt;br /&gt;
* [[Flowchart]]&lt;br /&gt;
|- &lt;br /&gt;
| Умеет создавать собственные блоки (команды и процедуры с входными параметрами) в среде [[Snap!]] (создавать [[Функция|функции]] с использованием различных типов данных))&lt;br /&gt;
| Основные характеристики изучаемого алгоритмического языка&lt;br /&gt;
| Процедуры видоизменения данных в среде [[Snap!]]&lt;br /&gt;
| Примеры видоизменения данных в [[Snap!]], [[Как получить список случайных значений|Получить список значений]]&lt;br /&gt;
|- &lt;br /&gt;
| оценивать и сравнивать эффективность алгоритмов, вычислительную сложность алгоритмов	&lt;br /&gt;
| [[Алгоритм]]ы сортировки и поиска&lt;br /&gt;
| Сравнить эффективность выполнения процедур над данными&lt;br /&gt;
| Готовые [[датасет]]ы из категории	[[:Category:Dataset]]. [[Сортировка вставками]], [[Быстрая сортировка]]&lt;br /&gt;
|- &lt;br /&gt;
| использовать рекурсию в командах и процедурах, использовать рекурсию при создании собственных функций&lt;br /&gt;
| Рекурсия&lt;br /&gt;
| Создать собственные команды и процедуры, в которых используется рекурсия&lt;br /&gt;
| [[Рекурсия]], [[Фрактал]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Напоминание по работа в вики среде ==&lt;br /&gt;
; [[Мастер-класс «Совместная работа со знаниями на поле цифровой дидактики»]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
[[Category:РУП]]&lt;/div&gt;</summary>
		<author><name>KuptsovaID</name></author>
	</entry>
	<entry>
		<id>http://digida.mgpu.ru/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:KuptsovaID/%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B_%D0%B8_%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%82%D1%83%D1%80%D1%8B_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85&amp;diff=14038</id>
		<title>Участник:KuptsovaID/Алгоритмы и структуры данных</title>
		<link rel="alternate" type="text/html" href="http://digida.mgpu.ru/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:KuptsovaID/%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B_%D0%B8_%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%82%D1%83%D1%80%D1%8B_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85&amp;diff=14038"/>
		<updated>2023-12-04T11:06:51Z</updated>

		<summary type="html">&lt;p&gt;KuptsovaID: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Это для курса &amp;quot;Алгоритмы и структуры данных&amp;quot;&lt;br /&gt;
&lt;br /&gt;
{{#ask:[[Как сделать сортировку в массиве?]] | format=embedded | embedonly=yes}}&lt;br /&gt;
&lt;br /&gt;
{{Curriculum&lt;br /&gt;
Цель&lt;br /&gt;
* теоретические знания и практический опыт в области основ алгоритмизации задач, классификации языков программирования, типов данных, структур данных, взаимосвязь алгоритмов и структур данных, особенностей реализации алгоритмов и типов данных в языках блочного программирования Scratch, Snap!, GP&lt;br /&gt;
; Знать&lt;br /&gt;
: Основные понятия, связанные с миром алгоритмов и структур данных &lt;br /&gt;
: основы алгоритмизации задач, структуры данных;&lt;br /&gt;
: типы данных, структуры данных;&lt;br /&gt;
: методы и алгоритмы поиска и сортировки данных;&lt;br /&gt;
; Уметь&lt;br /&gt;
== обращаться к внешним и внутренним дым из среды Semantic MediaWiki, уметь использовать различные типы данных внутри Semantic MediaWiki ==&lt;br /&gt;
; Примеры задач на внутренние данные&lt;br /&gt;
* Посчитай внутри вики количество участников из МГПУ [[:Category:UserMGPU]]?&lt;br /&gt;
&lt;br /&gt;
{{#ask: [[Category:UserMGPU]] }}&lt;br /&gt;
&lt;br /&gt;
* Посчитай число участников, которые указали, что используют язык Scratch?&lt;br /&gt;
* Собери таблицу с описанием писателей [[Category:Person]], которые оказали влияние на язык [[R]]&lt;br /&gt;
* Собери тайм-лайн с языками, ведущими свое происхождение от языка [[Prolog]]&lt;br /&gt;
* &#039;&#039;&#039; Предложи собственную задачу на использование внутренних данных в среде Semantic MediaWiki &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
; Примеры задач на внешние данные&lt;br /&gt;
* Размести на странице выборку из датасета, который уже есть в категории [[:Category:Dataset]]&lt;br /&gt;
* &#039;&#039;&#039; Добавь новый датасет в [[:Category:Dataset]] и предложи вариант его использования &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* обмениваться проектами и блоками программ в Snap!&lt;br /&gt;
* сравнивать и объединять статьи о языках программирования &lt;br /&gt;
* импортировать и экспортировать данные в среду визуального программирования Snap!&lt;br /&gt;
* проектировать и программировать линейные и разветвляющиеся структуры алгоритмов;&lt;br /&gt;
* планировать процесс реализации алгоритма при помощи псевдокода и диаграмм &lt;br /&gt;
* использовать язык &#039;&#039;&#039;dgl&#039;&#039;&#039; , mermaid, &#039;&#039;&#039;PlantUML&#039;&#039;&#039; встраивать диаграммы алгоритмов в вики страницы &lt;br /&gt;
* представлять алгоритмы на страницах вики в виде диаграмм, псевдокода, кода на различных языках программирования&lt;br /&gt;
* создавать собственные блоки (команды и процедуры с входными параметрами) в среде Snap! (создавать функции с использованием различных типов данных))&lt;br /&gt;
* оценивать и сравнивать эффективность алгоритмов, вычислительную сложность алгоритмов&lt;br /&gt;
* использовать рекурсию в командах и процедурах, использовать рекурсию при создании собственных функций&lt;br /&gt;
* использовать объекты первого класса и лямбда исчисления.&lt;br /&gt;
|Description=Содержание&lt;br /&gt;
; 1. Введение в алгоритмы и структуры данных&lt;br /&gt;
* Определение алгоритма и структуры данных&lt;br /&gt;
; 2. Основные алгоритмы&lt;br /&gt;
* Линейный поиск&lt;br /&gt;
* Бинарный поиск&lt;br /&gt;
* Сортировка (вставками, выбором, слиянием, быстрая сортировка)&lt;br /&gt;
* Рекурсия и рекурсивные алгоритмы&lt;br /&gt;
; 3. Структуры данных&lt;br /&gt;
* Массивы и связные списки&lt;br /&gt;
* Стеки и очереди&lt;br /&gt;
* Деревья (бинарные, сбалансированные, двоичные деревья поиска)&lt;br /&gt;
* Графы (ориентированные и неориентированные, поиск в глубину и ширину)&lt;br /&gt;
|Environment=Snap!, R, RStudio, Lua, Python&lt;br /&gt;
|Book=Стили и методы программирования, Computer Science with Snap! by Examples, Initiation to Algorithmics with Scratch&lt;br /&gt;
}}&lt;br /&gt;
; Учебная группа, работающая с курсом Алгоритмы и структуры данных данных в в 2023 году -  [[:Категория:ПБД221м|ПБД221м]]&lt;br /&gt;
* Учебная группа, работающая с курсом Алгоритмы и структуры данных данных в в 2022 году -  [[:Категория:ПБД211М|ПБД211М]]&lt;br /&gt;
&lt;br /&gt;
; Особенность курса - [[Active Essay]]  смотрим и тестируем на поле &lt;br /&gt;
&lt;br /&gt;
&amp;lt;scratchblocks&amp;gt;&lt;br /&gt;
when [up arrow v] key pressed&lt;br /&gt;
point in direction (0)&lt;br /&gt;
move (10) steps&lt;br /&gt;
when [down arrow v] key pressed&lt;br /&gt;
point in direction (180)&lt;br /&gt;
move (10) steps&lt;br /&gt;
when [right arrow v] key pressed&lt;br /&gt;
point in direction (90)&lt;br /&gt;
move (10) steps&lt;br /&gt;
when [left arrow v] key pressed&lt;br /&gt;
point in direction (-90)&lt;br /&gt;
move (10) steps&amp;lt;/scratchblocks&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: И смотрим на то, как они выполняются&lt;br /&gt;
&amp;lt;scratch project=&amp;quot;210120481&amp;quot; /&amp;gt;&lt;br /&gt;
: или в [[Snap!]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;snap project=&amp;quot;Flocking_Snap&amp;quot; user=&amp;quot;patarakin&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Цель, результаты освоения дисциплины ==&lt;br /&gt;
В результате изучения данной дисциплины студенты будут иметь представление о современных алгоритмических языках, о способах записи [[алгоритм]]ов и конструирования программ, основах объектного подхода в программировании&lt;br /&gt;
; Цель &lt;br /&gt;
: теоретические знания и практический опыт в области основ алгоритмизации задач, классификации языков программирования, типов данных, структур данных, взаимосвязь алгоритмов и структур данных, особенностей реализации алгоритмов и типов данных в языках блочного программирования [[Scratch]], [[Snap!]], [[GP]]&lt;br /&gt;
&lt;br /&gt;
; Знать:&lt;br /&gt;
# Основные понятия, связанные с миром алгоритмов и структур данных См.  [[:Категория:Понятие]]&lt;br /&gt;
# основы алгоритмизации задач, структуры данных;&lt;br /&gt;
# типы данных, структуры данных;&lt;br /&gt;
# методы и алгоритмы поиска и сортировки данных;&lt;br /&gt;
; Уметь &lt;br /&gt;
# обращаться к внешним и внутренним данным из среды [[Semantic MediaWiki]], уметь использовать различные типы данных внутри Semantic MediaWiki см. [[:Категория:Dataset]]&lt;br /&gt;
# обмениваться проектами и блоками программ в [[Snap!]]&lt;br /&gt;
# сравнивать и объединять статьи о языках программирования [[Taxonomic_sandbox]]&lt;br /&gt;
# импортировать и экспортировать данные в среду визуального программирования [[Snap!]]&lt;br /&gt;
# проектировать и программировать  линейные и  разветвляющиеся структуры алгоритмов;&lt;br /&gt;
# планировать процесс реализации алгоритма при помощи псевдокода и диаграмм - [[:Категория:Diagrams]]&lt;br /&gt;
# использовать язык [[graphviz]], [[mermaid]], [[PlantUML]] встраивать диаграммы алгоритмов в вики страницы см. Graphviz + [[:Категория:Diagrams]] - &lt;br /&gt;
# представлять алгоритмы на страницах вики в виде диаграмм, псевдокода, кода на различных языках программирования&lt;br /&gt;
# создавать собственные блоки (команды и процедуры с входными параметрами) в среде Snap! (создавать функции с использованием различных типов данных))&lt;br /&gt;
# оценивать и сравнивать эффективность алгоритмов, вычислительную сложность алгоритмов&lt;br /&gt;
# использовать рекурсию в командах и процедурах, использовать рекурсию при создании собственных функций&lt;br /&gt;
# использовать объекты первого класса и лямбда исчисления&lt;br /&gt;
&lt;br /&gt;
== Содержание разделов дисциплины: ==&lt;br /&gt;
=== Введение. Основные понятия. Пространство для совместной деятельности ===&lt;br /&gt;
Основы алгоритмизации задач. Semantic MediaWiki как поле совместной деятельности. Типы данных  внутри Semantic MediaWiki. Обращение к внешним данным.&lt;br /&gt;
&lt;br /&gt;
=== История языков программирования и обучающих языков ===&lt;br /&gt;
Современные алгоритмические языки. Вычислительное мышление и вычислительное участие.&lt;br /&gt;
&lt;br /&gt;
=== Представление алгоритмов в виде диаграмм, псевдокода, кода на различных языках программирования ===&lt;br /&gt;
# проектировать и программировать линейные и разветвляющиеся структуры алгоритмов;&lt;br /&gt;
# планировать процесс реализации алгоритма при помощи псевдокода и диаграмм - [[:Категория:Diagrams]] - например, [[Binary search (diagram)]]&lt;br /&gt;
# использовать язык dgl и [[mermaid]] встраивать диаграммы алгоритмов в вики страницы см. [[Graphviz]]&lt;br /&gt;
&lt;br /&gt;
http://digida.mgpu.ru/images/diagrams/Diagrams_37be5e92fa212a080558fc26c16ac9cb.png&lt;br /&gt;
&lt;br /&gt;
{{#mermaid:graph TB&lt;br /&gt;
A[1-6] --&amp;gt; |Да| B[1-3] &lt;br /&gt;
A --&amp;gt; |Нет| C[7-9] &lt;br /&gt;
&lt;br /&gt;
B --&amp;gt; |Да| D[1-2] &lt;br /&gt;
B --&amp;gt; |Нет| E[4-5] &lt;br /&gt;
&lt;br /&gt;
D --&amp;gt; |Да| 1&lt;br /&gt;
D --&amp;gt; |Нет| 3&lt;br /&gt;
1 --&amp;gt;  |Нет| 2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
E --&amp;gt; |Нет| 6&lt;br /&gt;
E --&amp;gt; |Да| 4&lt;br /&gt;
4 --&amp;gt;  |Нет| 5&lt;br /&gt;
&lt;br /&gt;
C --&amp;gt;|Да| F[7-8]  &lt;br /&gt;
C --&amp;gt;|Нет| G[10-11]  &lt;br /&gt;
&lt;br /&gt;
F --&amp;gt; |Да| 7&lt;br /&gt;
7 --&amp;gt; |Нет| 8 &lt;br /&gt;
&lt;br /&gt;
F --&amp;gt; |Нет| 9&lt;br /&gt;
&lt;br /&gt;
G --&amp;gt; | Да | 10&lt;br /&gt;
10 --&amp;gt; | Нет| 11&lt;br /&gt;
G --&amp;gt; | Нет| 12&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===  Основные характеристики изучаемого алгоритмического языка ===&lt;br /&gt;
Типы данных. Константы. Переменные. Выражения. Арифметические и логические выражения. &lt;br /&gt;
&lt;br /&gt;
[[Файл:Snap data types2.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Спрайты, данные, процедуры как объекты первого класса. Структуры данных. Импорт и экспорт данных.&lt;br /&gt;
Список случайных чисел из  %сколько от %min до %max&lt;br /&gt;
[[Файл:Table sprite.png|800px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===  Структуры данных ===&lt;br /&gt;
&lt;br /&gt;
[[Файл:Collab dataset JSON.png]]&lt;br /&gt;
&lt;br /&gt;
* [[Массив]]ы и связные [[список|списки]]&lt;br /&gt;
* Стеки и очереди&lt;br /&gt;
* Деревья (бинарные, сбалансированные, двоичные деревья поиска)&lt;br /&gt;
* Графы (ориентированные и неориентированные, поиск в глубину и ширину)&lt;br /&gt;
&lt;br /&gt;
=== Алгоритмы сортировки и поиска === &lt;br /&gt;
Сравнение эффективности и вычислительной сложности алгоритмов&lt;br /&gt;
* [[Временная сложность алгоритма]]&lt;br /&gt;
&lt;br /&gt;
=== Рекурсия ===&lt;br /&gt;
* [[Рекурсия]]&lt;br /&gt;
* [[Фрактал]]&lt;br /&gt;
&lt;br /&gt;
== Литература ==&lt;br /&gt;
=== Основная литература  ===&lt;br /&gt;
&lt;br /&gt;
# [[Стили и методы программирования]], &lt;br /&gt;
# [[Computer Science with Snap! by Examples]], &lt;br /&gt;
# [[Initiation to Algorithmics with Scratch]]&lt;br /&gt;
&lt;br /&gt;
=== Дополнительная литература  ===&lt;br /&gt;
https://snap.berkeley.edu/snap/help/SnapManual.pdf - Руководство по Snap!&lt;br /&gt;
&lt;br /&gt;
== Критерии оценки по дисциплине (2022 - 2023) ==&lt;br /&gt;
&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|-&lt;br /&gt;
!{{Hl2}}| Образовательный результат&lt;br /&gt;
!{{Hl2}}| Тема&lt;br /&gt;
!{{Hl2}}| Задание&lt;br /&gt;
!{{Hl2}}| Пример&lt;br /&gt;
|- &lt;br /&gt;
| Знает понятия мира алгоритмов и структур данных	&lt;br /&gt;
|  Введение. Основные понятия. Пространство для совместной деятельности&lt;br /&gt;
| Использовать различные типы данных внутри Semantic MediaWiki, включить внешние данные в состав статьи&lt;br /&gt;
| Категория понятий - [[:Category:Понятие]]&lt;br /&gt;
В категории статей о датасетах	[[:Category:Dataset]]&lt;br /&gt;
|- &lt;br /&gt;
| Умеет сравнивать и объединять статьи о языках программирования&lt;br /&gt;
| История языков программирования и обучающих языков&lt;br /&gt;
| Редактировать, дополнять и объединять статьи о языках программирования&lt;br /&gt;
| [[:Category:Язык программирования]], [[Taxonomic_sandbox]]&lt;br /&gt;
|- &lt;br /&gt;
| &lt;br /&gt;
Умеет проектировать и программировать линейные и разветвляющиеся структуры алгоритмов, планировать процесс реализации алгоритма при помощи псевдокода и диаграмм - [[:Категория:Diagrams]], использовать язык dgl и [[mermaid]] встраивать диаграммы алгоритмов в вики страницы см. [[Graphviz]]&lt;br /&gt;
| Представление алгоритмов в виде диаграмм, [[псевдокод]]а, кода на различных языках программирования &lt;br /&gt;
| Создать диаграмму [[алгоритм]]а, представить реализацию алгоритма на языке высокого уровня&lt;br /&gt;
| Пример &lt;br /&gt;
* [[:Category:Diagrams]]&lt;br /&gt;
* [[Flowchart]]&lt;br /&gt;
|- &lt;br /&gt;
| Умеет создавать собственные блоки (команды и процедуры с входными параметрами) в среде [[Snap!]] (создавать [[Функция|функции]] с использованием различных типов данных))&lt;br /&gt;
| Основные характеристики изучаемого алгоритмического языка&lt;br /&gt;
| Процедуры видоизменения данных в среде [[Snap!]]&lt;br /&gt;
| Примеры видоизменения данных в [[Snap!]], [[Как получить список случайных значений|Получить список значений]]&lt;br /&gt;
|- &lt;br /&gt;
| оценивать и сравнивать эффективность алгоритмов, вычислительную сложность алгоритмов	&lt;br /&gt;
| [[Алгоритм]]ы сортировки и поиска&lt;br /&gt;
| Сравнить эффективность выполнения процедур над данными&lt;br /&gt;
| Готовые [[датасет]]ы из категории	[[:Category:Dataset]]. [[Сортировка вставками]], [[Быстрая сортировка]]&lt;br /&gt;
|- &lt;br /&gt;
| использовать рекурсию в командах и процедурах, использовать рекурсию при создании собственных функций&lt;br /&gt;
| Рекурсия&lt;br /&gt;
| Создать собственные команды и процедуры, в которых используется рекурсия&lt;br /&gt;
| [[Рекурсия]], [[Фрактал]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Напоминание по работа в вики среде ==&lt;br /&gt;
; [[Мастер-класс «Совместная работа со знаниями на поле цифровой дидактики»]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
[[Category:РУП]]&lt;/div&gt;</summary>
		<author><name>KuptsovaID</name></author>
	</entry>
	<entry>
		<id>http://digida.mgpu.ru/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:KuptsovaID/%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B_%D0%B8_%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%82%D1%83%D1%80%D1%8B_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85&amp;diff=14037</id>
		<title>Участник:KuptsovaID/Алгоритмы и структуры данных</title>
		<link rel="alternate" type="text/html" href="http://digida.mgpu.ru/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:KuptsovaID/%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B_%D0%B8_%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%82%D1%83%D1%80%D1%8B_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85&amp;diff=14037"/>
		<updated>2023-12-04T11:05:12Z</updated>

		<summary type="html">&lt;p&gt;KuptsovaID: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Это для курса &amp;quot;Алгоритмы и структуры данных&amp;quot;&lt;br /&gt;
&lt;br /&gt;
{{#ask:[[Как сделать сортировку в массиве?]] | format=embedded | embedonly=yes}}&lt;br /&gt;
&lt;br /&gt;
{{Curriculum&lt;br /&gt;
|Learning_outcomes=Цель&lt;br /&gt;
* теоретические знания и практический опыт в области основ алгоритмизации задач, классификации языков программирования, типов данных, структур данных, взаимосвязь алгоритмов и структур данных, особенностей реализации алгоритмов и типов данных в языках блочного программирования Scratch, Snap!, GP&lt;br /&gt;
; Знать&lt;br /&gt;
: Основные понятия, связанные с миром алгоритмов и структур данных &lt;br /&gt;
: основы алгоритмизации задач, структуры данных;&lt;br /&gt;
: типы данных, структуры данных;&lt;br /&gt;
: методы и алгоритмы поиска и сортировки данных;&lt;br /&gt;
; Уметь&lt;br /&gt;
== обращаться к внешним и внутренним дым из среды Semantic MediaWiki, уметь использовать различные типы данных внутри Semantic MediaWiki ==&lt;br /&gt;
; Примеры задач на внутренние данные&lt;br /&gt;
* Посчитай внутри вики количество участников из МГПУ [[:Category:UserMGPU]]?&lt;br /&gt;
&lt;br /&gt;
{{#ask: [[Category:UserMGPU]] }}&lt;br /&gt;
&lt;br /&gt;
* Посчитай число участников, которые указали, что используют язык Scratch?&lt;br /&gt;
* Собери таблицу с описанием писателей [[Category:Person]], которые оказали влияние на язык [[R]]&lt;br /&gt;
* Собери тайм-лайн с языками, ведущими свое происхождение от языка [[Prolog]]&lt;br /&gt;
* &#039;&#039;&#039; Предложи собственную задачу на использование внутренних данных в среде Semantic MediaWiki &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
; Примеры задач на внешние данные&lt;br /&gt;
* Размести на странице выборку из датасета, который уже есть в категории [[:Category:Dataset]]&lt;br /&gt;
* &#039;&#039;&#039; Добавь новый датасет в [[:Category:Dataset]] и предложи вариант его использования &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* обмениваться проектами и блоками программ в Snap!&lt;br /&gt;
* сравнивать и объединять статьи о языках программирования &lt;br /&gt;
* импортировать и экспортировать данные в среду визуального программирования Snap!&lt;br /&gt;
* проектировать и программировать линейные и разветвляющиеся структуры алгоритмов;&lt;br /&gt;
* планировать процесс реализации алгоритма при помощи псевдокода и диаграмм &lt;br /&gt;
* использовать язык &#039;&#039;&#039;dgl&#039;&#039;&#039; , mermaid, &#039;&#039;&#039;PlantUML&#039;&#039;&#039; встраивать диаграммы алгоритмов в вики страницы &lt;br /&gt;
* представлять алгоритмы на страницах вики в виде диаграмм, псевдокода, кода на различных языках программирования&lt;br /&gt;
* создавать собственные блоки (команды и процедуры с входными параметрами) в среде Snap! (создавать функции с использованием различных типов данных))&lt;br /&gt;
* оценивать и сравнивать эффективность алгоритмов, вычислительную сложность алгоритмов&lt;br /&gt;
* использовать рекурсию в командах и процедурах, использовать рекурсию при создании собственных функций&lt;br /&gt;
* использовать объекты первого класса и лямбда исчисления.&lt;br /&gt;
|Description=Содержание&lt;br /&gt;
; 1. Введение в алгоритмы и структуры данных&lt;br /&gt;
* Определение алгоритма и структуры данных&lt;br /&gt;
; 2. Основные алгоритмы&lt;br /&gt;
* Линейный поиск&lt;br /&gt;
* Бинарный поиск&lt;br /&gt;
* Сортировка (вставками, выбором, слиянием, быстрая сортировка)&lt;br /&gt;
* Рекурсия и рекурсивные алгоритмы&lt;br /&gt;
; 3. Структуры данных&lt;br /&gt;
* Массивы и связные списки&lt;br /&gt;
* Стеки и очереди&lt;br /&gt;
* Деревья (бинарные, сбалансированные, двоичные деревья поиска)&lt;br /&gt;
* Графы (ориентированные и неориентированные, поиск в глубину и ширину)&lt;br /&gt;
|Environment=Snap!, R, RStudio, Lua, Python&lt;br /&gt;
|Book=Стили и методы программирования, Computer Science with Snap! by Examples, Initiation to Algorithmics with Scratch&lt;br /&gt;
}}&lt;br /&gt;
; Учебная группа, работающая с курсом Алгоритмы и структуры данных данных в в 2023 году -  [[:Категория:ПБД221м|ПБД221м]]&lt;br /&gt;
* Учебная группа, работающая с курсом Алгоритмы и структуры данных данных в в 2022 году -  [[:Категория:ПБД211М|ПБД211М]]&lt;br /&gt;
&lt;br /&gt;
; Особенность курса - [[Active Essay]]  смотрим и тестируем на поле &lt;br /&gt;
&lt;br /&gt;
&amp;lt;scratchblocks&amp;gt;&lt;br /&gt;
when [up arrow v] key pressed&lt;br /&gt;
point in direction (0)&lt;br /&gt;
move (10) steps&lt;br /&gt;
when [down arrow v] key pressed&lt;br /&gt;
point in direction (180)&lt;br /&gt;
move (10) steps&lt;br /&gt;
when [right arrow v] key pressed&lt;br /&gt;
point in direction (90)&lt;br /&gt;
move (10) steps&lt;br /&gt;
when [left arrow v] key pressed&lt;br /&gt;
point in direction (-90)&lt;br /&gt;
move (10) steps&amp;lt;/scratchblocks&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: И смотрим на то, как они выполняются&lt;br /&gt;
&amp;lt;scratch project=&amp;quot;210120481&amp;quot; /&amp;gt;&lt;br /&gt;
: или в [[Snap!]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;snap project=&amp;quot;Flocking_Snap&amp;quot; user=&amp;quot;patarakin&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Цель, результаты освоения дисциплины ==&lt;br /&gt;
В результате изучения данной дисциплины студенты будут иметь представление о современных алгоритмических языках, о способах записи [[алгоритм]]ов и конструирования программ, основах объектного подхода в программировании&lt;br /&gt;
; Цель &lt;br /&gt;
: теоретические знания и практический опыт в области основ алгоритмизации задач, классификации языков программирования, типов данных, структур данных, взаимосвязь алгоритмов и структур данных, особенностей реализации алгоритмов и типов данных в языках блочного программирования [[Scratch]], [[Snap!]], [[GP]]&lt;br /&gt;
&lt;br /&gt;
; Знать:&lt;br /&gt;
# Основные понятия, связанные с миром алгоритмов и структур данных См.  [[:Категория:Понятие]]&lt;br /&gt;
# основы алгоритмизации задач, структуры данных;&lt;br /&gt;
# типы данных, структуры данных;&lt;br /&gt;
# методы и алгоритмы поиска и сортировки данных;&lt;br /&gt;
; Уметь &lt;br /&gt;
# обращаться к внешним и внутренним данным из среды [[Semantic MediaWiki]], уметь использовать различные типы данных внутри Semantic MediaWiki см. [[:Категория:Dataset]]&lt;br /&gt;
# обмениваться проектами и блоками программ в [[Snap!]]&lt;br /&gt;
# сравнивать и объединять статьи о языках программирования [[Taxonomic_sandbox]]&lt;br /&gt;
# импортировать и экспортировать данные в среду визуального программирования [[Snap!]]&lt;br /&gt;
# проектировать и программировать  линейные и  разветвляющиеся структуры алгоритмов;&lt;br /&gt;
# планировать процесс реализации алгоритма при помощи псевдокода и диаграмм - [[:Категория:Diagrams]]&lt;br /&gt;
# использовать язык [[graphviz]], [[mermaid]], [[PlantUML]] встраивать диаграммы алгоритмов в вики страницы см. Graphviz + [[:Категория:Diagrams]] - &lt;br /&gt;
# представлять алгоритмы на страницах вики в виде диаграмм, псевдокода, кода на различных языках программирования&lt;br /&gt;
# создавать собственные блоки (команды и процедуры с входными параметрами) в среде Snap! (создавать функции с использованием различных типов данных))&lt;br /&gt;
# оценивать и сравнивать эффективность алгоритмов, вычислительную сложность алгоритмов&lt;br /&gt;
# использовать рекурсию в командах и процедурах, использовать рекурсию при создании собственных функций&lt;br /&gt;
# использовать объекты первого класса и лямбда исчисления&lt;br /&gt;
&lt;br /&gt;
== Содержание разделов дисциплины: ==&lt;br /&gt;
=== Введение. Основные понятия. Пространство для совместной деятельности ===&lt;br /&gt;
Основы алгоритмизации задач. Semantic MediaWiki как поле совместной деятельности. Типы данных  внутри Semantic MediaWiki. Обращение к внешним данным.&lt;br /&gt;
&lt;br /&gt;
=== История языков программирования и обучающих языков ===&lt;br /&gt;
Современные алгоритмические языки. Вычислительное мышление и вычислительное участие.&lt;br /&gt;
&lt;br /&gt;
=== Представление алгоритмов в виде диаграмм, псевдокода, кода на различных языках программирования ===&lt;br /&gt;
# проектировать и программировать линейные и разветвляющиеся структуры алгоритмов;&lt;br /&gt;
# планировать процесс реализации алгоритма при помощи псевдокода и диаграмм - [[:Категория:Diagrams]] - например, [[Binary search (diagram)]]&lt;br /&gt;
# использовать язык dgl и [[mermaid]] встраивать диаграммы алгоритмов в вики страницы см. [[Graphviz]]&lt;br /&gt;
&lt;br /&gt;
http://digida.mgpu.ru/images/diagrams/Diagrams_37be5e92fa212a080558fc26c16ac9cb.png&lt;br /&gt;
&lt;br /&gt;
{{#mermaid:graph TB&lt;br /&gt;
A[1-6] --&amp;gt; |Да| B[1-3] &lt;br /&gt;
A --&amp;gt; |Нет| C[7-9] &lt;br /&gt;
&lt;br /&gt;
B --&amp;gt; |Да| D[1-2] &lt;br /&gt;
B --&amp;gt; |Нет| E[4-5] &lt;br /&gt;
&lt;br /&gt;
D --&amp;gt; |Да| 1&lt;br /&gt;
D --&amp;gt; |Нет| 3&lt;br /&gt;
1 --&amp;gt;  |Нет| 2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
E --&amp;gt; |Нет| 6&lt;br /&gt;
E --&amp;gt; |Да| 4&lt;br /&gt;
4 --&amp;gt;  |Нет| 5&lt;br /&gt;
&lt;br /&gt;
C --&amp;gt;|Да| F[7-8]  &lt;br /&gt;
C --&amp;gt;|Нет| G[10-11]  &lt;br /&gt;
&lt;br /&gt;
F --&amp;gt; |Да| 7&lt;br /&gt;
7 --&amp;gt; |Нет| 8 &lt;br /&gt;
&lt;br /&gt;
F --&amp;gt; |Нет| 9&lt;br /&gt;
&lt;br /&gt;
G --&amp;gt; | Да | 10&lt;br /&gt;
10 --&amp;gt; | Нет| 11&lt;br /&gt;
G --&amp;gt; | Нет| 12&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===  Основные характеристики изучаемого алгоритмического языка ===&lt;br /&gt;
Типы данных. Константы. Переменные. Выражения. Арифметические и логические выражения. &lt;br /&gt;
&lt;br /&gt;
[[Файл:Snap data types2.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Спрайты, данные, процедуры как объекты первого класса. Структуры данных. Импорт и экспорт данных.&lt;br /&gt;
Список случайных чисел из  %сколько от %min до %max&lt;br /&gt;
[[Файл:Table sprite.png|800px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===  Структуры данных ===&lt;br /&gt;
&lt;br /&gt;
[[Файл:Collab dataset JSON.png]]&lt;br /&gt;
&lt;br /&gt;
* [[Массив]]ы и связные [[список|списки]]&lt;br /&gt;
* Стеки и очереди&lt;br /&gt;
* Деревья (бинарные, сбалансированные, двоичные деревья поиска)&lt;br /&gt;
* Графы (ориентированные и неориентированные, поиск в глубину и ширину)&lt;br /&gt;
&lt;br /&gt;
=== Алгоритмы сортировки и поиска === &lt;br /&gt;
Сравнение эффективности и вычислительной сложности алгоритмов&lt;br /&gt;
* [[Временная сложность алгоритма]]&lt;br /&gt;
&lt;br /&gt;
=== Рекурсия ===&lt;br /&gt;
* [[Рекурсия]]&lt;br /&gt;
* [[Фрактал]]&lt;br /&gt;
&lt;br /&gt;
== Литература ==&lt;br /&gt;
=== Основная литература  ===&lt;br /&gt;
&lt;br /&gt;
# [[Стили и методы программирования]], &lt;br /&gt;
# [[Computer Science with Snap! by Examples]], &lt;br /&gt;
# [[Initiation to Algorithmics with Scratch]]&lt;br /&gt;
&lt;br /&gt;
=== Дополнительная литература  ===&lt;br /&gt;
https://snap.berkeley.edu/snap/help/SnapManual.pdf - Руководство по Snap!&lt;br /&gt;
&lt;br /&gt;
== Критерии оценки по дисциплине (2022 - 2023) ==&lt;br /&gt;
&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|-&lt;br /&gt;
!{{Hl2}}| Образовательный результат&lt;br /&gt;
!{{Hl2}}| Тема&lt;br /&gt;
!{{Hl2}}| Задание&lt;br /&gt;
!{{Hl2}}| Пример&lt;br /&gt;
|- &lt;br /&gt;
| Знает понятия мира алгоритмов и структур данных	&lt;br /&gt;
|  Введение. Основные понятия. Пространство для совместной деятельности&lt;br /&gt;
| Использовать различные типы данных внутри Semantic MediaWiki, включить внешние данные в состав статьи&lt;br /&gt;
| Категория понятий - [[:Category:Понятие]]&lt;br /&gt;
В категории статей о датасетах	[[:Category:Dataset]]&lt;br /&gt;
|- &lt;br /&gt;
| Умеет сравнивать и объединять статьи о языках программирования&lt;br /&gt;
| История языков программирования и обучающих языков&lt;br /&gt;
| Редактировать, дополнять и объединять статьи о языках программирования&lt;br /&gt;
| [[:Category:Язык программирования]], [[Taxonomic_sandbox]]&lt;br /&gt;
|- &lt;br /&gt;
| &lt;br /&gt;
Умеет проектировать и программировать линейные и разветвляющиеся структуры алгоритмов, планировать процесс реализации алгоритма при помощи псевдокода и диаграмм - [[:Категория:Diagrams]], использовать язык dgl и [[mermaid]] встраивать диаграммы алгоритмов в вики страницы см. [[Graphviz]]&lt;br /&gt;
| Представление алгоритмов в виде диаграмм, [[псевдокод]]а, кода на различных языках программирования &lt;br /&gt;
| Создать диаграмму [[алгоритм]]а, представить реализацию алгоритма на языке высокого уровня&lt;br /&gt;
| Пример &lt;br /&gt;
* [[:Category:Diagrams]]&lt;br /&gt;
* [[Flowchart]]&lt;br /&gt;
|- &lt;br /&gt;
| Умеет создавать собственные блоки (команды и процедуры с входными параметрами) в среде [[Snap!]] (создавать [[Функция|функции]] с использованием различных типов данных))&lt;br /&gt;
| Основные характеристики изучаемого алгоритмического языка&lt;br /&gt;
| Процедуры видоизменения данных в среде [[Snap!]]&lt;br /&gt;
| Примеры видоизменения данных в [[Snap!]], [[Как получить список случайных значений|Получить список значений]]&lt;br /&gt;
|- &lt;br /&gt;
| оценивать и сравнивать эффективность алгоритмов, вычислительную сложность алгоритмов	&lt;br /&gt;
| [[Алгоритм]]ы сортировки и поиска&lt;br /&gt;
| Сравнить эффективность выполнения процедур над данными&lt;br /&gt;
| Готовые [[датасет]]ы из категории	[[:Category:Dataset]]. [[Сортировка вставками]], [[Быстрая сортировка]]&lt;br /&gt;
|- &lt;br /&gt;
| использовать рекурсию в командах и процедурах, использовать рекурсию при создании собственных функций&lt;br /&gt;
| Рекурсия&lt;br /&gt;
| Создать собственные команды и процедуры, в которых используется рекурсия&lt;br /&gt;
| [[Рекурсия]], [[Фрактал]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Напоминание по работа в вики среде ==&lt;br /&gt;
; [[Мастер-класс «Совместная работа со знаниями на поле цифровой дидактики»]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
[[Category:РУП]]&lt;/div&gt;</summary>
		<author><name>KuptsovaID</name></author>
	</entry>
	<entry>
		<id>http://digida.mgpu.ru/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:KuptsovaID/%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B_%D0%B8_%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%82%D1%83%D1%80%D1%8B_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85&amp;diff=14036</id>
		<title>Участник:KuptsovaID/Алгоритмы и структуры данных</title>
		<link rel="alternate" type="text/html" href="http://digida.mgpu.ru/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:KuptsovaID/%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B_%D0%B8_%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%82%D1%83%D1%80%D1%8B_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85&amp;diff=14036"/>
		<updated>2023-12-04T11:03:52Z</updated>

		<summary type="html">&lt;p&gt;KuptsovaID: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Это для курса &amp;quot;Алгоритмы и структуры данных&amp;quot;&lt;br /&gt;
&lt;br /&gt;
{{#ask:[[Как сделать сортировку в массиве?]] | format=embedded | embedonly=yes}}&lt;br /&gt;
&lt;br /&gt;
{{Curriculum&lt;br /&gt;
|Learning_outcomes=Цель&lt;br /&gt;
* теоретические знания и практический опыт в области основ алгоритмизации задач, классификации языков программирования, типов данных, структур данных, взаимосвязь алгоритмов и структур данных, особенностей реализации алгоритмов и типов данных в языках блочного программирования Scratch, Snap!, GP&lt;br /&gt;
; Знать&lt;br /&gt;
: Основные понятия, связанные с миром алгоритмов и структур данных &lt;br /&gt;
: основы алгоритмизации задач, структуры данных;&lt;br /&gt;
: типы данных, структуры данных;&lt;br /&gt;
: методы и алгоритмы поиска и сортировки данных;&lt;br /&gt;
; Уметь&lt;br /&gt;
== обращаться к внешним и внутренним дым из среды Semantic MediaWiki, уметь использовать различные типы данных внутри Semantic MediaWiki ==&lt;br /&gt;
; Примеры задач на внутренние данные&lt;br /&gt;
* Посчитай внутри вики количество участников из МГПУ [[:Category:UserMGPU]]?&lt;br /&gt;
&lt;br /&gt;
{{ #ask : [[Category: UserMGPU]] }}&lt;br /&gt;
&lt;br /&gt;
* Посчитай число участников, которые указали, что используют язык Scratch?&lt;br /&gt;
* Собери таблицу с описанием писателей [[Category:Person]], которые оказали влияние на язык [[R]]&lt;br /&gt;
* Собери тайм-лайн с языками, ведущими свое происхождение от языка [[Prolog]]&lt;br /&gt;
* &#039;&#039;&#039; Предложи собственную задачу на использование внутренних данных в среде Semantic MediaWiki &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
; Примеры задач на внешние данные&lt;br /&gt;
* Размести на странице выборку из датасета, который уже есть в категории [[:Category:Dataset]]&lt;br /&gt;
* &#039;&#039;&#039; Добавь новый датасет в [[:Category:Dataset]] и предложи вариант его использования &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* обмениваться проектами и блоками программ в Snap!&lt;br /&gt;
* сравнивать и объединять статьи о языках программирования &lt;br /&gt;
* импортировать и экспортировать данные в среду визуального программирования Snap!&lt;br /&gt;
* проектировать и программировать линейные и разветвляющиеся структуры алгоритмов;&lt;br /&gt;
* планировать процесс реализации алгоритма при помощи псевдокода и диаграмм &lt;br /&gt;
* использовать язык &#039;&#039;&#039;dgl&#039;&#039;&#039; , mermaid, &#039;&#039;&#039;PlantUML&#039;&#039;&#039; встраивать диаграммы алгоритмов в вики страницы &lt;br /&gt;
* представлять алгоритмы на страницах вики в виде диаграмм, псевдокода, кода на различных языках программирования&lt;br /&gt;
* создавать собственные блоки (команды и процедуры с входными параметрами) в среде Snap! (создавать функции с использованием различных типов данных))&lt;br /&gt;
* оценивать и сравнивать эффективность алгоритмов, вычислительную сложность алгоритмов&lt;br /&gt;
* использовать рекурсию в командах и процедурах, использовать рекурсию при создании собственных функций&lt;br /&gt;
* использовать объекты первого класса и лямбда исчисления.&lt;br /&gt;
|Description=Содержание&lt;br /&gt;
; 1. Введение в алгоритмы и структуры данных&lt;br /&gt;
* Определение алгоритма и структуры данных&lt;br /&gt;
; 2. Основные алгоритмы&lt;br /&gt;
* Линейный поиск&lt;br /&gt;
* Бинарный поиск&lt;br /&gt;
* Сортировка (вставками, выбором, слиянием, быстрая сортировка)&lt;br /&gt;
* Рекурсия и рекурсивные алгоритмы&lt;br /&gt;
; 3. Структуры данных&lt;br /&gt;
* Массивы и связные списки&lt;br /&gt;
* Стеки и очереди&lt;br /&gt;
* Деревья (бинарные, сбалансированные, двоичные деревья поиска)&lt;br /&gt;
* Графы (ориентированные и неориентированные, поиск в глубину и ширину)&lt;br /&gt;
|Environment=Snap!, R, RStudio, Lua, Python&lt;br /&gt;
|Book=Стили и методы программирования, Computer Science with Snap! by Examples, Initiation to Algorithmics with Scratch&lt;br /&gt;
}}&lt;br /&gt;
; Учебная группа, работающая с курсом Алгоритмы и структуры данных данных в в 2023 году -  [[:Категория:ПБД221м|ПБД221м]]&lt;br /&gt;
* Учебная группа, работающая с курсом Алгоритмы и структуры данных данных в в 2022 году -  [[:Категория:ПБД211М|ПБД211М]]&lt;br /&gt;
&lt;br /&gt;
; Особенность курса - [[Active Essay]]  смотрим и тестируем на поле &lt;br /&gt;
&lt;br /&gt;
&amp;lt;scratchblocks&amp;gt;&lt;br /&gt;
when [up arrow v] key pressed&lt;br /&gt;
point in direction (0)&lt;br /&gt;
move (10) steps&lt;br /&gt;
when [down arrow v] key pressed&lt;br /&gt;
point in direction (180)&lt;br /&gt;
move (10) steps&lt;br /&gt;
when [right arrow v] key pressed&lt;br /&gt;
point in direction (90)&lt;br /&gt;
move (10) steps&lt;br /&gt;
when [left arrow v] key pressed&lt;br /&gt;
point in direction (-90)&lt;br /&gt;
move (10) steps&amp;lt;/scratchblocks&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: И смотрим на то, как они выполняются&lt;br /&gt;
&amp;lt;scratch project=&amp;quot;210120481&amp;quot; /&amp;gt;&lt;br /&gt;
: или в [[Snap!]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;snap project=&amp;quot;Flocking_Snap&amp;quot; user=&amp;quot;patarakin&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Цель, результаты освоения дисциплины ==&lt;br /&gt;
В результате изучения данной дисциплины студенты будут иметь представление о современных алгоритмических языках, о способах записи [[алгоритм]]ов и конструирования программ, основах объектного подхода в программировании&lt;br /&gt;
; Цель &lt;br /&gt;
: теоретические знания и практический опыт в области основ алгоритмизации задач, классификации языков программирования, типов данных, структур данных, взаимосвязь алгоритмов и структур данных, особенностей реализации алгоритмов и типов данных в языках блочного программирования [[Scratch]], [[Snap!]], [[GP]]&lt;br /&gt;
&lt;br /&gt;
; Знать:&lt;br /&gt;
# Основные понятия, связанные с миром алгоритмов и структур данных См.  [[:Категория:Понятие]]&lt;br /&gt;
# основы алгоритмизации задач, структуры данных;&lt;br /&gt;
# типы данных, структуры данных;&lt;br /&gt;
# методы и алгоритмы поиска и сортировки данных;&lt;br /&gt;
; Уметь &lt;br /&gt;
# обращаться к внешним и внутренним данным из среды [[Semantic MediaWiki]], уметь использовать различные типы данных внутри Semantic MediaWiki см. [[:Категория:Dataset]]&lt;br /&gt;
# обмениваться проектами и блоками программ в [[Snap!]]&lt;br /&gt;
# сравнивать и объединять статьи о языках программирования [[Taxonomic_sandbox]]&lt;br /&gt;
# импортировать и экспортировать данные в среду визуального программирования [[Snap!]]&lt;br /&gt;
# проектировать и программировать  линейные и  разветвляющиеся структуры алгоритмов;&lt;br /&gt;
# планировать процесс реализации алгоритма при помощи псевдокода и диаграмм - [[:Категория:Diagrams]]&lt;br /&gt;
# использовать язык [[graphviz]], [[mermaid]], [[PlantUML]] встраивать диаграммы алгоритмов в вики страницы см. Graphviz + [[:Категория:Diagrams]] - &lt;br /&gt;
# представлять алгоритмы на страницах вики в виде диаграмм, псевдокода, кода на различных языках программирования&lt;br /&gt;
# создавать собственные блоки (команды и процедуры с входными параметрами) в среде Snap! (создавать функции с использованием различных типов данных))&lt;br /&gt;
# оценивать и сравнивать эффективность алгоритмов, вычислительную сложность алгоритмов&lt;br /&gt;
# использовать рекурсию в командах и процедурах, использовать рекурсию при создании собственных функций&lt;br /&gt;
# использовать объекты первого класса и лямбда исчисления&lt;br /&gt;
&lt;br /&gt;
== Содержание разделов дисциплины: ==&lt;br /&gt;
=== Введение. Основные понятия. Пространство для совместной деятельности ===&lt;br /&gt;
Основы алгоритмизации задач. Semantic MediaWiki как поле совместной деятельности. Типы данных  внутри Semantic MediaWiki. Обращение к внешним данным.&lt;br /&gt;
&lt;br /&gt;
=== История языков программирования и обучающих языков ===&lt;br /&gt;
Современные алгоритмические языки. Вычислительное мышление и вычислительное участие.&lt;br /&gt;
&lt;br /&gt;
=== Представление алгоритмов в виде диаграмм, псевдокода, кода на различных языках программирования ===&lt;br /&gt;
# проектировать и программировать линейные и разветвляющиеся структуры алгоритмов;&lt;br /&gt;
# планировать процесс реализации алгоритма при помощи псевдокода и диаграмм - [[:Категория:Diagrams]] - например, [[Binary search (diagram)]]&lt;br /&gt;
# использовать язык dgl и [[mermaid]] встраивать диаграммы алгоритмов в вики страницы см. [[Graphviz]]&lt;br /&gt;
&lt;br /&gt;
http://digida.mgpu.ru/images/diagrams/Diagrams_37be5e92fa212a080558fc26c16ac9cb.png&lt;br /&gt;
&lt;br /&gt;
{{#mermaid:graph TB&lt;br /&gt;
A[1-6] --&amp;gt; |Да| B[1-3] &lt;br /&gt;
A --&amp;gt; |Нет| C[7-9] &lt;br /&gt;
&lt;br /&gt;
B --&amp;gt; |Да| D[1-2] &lt;br /&gt;
B --&amp;gt; |Нет| E[4-5] &lt;br /&gt;
&lt;br /&gt;
D --&amp;gt; |Да| 1&lt;br /&gt;
D --&amp;gt; |Нет| 3&lt;br /&gt;
1 --&amp;gt;  |Нет| 2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
E --&amp;gt; |Нет| 6&lt;br /&gt;
E --&amp;gt; |Да| 4&lt;br /&gt;
4 --&amp;gt;  |Нет| 5&lt;br /&gt;
&lt;br /&gt;
C --&amp;gt;|Да| F[7-8]  &lt;br /&gt;
C --&amp;gt;|Нет| G[10-11]  &lt;br /&gt;
&lt;br /&gt;
F --&amp;gt; |Да| 7&lt;br /&gt;
7 --&amp;gt; |Нет| 8 &lt;br /&gt;
&lt;br /&gt;
F --&amp;gt; |Нет| 9&lt;br /&gt;
&lt;br /&gt;
G --&amp;gt; | Да | 10&lt;br /&gt;
10 --&amp;gt; | Нет| 11&lt;br /&gt;
G --&amp;gt; | Нет| 12&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===  Основные характеристики изучаемого алгоритмического языка ===&lt;br /&gt;
Типы данных. Константы. Переменные. Выражения. Арифметические и логические выражения. &lt;br /&gt;
&lt;br /&gt;
[[Файл:Snap data types2.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Спрайты, данные, процедуры как объекты первого класса. Структуры данных. Импорт и экспорт данных.&lt;br /&gt;
Список случайных чисел из  %сколько от %min до %max&lt;br /&gt;
[[Файл:Table sprite.png|800px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===  Структуры данных ===&lt;br /&gt;
&lt;br /&gt;
[[Файл:Collab dataset JSON.png]]&lt;br /&gt;
&lt;br /&gt;
* [[Массив]]ы и связные [[список|списки]]&lt;br /&gt;
* Стеки и очереди&lt;br /&gt;
* Деревья (бинарные, сбалансированные, двоичные деревья поиска)&lt;br /&gt;
* Графы (ориентированные и неориентированные, поиск в глубину и ширину)&lt;br /&gt;
&lt;br /&gt;
=== Алгоритмы сортировки и поиска === &lt;br /&gt;
Сравнение эффективности и вычислительной сложности алгоритмов&lt;br /&gt;
* [[Временная сложность алгоритма]]&lt;br /&gt;
&lt;br /&gt;
=== Рекурсия ===&lt;br /&gt;
* [[Рекурсия]]&lt;br /&gt;
* [[Фрактал]]&lt;br /&gt;
&lt;br /&gt;
== Литература ==&lt;br /&gt;
=== Основная литература  ===&lt;br /&gt;
&lt;br /&gt;
# [[Стили и методы программирования]], &lt;br /&gt;
# [[Computer Science with Snap! by Examples]], &lt;br /&gt;
# [[Initiation to Algorithmics with Scratch]]&lt;br /&gt;
&lt;br /&gt;
=== Дополнительная литература  ===&lt;br /&gt;
https://snap.berkeley.edu/snap/help/SnapManual.pdf - Руководство по Snap!&lt;br /&gt;
&lt;br /&gt;
== Критерии оценки по дисциплине (2022 - 2023) ==&lt;br /&gt;
&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|-&lt;br /&gt;
!{{Hl2}}| Образовательный результат&lt;br /&gt;
!{{Hl2}}| Тема&lt;br /&gt;
!{{Hl2}}| Задание&lt;br /&gt;
!{{Hl2}}| Пример&lt;br /&gt;
|- &lt;br /&gt;
| Знает понятия мира алгоритмов и структур данных	&lt;br /&gt;
|  Введение. Основные понятия. Пространство для совместной деятельности&lt;br /&gt;
| Использовать различные типы данных внутри Semantic MediaWiki, включить внешние данные в состав статьи&lt;br /&gt;
| Категория понятий - [[:Category:Понятие]]&lt;br /&gt;
В категории статей о датасетах	[[:Category:Dataset]]&lt;br /&gt;
|- &lt;br /&gt;
| Умеет сравнивать и объединять статьи о языках программирования&lt;br /&gt;
| История языков программирования и обучающих языков&lt;br /&gt;
| Редактировать, дополнять и объединять статьи о языках программирования&lt;br /&gt;
| [[:Category:Язык программирования]], [[Taxonomic_sandbox]]&lt;br /&gt;
|- &lt;br /&gt;
| &lt;br /&gt;
Умеет проектировать и программировать линейные и разветвляющиеся структуры алгоритмов, планировать процесс реализации алгоритма при помощи псевдокода и диаграмм - [[:Категория:Diagrams]], использовать язык dgl и [[mermaid]] встраивать диаграммы алгоритмов в вики страницы см. [[Graphviz]]&lt;br /&gt;
| Представление алгоритмов в виде диаграмм, [[псевдокод]]а, кода на различных языках программирования &lt;br /&gt;
| Создать диаграмму [[алгоритм]]а, представить реализацию алгоритма на языке высокого уровня&lt;br /&gt;
| Пример &lt;br /&gt;
* [[:Category:Diagrams]]&lt;br /&gt;
* [[Flowchart]]&lt;br /&gt;
|- &lt;br /&gt;
| Умеет создавать собственные блоки (команды и процедуры с входными параметрами) в среде [[Snap!]] (создавать [[Функция|функции]] с использованием различных типов данных))&lt;br /&gt;
| Основные характеристики изучаемого алгоритмического языка&lt;br /&gt;
| Процедуры видоизменения данных в среде [[Snap!]]&lt;br /&gt;
| Примеры видоизменения данных в [[Snap!]], [[Как получить список случайных значений|Получить список значений]]&lt;br /&gt;
|- &lt;br /&gt;
| оценивать и сравнивать эффективность алгоритмов, вычислительную сложность алгоритмов	&lt;br /&gt;
| [[Алгоритм]]ы сортировки и поиска&lt;br /&gt;
| Сравнить эффективность выполнения процедур над данными&lt;br /&gt;
| Готовые [[датасет]]ы из категории	[[:Category:Dataset]]. [[Сортировка вставками]], [[Быстрая сортировка]]&lt;br /&gt;
|- &lt;br /&gt;
| использовать рекурсию в командах и процедурах, использовать рекурсию при создании собственных функций&lt;br /&gt;
| Рекурсия&lt;br /&gt;
| Создать собственные команды и процедуры, в которых используется рекурсия&lt;br /&gt;
| [[Рекурсия]], [[Фрактал]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Напоминание по работа в вики среде ==&lt;br /&gt;
; [[Мастер-класс «Совместная работа со знаниями на поле цифровой дидактики»]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
[[Category:РУП]]&lt;/div&gt;</summary>
		<author><name>KuptsovaID</name></author>
	</entry>
	<entry>
		<id>http://digida.mgpu.ru/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:KuptsovaID/%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B_%D0%B8_%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%82%D1%83%D1%80%D1%8B_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85&amp;diff=14035</id>
		<title>Участник:KuptsovaID/Алгоритмы и структуры данных</title>
		<link rel="alternate" type="text/html" href="http://digida.mgpu.ru/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:KuptsovaID/%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B_%D0%B8_%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%82%D1%83%D1%80%D1%8B_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85&amp;diff=14035"/>
		<updated>2023-12-04T11:03:23Z</updated>

		<summary type="html">&lt;p&gt;KuptsovaID: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Это для курса &amp;quot;Алгоритмы и структуры данных&amp;quot;&lt;br /&gt;
&lt;br /&gt;
{{#ask:[[Как сделать сортировку в массиве?]] | format=embedded | embedonly=yes}}&lt;br /&gt;
&lt;br /&gt;
{{Curriculum&lt;br /&gt;
|Learning_outcomes=Цель&lt;br /&gt;
* теоретические знания и практический опыт в области основ алгоритмизации задач, классификации языков программирования, типов данных, структур данных, взаимосвязь алгоритмов и структур данных, особенностей реализации алгоритмов и типов данных в языках блочного программирования Scratch, Snap!, GP&lt;br /&gt;
; Знать&lt;br /&gt;
: Основные понятия, связанные с миром алгоритмов и структур данных &lt;br /&gt;
: основы алгоритмизации задач, структуры данных;&lt;br /&gt;
: типы данных, структуры данных;&lt;br /&gt;
: методы и алгоритмы поиска и сортировки данных;&lt;br /&gt;
; Уметь&lt;br /&gt;
== обращаться к внешним и внутренним дым из среды Semantic MediaWiki, уметь использовать различные типы данных внутри Semantic MediaWiki ==&lt;br /&gt;
; Примеры задач на внутренние данные&lt;br /&gt;
* Посчитай внутри вики количество участников из МГПУ [[:Category:UserMGPU]]?&lt;br /&gt;
&lt;br /&gt;
{{#ask : [[Category: UserMGPU]] }}&lt;br /&gt;
&lt;br /&gt;
* Посчитай число участников, которые указали, что используют язык Scratch?&lt;br /&gt;
* Собери таблицу с описанием писателей [[Category:Person]], которые оказали влияние на язык [[R]]&lt;br /&gt;
* Собери тайм-лайн с языками, ведущими свое происхождение от языка [[Prolog]]&lt;br /&gt;
* &#039;&#039;&#039; Предложи собственную задачу на использование внутренних данных в среде Semantic MediaWiki &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
; Примеры задач на внешние данные&lt;br /&gt;
* Размести на странице выборку из датасета, который уже есть в категории [[:Category:Dataset]]&lt;br /&gt;
* &#039;&#039;&#039; Добавь новый датасет в [[:Category:Dataset]] и предложи вариант его использования &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* обмениваться проектами и блоками программ в Snap!&lt;br /&gt;
* сравнивать и объединять статьи о языках программирования &lt;br /&gt;
* импортировать и экспортировать данные в среду визуального программирования Snap!&lt;br /&gt;
* проектировать и программировать линейные и разветвляющиеся структуры алгоритмов;&lt;br /&gt;
* планировать процесс реализации алгоритма при помощи псевдокода и диаграмм &lt;br /&gt;
* использовать язык &#039;&#039;&#039;dgl&#039;&#039;&#039; , mermaid, &#039;&#039;&#039;PlantUML&#039;&#039;&#039; встраивать диаграммы алгоритмов в вики страницы &lt;br /&gt;
* представлять алгоритмы на страницах вики в виде диаграмм, псевдокода, кода на различных языках программирования&lt;br /&gt;
* создавать собственные блоки (команды и процедуры с входными параметрами) в среде Snap! (создавать функции с использованием различных типов данных))&lt;br /&gt;
* оценивать и сравнивать эффективность алгоритмов, вычислительную сложность алгоритмов&lt;br /&gt;
* использовать рекурсию в командах и процедурах, использовать рекурсию при создании собственных функций&lt;br /&gt;
* использовать объекты первого класса и лямбда исчисления.&lt;br /&gt;
|Description=Содержание&lt;br /&gt;
; 1. Введение в алгоритмы и структуры данных&lt;br /&gt;
* Определение алгоритма и структуры данных&lt;br /&gt;
; 2. Основные алгоритмы&lt;br /&gt;
* Линейный поиск&lt;br /&gt;
* Бинарный поиск&lt;br /&gt;
* Сортировка (вставками, выбором, слиянием, быстрая сортировка)&lt;br /&gt;
* Рекурсия и рекурсивные алгоритмы&lt;br /&gt;
; 3. Структуры данных&lt;br /&gt;
* Массивы и связные списки&lt;br /&gt;
* Стеки и очереди&lt;br /&gt;
* Деревья (бинарные, сбалансированные, двоичные деревья поиска)&lt;br /&gt;
* Графы (ориентированные и неориентированные, поиск в глубину и ширину)&lt;br /&gt;
|Environment=Snap!, R, RStudio, Lua, Python&lt;br /&gt;
|Book=Стили и методы программирования, Computer Science with Snap! by Examples, Initiation to Algorithmics with Scratch&lt;br /&gt;
}}&lt;br /&gt;
; Учебная группа, работающая с курсом Алгоритмы и структуры данных данных в в 2023 году -  [[:Категория:ПБД221м|ПБД221м]]&lt;br /&gt;
* Учебная группа, работающая с курсом Алгоритмы и структуры данных данных в в 2022 году -  [[:Категория:ПБД211М|ПБД211М]]&lt;br /&gt;
&lt;br /&gt;
; Особенность курса - [[Active Essay]]  смотрим и тестируем на поле &lt;br /&gt;
&lt;br /&gt;
&amp;lt;scratchblocks&amp;gt;&lt;br /&gt;
when [up arrow v] key pressed&lt;br /&gt;
point in direction (0)&lt;br /&gt;
move (10) steps&lt;br /&gt;
when [down arrow v] key pressed&lt;br /&gt;
point in direction (180)&lt;br /&gt;
move (10) steps&lt;br /&gt;
when [right arrow v] key pressed&lt;br /&gt;
point in direction (90)&lt;br /&gt;
move (10) steps&lt;br /&gt;
when [left arrow v] key pressed&lt;br /&gt;
point in direction (-90)&lt;br /&gt;
move (10) steps&amp;lt;/scratchblocks&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: И смотрим на то, как они выполняются&lt;br /&gt;
&amp;lt;scratch project=&amp;quot;210120481&amp;quot; /&amp;gt;&lt;br /&gt;
: или в [[Snap!]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;snap project=&amp;quot;Flocking_Snap&amp;quot; user=&amp;quot;patarakin&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Цель, результаты освоения дисциплины ==&lt;br /&gt;
В результате изучения данной дисциплины студенты будут иметь представление о современных алгоритмических языках, о способах записи [[алгоритм]]ов и конструирования программ, основах объектного подхода в программировании&lt;br /&gt;
; Цель &lt;br /&gt;
: теоретические знания и практический опыт в области основ алгоритмизации задач, классификации языков программирования, типов данных, структур данных, взаимосвязь алгоритмов и структур данных, особенностей реализации алгоритмов и типов данных в языках блочного программирования [[Scratch]], [[Snap!]], [[GP]]&lt;br /&gt;
&lt;br /&gt;
; Знать:&lt;br /&gt;
# Основные понятия, связанные с миром алгоритмов и структур данных См.  [[:Категория:Понятие]]&lt;br /&gt;
# основы алгоритмизации задач, структуры данных;&lt;br /&gt;
# типы данных, структуры данных;&lt;br /&gt;
# методы и алгоритмы поиска и сортировки данных;&lt;br /&gt;
; Уметь &lt;br /&gt;
# обращаться к внешним и внутренним данным из среды [[Semantic MediaWiki]], уметь использовать различные типы данных внутри Semantic MediaWiki см. [[:Категория:Dataset]]&lt;br /&gt;
# обмениваться проектами и блоками программ в [[Snap!]]&lt;br /&gt;
# сравнивать и объединять статьи о языках программирования [[Taxonomic_sandbox]]&lt;br /&gt;
# импортировать и экспортировать данные в среду визуального программирования [[Snap!]]&lt;br /&gt;
# проектировать и программировать  линейные и  разветвляющиеся структуры алгоритмов;&lt;br /&gt;
# планировать процесс реализации алгоритма при помощи псевдокода и диаграмм - [[:Категория:Diagrams]]&lt;br /&gt;
# использовать язык [[graphviz]], [[mermaid]], [[PlantUML]] встраивать диаграммы алгоритмов в вики страницы см. Graphviz + [[:Категория:Diagrams]] - &lt;br /&gt;
# представлять алгоритмы на страницах вики в виде диаграмм, псевдокода, кода на различных языках программирования&lt;br /&gt;
# создавать собственные блоки (команды и процедуры с входными параметрами) в среде Snap! (создавать функции с использованием различных типов данных))&lt;br /&gt;
# оценивать и сравнивать эффективность алгоритмов, вычислительную сложность алгоритмов&lt;br /&gt;
# использовать рекурсию в командах и процедурах, использовать рекурсию при создании собственных функций&lt;br /&gt;
# использовать объекты первого класса и лямбда исчисления&lt;br /&gt;
&lt;br /&gt;
== Содержание разделов дисциплины: ==&lt;br /&gt;
=== Введение. Основные понятия. Пространство для совместной деятельности ===&lt;br /&gt;
Основы алгоритмизации задач. Semantic MediaWiki как поле совместной деятельности. Типы данных  внутри Semantic MediaWiki. Обращение к внешним данным.&lt;br /&gt;
&lt;br /&gt;
=== История языков программирования и обучающих языков ===&lt;br /&gt;
Современные алгоритмические языки. Вычислительное мышление и вычислительное участие.&lt;br /&gt;
&lt;br /&gt;
=== Представление алгоритмов в виде диаграмм, псевдокода, кода на различных языках программирования ===&lt;br /&gt;
# проектировать и программировать линейные и разветвляющиеся структуры алгоритмов;&lt;br /&gt;
# планировать процесс реализации алгоритма при помощи псевдокода и диаграмм - [[:Категория:Diagrams]] - например, [[Binary search (diagram)]]&lt;br /&gt;
# использовать язык dgl и [[mermaid]] встраивать диаграммы алгоритмов в вики страницы см. [[Graphviz]]&lt;br /&gt;
&lt;br /&gt;
http://digida.mgpu.ru/images/diagrams/Diagrams_37be5e92fa212a080558fc26c16ac9cb.png&lt;br /&gt;
&lt;br /&gt;
{{#mermaid:graph TB&lt;br /&gt;
A[1-6] --&amp;gt; |Да| B[1-3] &lt;br /&gt;
A --&amp;gt; |Нет| C[7-9] &lt;br /&gt;
&lt;br /&gt;
B --&amp;gt; |Да| D[1-2] &lt;br /&gt;
B --&amp;gt; |Нет| E[4-5] &lt;br /&gt;
&lt;br /&gt;
D --&amp;gt; |Да| 1&lt;br /&gt;
D --&amp;gt; |Нет| 3&lt;br /&gt;
1 --&amp;gt;  |Нет| 2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
E --&amp;gt; |Нет| 6&lt;br /&gt;
E --&amp;gt; |Да| 4&lt;br /&gt;
4 --&amp;gt;  |Нет| 5&lt;br /&gt;
&lt;br /&gt;
C --&amp;gt;|Да| F[7-8]  &lt;br /&gt;
C --&amp;gt;|Нет| G[10-11]  &lt;br /&gt;
&lt;br /&gt;
F --&amp;gt; |Да| 7&lt;br /&gt;
7 --&amp;gt; |Нет| 8 &lt;br /&gt;
&lt;br /&gt;
F --&amp;gt; |Нет| 9&lt;br /&gt;
&lt;br /&gt;
G --&amp;gt; | Да | 10&lt;br /&gt;
10 --&amp;gt; | Нет| 11&lt;br /&gt;
G --&amp;gt; | Нет| 12&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===  Основные характеристики изучаемого алгоритмического языка ===&lt;br /&gt;
Типы данных. Константы. Переменные. Выражения. Арифметические и логические выражения. &lt;br /&gt;
&lt;br /&gt;
[[Файл:Snap data types2.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Спрайты, данные, процедуры как объекты первого класса. Структуры данных. Импорт и экспорт данных.&lt;br /&gt;
Список случайных чисел из  %сколько от %min до %max&lt;br /&gt;
[[Файл:Table sprite.png|800px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===  Структуры данных ===&lt;br /&gt;
&lt;br /&gt;
[[Файл:Collab dataset JSON.png]]&lt;br /&gt;
&lt;br /&gt;
* [[Массив]]ы и связные [[список|списки]]&lt;br /&gt;
* Стеки и очереди&lt;br /&gt;
* Деревья (бинарные, сбалансированные, двоичные деревья поиска)&lt;br /&gt;
* Графы (ориентированные и неориентированные, поиск в глубину и ширину)&lt;br /&gt;
&lt;br /&gt;
=== Алгоритмы сортировки и поиска === &lt;br /&gt;
Сравнение эффективности и вычислительной сложности алгоритмов&lt;br /&gt;
* [[Временная сложность алгоритма]]&lt;br /&gt;
&lt;br /&gt;
=== Рекурсия ===&lt;br /&gt;
* [[Рекурсия]]&lt;br /&gt;
* [[Фрактал]]&lt;br /&gt;
&lt;br /&gt;
== Литература ==&lt;br /&gt;
=== Основная литература  ===&lt;br /&gt;
&lt;br /&gt;
# [[Стили и методы программирования]], &lt;br /&gt;
# [[Computer Science with Snap! by Examples]], &lt;br /&gt;
# [[Initiation to Algorithmics with Scratch]]&lt;br /&gt;
&lt;br /&gt;
=== Дополнительная литература  ===&lt;br /&gt;
https://snap.berkeley.edu/snap/help/SnapManual.pdf - Руководство по Snap!&lt;br /&gt;
&lt;br /&gt;
== Критерии оценки по дисциплине (2022 - 2023) ==&lt;br /&gt;
&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|-&lt;br /&gt;
!{{Hl2}}| Образовательный результат&lt;br /&gt;
!{{Hl2}}| Тема&lt;br /&gt;
!{{Hl2}}| Задание&lt;br /&gt;
!{{Hl2}}| Пример&lt;br /&gt;
|- &lt;br /&gt;
| Знает понятия мира алгоритмов и структур данных	&lt;br /&gt;
|  Введение. Основные понятия. Пространство для совместной деятельности&lt;br /&gt;
| Использовать различные типы данных внутри Semantic MediaWiki, включить внешние данные в состав статьи&lt;br /&gt;
| Категория понятий - [[:Category:Понятие]]&lt;br /&gt;
В категории статей о датасетах	[[:Category:Dataset]]&lt;br /&gt;
|- &lt;br /&gt;
| Умеет сравнивать и объединять статьи о языках программирования&lt;br /&gt;
| История языков программирования и обучающих языков&lt;br /&gt;
| Редактировать, дополнять и объединять статьи о языках программирования&lt;br /&gt;
| [[:Category:Язык программирования]], [[Taxonomic_sandbox]]&lt;br /&gt;
|- &lt;br /&gt;
| &lt;br /&gt;
Умеет проектировать и программировать линейные и разветвляющиеся структуры алгоритмов, планировать процесс реализации алгоритма при помощи псевдокода и диаграмм - [[:Категория:Diagrams]], использовать язык dgl и [[mermaid]] встраивать диаграммы алгоритмов в вики страницы см. [[Graphviz]]&lt;br /&gt;
| Представление алгоритмов в виде диаграмм, [[псевдокод]]а, кода на различных языках программирования &lt;br /&gt;
| Создать диаграмму [[алгоритм]]а, представить реализацию алгоритма на языке высокого уровня&lt;br /&gt;
| Пример &lt;br /&gt;
* [[:Category:Diagrams]]&lt;br /&gt;
* [[Flowchart]]&lt;br /&gt;
|- &lt;br /&gt;
| Умеет создавать собственные блоки (команды и процедуры с входными параметрами) в среде [[Snap!]] (создавать [[Функция|функции]] с использованием различных типов данных))&lt;br /&gt;
| Основные характеристики изучаемого алгоритмического языка&lt;br /&gt;
| Процедуры видоизменения данных в среде [[Snap!]]&lt;br /&gt;
| Примеры видоизменения данных в [[Snap!]], [[Как получить список случайных значений|Получить список значений]]&lt;br /&gt;
|- &lt;br /&gt;
| оценивать и сравнивать эффективность алгоритмов, вычислительную сложность алгоритмов	&lt;br /&gt;
| [[Алгоритм]]ы сортировки и поиска&lt;br /&gt;
| Сравнить эффективность выполнения процедур над данными&lt;br /&gt;
| Готовые [[датасет]]ы из категории	[[:Category:Dataset]]. [[Сортировка вставками]], [[Быстрая сортировка]]&lt;br /&gt;
|- &lt;br /&gt;
| использовать рекурсию в командах и процедурах, использовать рекурсию при создании собственных функций&lt;br /&gt;
| Рекурсия&lt;br /&gt;
| Создать собственные команды и процедуры, в которых используется рекурсия&lt;br /&gt;
| [[Рекурсия]], [[Фрактал]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Напоминание по работа в вики среде ==&lt;br /&gt;
; [[Мастер-класс «Совместная работа со знаниями на поле цифровой дидактики»]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
[[Category:РУП]]&lt;/div&gt;</summary>
		<author><name>KuptsovaID</name></author>
	</entry>
	<entry>
		<id>http://digida.mgpu.ru/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:KuptsovaID/%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B_%D0%B8_%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%82%D1%83%D1%80%D1%8B_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85&amp;diff=14034</id>
		<title>Участник:KuptsovaID/Алгоритмы и структуры данных</title>
		<link rel="alternate" type="text/html" href="http://digida.mgpu.ru/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:KuptsovaID/%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B_%D0%B8_%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%82%D1%83%D1%80%D1%8B_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85&amp;diff=14034"/>
		<updated>2023-12-04T10:41:03Z</updated>

		<summary type="html">&lt;p&gt;KuptsovaID: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Это для курса &amp;quot;Алгоритмы и структуры данных&amp;quot;&lt;br /&gt;
&lt;br /&gt;
{{#ask:[[Как сделать сортировку в массиве?]] | format=embedded | embedonly=yes}}&lt;br /&gt;
&lt;br /&gt;
{{Curriculum&lt;br /&gt;
|Learning_outcomes=Цель&lt;br /&gt;
* теоретические знания и практический опыт в области основ алгоритмизации задач, классификации языков программирования, типов данных, структур данных, взаимосвязь алгоритмов и структур данных, особенностей реализации алгоритмов и типов данных в языках блочного программирования Scratch, Snap!, GP&lt;br /&gt;
; Знать&lt;br /&gt;
: Основные понятия, связанные с миром алгоритмов и структур данных &lt;br /&gt;
: основы алгоритмизации задач, структуры данных;&lt;br /&gt;
: типы данных, структуры данных;&lt;br /&gt;
: методы и алгоритмы поиска и сортировки данных;&lt;br /&gt;
; Уметь&lt;br /&gt;
* обращаться к внешним и внутренним дым из среды Semantic MediaWiki, уметь использовать различные типы данных внутри Semantic MediaWiki&lt;br /&gt;
* обмениваться проектами и блоками программ в Snap!&lt;br /&gt;
* сравнивать и объединять статьи о языках программирования &lt;br /&gt;
* импортировать и экспортировать данные в среду визуального программирования Snap!&lt;br /&gt;
* проектировать и программировать линейные и разветвляющиеся структуры алгоритмов;&lt;br /&gt;
* планировать процесс реализации алгоритма при помощи псевдокода и диаграмм &lt;br /&gt;
* использовать язык &#039;&#039;&#039;dgl&#039;&#039;&#039; , mermaid, &#039;&#039;&#039;PlantUML&#039;&#039;&#039; встраивать диаграммы алгоритмов в вики страницы &lt;br /&gt;
* представлять алгоритмы на страницах вики в виде диаграмм, псевдокода, кода на различных языках программирования&lt;br /&gt;
* создавать собственные блоки (команды и процедуры с входными параметрами) в среде Snap! (создавать функции с использованием различных типов данных))&lt;br /&gt;
* оценивать и сравнивать эффективность алгоритмов, вычислительную сложность алгоритмов&lt;br /&gt;
* использовать рекурсию в командах и процедурах, использовать рекурсию при создании собственных функций&lt;br /&gt;
* использовать объекты первого класса и лямбда исчисления.&lt;br /&gt;
|Description=Содержание&lt;br /&gt;
; 1. Введение в алгоритмы и структуры данных&lt;br /&gt;
* Определение алгоритма и структуры данных&lt;br /&gt;
; 2. Основные алгоритмы&lt;br /&gt;
* Линейный поиск&lt;br /&gt;
* Бинарный поиск&lt;br /&gt;
* Сортировка (вставками, выбором, слиянием, быстрая сортировка)&lt;br /&gt;
* Рекурсия и рекурсивные алгоритмы&lt;br /&gt;
; 3. Структуры данных&lt;br /&gt;
* Массивы и связные списки&lt;br /&gt;
* Стеки и очереди&lt;br /&gt;
* Деревья (бинарные, сбалансированные, двоичные деревья поиска)&lt;br /&gt;
* Графы (ориентированные и неориентированные, поиск в глубину и ширину)&lt;br /&gt;
|Environment=Snap!, R, RStudio, Lua, Python&lt;br /&gt;
|Book=Стили и методы программирования, Computer Science with Snap! by Examples, Initiation to Algorithmics with Scratch&lt;br /&gt;
}}&lt;br /&gt;
; Учебная группа, работающая с курсом Алгоритмы и структуры данных данных в в 2023 году -  [[:Категория:ПБД221м|ПБД221м]]&lt;br /&gt;
* Учебная группа, работающая с курсом Алгоритмы и структуры данных данных в в 2022 году -  [[:Категория:ПБД211М|ПБД211М]]&lt;br /&gt;
&lt;br /&gt;
; Особенность курса - [[Active Essay]]  смотрим и тестируем на поле &lt;br /&gt;
&lt;br /&gt;
&amp;lt;scratchblocks&amp;gt;&lt;br /&gt;
when [up arrow v] key pressed&lt;br /&gt;
point in direction (0)&lt;br /&gt;
move (10) steps&lt;br /&gt;
when [down arrow v] key pressed&lt;br /&gt;
point in direction (180)&lt;br /&gt;
move (10) steps&lt;br /&gt;
when [right arrow v] key pressed&lt;br /&gt;
point in direction (90)&lt;br /&gt;
move (10) steps&lt;br /&gt;
when [left arrow v] key pressed&lt;br /&gt;
point in direction (-90)&lt;br /&gt;
move (10) steps&amp;lt;/scratchblocks&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: И смотрим на то, как они выполняются&lt;br /&gt;
&amp;lt;scratch project=&amp;quot;210120481&amp;quot; /&amp;gt;&lt;br /&gt;
: или в [[Snap!]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;snap project=&amp;quot;Flocking_Snap&amp;quot; user=&amp;quot;patarakin&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Цель, результаты освоения дисциплины ==&lt;br /&gt;
В результате изучения данной дисциплины студенты будут иметь представление о современных алгоритмических языках, о способах записи [[алгоритм]]ов и конструирования программ, основах объектного подхода в программировании&lt;br /&gt;
; Цель &lt;br /&gt;
: теоретические знания и практический опыт в области основ алгоритмизации задач, классификации языков программирования, типов данных, структур данных, взаимосвязь алгоритмов и структур данных, особенностей реализации алгоритмов и типов данных в языках блочного программирования [[Scratch]], [[Snap!]], [[GP]]&lt;br /&gt;
&lt;br /&gt;
; Знать:&lt;br /&gt;
# Основные понятия, связанные с миром алгоритмов и структур данных См.  [[:Категория:Понятие]]&lt;br /&gt;
# основы алгоритмизации задач, структуры данных;&lt;br /&gt;
# типы данных, структуры данных;&lt;br /&gt;
# методы и алгоритмы поиска и сортировки данных;&lt;br /&gt;
; Уметь &lt;br /&gt;
# обращаться к внешним и внутренним данным из среды [[Semantic MediaWiki]], уметь использовать различные типы данных внутри Semantic MediaWiki см. [[:Категория:Dataset]]&lt;br /&gt;
# обмениваться проектами и блоками программ в [[Snap!]]&lt;br /&gt;
# сравнивать и объединять статьи о языках программирования [[Taxonomic_sandbox]]&lt;br /&gt;
# импортировать и экспортировать данные в среду визуального программирования [[Snap!]]&lt;br /&gt;
# проектировать и программировать  линейные и  разветвляющиеся структуры алгоритмов;&lt;br /&gt;
# планировать процесс реализации алгоритма при помощи псевдокода и диаграмм - [[:Категория:Diagrams]]&lt;br /&gt;
# использовать язык [[graphviz]], [[mermaid]], [[PlantUML]] встраивать диаграммы алгоритмов в вики страницы см. Graphviz + [[:Категория:Diagrams]] - &lt;br /&gt;
# представлять алгоритмы на страницах вики в виде диаграмм, псевдокода, кода на различных языках программирования&lt;br /&gt;
# создавать собственные блоки (команды и процедуры с входными параметрами) в среде Snap! (создавать функции с использованием различных типов данных))&lt;br /&gt;
# оценивать и сравнивать эффективность алгоритмов, вычислительную сложность алгоритмов&lt;br /&gt;
# использовать рекурсию в командах и процедурах, использовать рекурсию при создании собственных функций&lt;br /&gt;
# использовать объекты первого класса и лямбда исчисления&lt;br /&gt;
&lt;br /&gt;
== Содержание разделов дисциплины: ==&lt;br /&gt;
=== Введение. Основные понятия. Пространство для совместной деятельности ===&lt;br /&gt;
Основы алгоритмизации задач. Semantic MediaWiki как поле совместной деятельности. Типы данных  внутри Semantic MediaWiki. Обращение к внешним данным.&lt;br /&gt;
&lt;br /&gt;
=== История языков программирования и обучающих языков ===&lt;br /&gt;
Современные алгоритмические языки. Вычислительное мышление и вычислительное участие.&lt;br /&gt;
&lt;br /&gt;
=== Представление алгоритмов в виде диаграмм, псевдокода, кода на различных языках программирования ===&lt;br /&gt;
# проектировать и программировать линейные и разветвляющиеся структуры алгоритмов;&lt;br /&gt;
# планировать процесс реализации алгоритма при помощи псевдокода и диаграмм - [[:Категория:Diagrams]] - например, [[Binary search (diagram)]]&lt;br /&gt;
# использовать язык dgl и [[mermaid]] встраивать диаграммы алгоритмов в вики страницы см. [[Graphviz]]&lt;br /&gt;
&lt;br /&gt;
http://digida.mgpu.ru/images/diagrams/Diagrams_37be5e92fa212a080558fc26c16ac9cb.png&lt;br /&gt;
&lt;br /&gt;
{{#mermaid:graph TB&lt;br /&gt;
A[1-6] --&amp;gt; |Да| B[1-3] &lt;br /&gt;
A --&amp;gt; |Нет| C[7-9] &lt;br /&gt;
&lt;br /&gt;
B --&amp;gt; |Да| D[1-2] &lt;br /&gt;
B --&amp;gt; |Нет| E[4-5] &lt;br /&gt;
&lt;br /&gt;
D --&amp;gt; |Да| 1&lt;br /&gt;
D --&amp;gt; |Нет| 3&lt;br /&gt;
1 --&amp;gt;  |Нет| 2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
E --&amp;gt; |Нет| 6&lt;br /&gt;
E --&amp;gt; |Да| 4&lt;br /&gt;
4 --&amp;gt;  |Нет| 5&lt;br /&gt;
&lt;br /&gt;
C --&amp;gt;|Да| F[7-8]  &lt;br /&gt;
C --&amp;gt;|Нет| G[10-11]  &lt;br /&gt;
&lt;br /&gt;
F --&amp;gt; |Да| 7&lt;br /&gt;
7 --&amp;gt; |Нет| 8 &lt;br /&gt;
&lt;br /&gt;
F --&amp;gt; |Нет| 9&lt;br /&gt;
&lt;br /&gt;
G --&amp;gt; | Да | 10&lt;br /&gt;
10 --&amp;gt; | Нет| 11&lt;br /&gt;
G --&amp;gt; | Нет| 12&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===  Основные характеристики изучаемого алгоритмического языка ===&lt;br /&gt;
Типы данных. Константы. Переменные. Выражения. Арифметические и логические выражения. &lt;br /&gt;
&lt;br /&gt;
[[Файл:Snap data types2.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Спрайты, данные, процедуры как объекты первого класса. Структуры данных. Импорт и экспорт данных.&lt;br /&gt;
Список случайных чисел из  %сколько от %min до %max&lt;br /&gt;
[[Файл:Table sprite.png|800px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===  Структуры данных ===&lt;br /&gt;
&lt;br /&gt;
[[Файл:Collab dataset JSON.png]]&lt;br /&gt;
&lt;br /&gt;
* [[Массив]]ы и связные [[список|списки]]&lt;br /&gt;
* Стеки и очереди&lt;br /&gt;
* Деревья (бинарные, сбалансированные, двоичные деревья поиска)&lt;br /&gt;
* Графы (ориентированные и неориентированные, поиск в глубину и ширину)&lt;br /&gt;
&lt;br /&gt;
=== Алгоритмы сортировки и поиска === &lt;br /&gt;
Сравнение эффективности и вычислительной сложности алгоритмов&lt;br /&gt;
* [[Временная сложность алгоритма]]&lt;br /&gt;
&lt;br /&gt;
=== Рекурсия ===&lt;br /&gt;
* [[Рекурсия]]&lt;br /&gt;
* [[Фрактал]]&lt;br /&gt;
&lt;br /&gt;
== Литература ==&lt;br /&gt;
=== Основная литература  ===&lt;br /&gt;
&lt;br /&gt;
# [[Стили и методы программирования]], &lt;br /&gt;
# [[Computer Science with Snap! by Examples]], &lt;br /&gt;
# [[Initiation to Algorithmics with Scratch]]&lt;br /&gt;
&lt;br /&gt;
=== Дополнительная литература  ===&lt;br /&gt;
https://snap.berkeley.edu/snap/help/SnapManual.pdf - Руководство по Snap!&lt;br /&gt;
&lt;br /&gt;
== Критерии оценки по дисциплине (2022 - 2023) ==&lt;br /&gt;
&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|-&lt;br /&gt;
!{{Hl2}}| Образовательный результат&lt;br /&gt;
!{{Hl2}}| Тема&lt;br /&gt;
!{{Hl2}}| Задание&lt;br /&gt;
!{{Hl2}}| Пример&lt;br /&gt;
|- &lt;br /&gt;
| Знает понятия мира алгоритмов и структур данных	&lt;br /&gt;
|  Введение. Основные понятия. Пространство для совместной деятельности&lt;br /&gt;
| Использовать различные типы данных внутри Semantic MediaWiki, включить внешние данные в состав статьи&lt;br /&gt;
| Категория понятий - [[:Category:Понятие]]&lt;br /&gt;
В категории статей о датасетах	[[:Category:Dataset]]&lt;br /&gt;
|- &lt;br /&gt;
| Умеет сравнивать и объединять статьи о языках программирования&lt;br /&gt;
| История языков программирования и обучающих языков&lt;br /&gt;
| Редактировать, дополнять и объединять статьи о языках программирования&lt;br /&gt;
| [[:Category:Язык программирования]], [[Taxonomic_sandbox]]&lt;br /&gt;
|- &lt;br /&gt;
| &lt;br /&gt;
Умеет проектировать и программировать линейные и разветвляющиеся структуры алгоритмов, планировать процесс реализации алгоритма при помощи псевдокода и диаграмм - [[:Категория:Diagrams]], использовать язык dgl и [[mermaid]] встраивать диаграммы алгоритмов в вики страницы см. [[Graphviz]]&lt;br /&gt;
| Представление алгоритмов в виде диаграмм, [[псевдокод]]а, кода на различных языках программирования &lt;br /&gt;
| Создать диаграмму [[алгоритм]]а, представить реализацию алгоритма на языке высокого уровня&lt;br /&gt;
| Пример &lt;br /&gt;
* [[:Category:Diagrams]]&lt;br /&gt;
* [[Flowchart]]&lt;br /&gt;
|- &lt;br /&gt;
| Умеет создавать собственные блоки (команды и процедуры с входными параметрами) в среде [[Snap!]] (создавать [[Функция|функции]] с использованием различных типов данных))&lt;br /&gt;
| Основные характеристики изучаемого алгоритмического языка&lt;br /&gt;
| Процедуры видоизменения данных в среде [[Snap!]]&lt;br /&gt;
| Примеры видоизменения данных в [[Snap!]], [[Как получить список случайных значений|Получить список значений]]&lt;br /&gt;
|- &lt;br /&gt;
| оценивать и сравнивать эффективность алгоритмов, вычислительную сложность алгоритмов	&lt;br /&gt;
| [[Алгоритм]]ы сортировки и поиска&lt;br /&gt;
| Сравнить эффективность выполнения процедур над данными&lt;br /&gt;
| Готовые [[датасет]]ы из категории	[[:Category:Dataset]]. [[Сортировка вставками]], [[Быстрая сортировка]]&lt;br /&gt;
|- &lt;br /&gt;
| использовать рекурсию в командах и процедурах, использовать рекурсию при создании собственных функций&lt;br /&gt;
| Рекурсия&lt;br /&gt;
| Создать собственные команды и процедуры, в которых используется рекурсия&lt;br /&gt;
| [[Рекурсия]], [[Фрактал]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Напоминание по работа в вики среде ==&lt;br /&gt;
; [[Мастер-класс «Совместная работа со знаниями на поле цифровой дидактики»]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
[[Category:РУП]]&lt;/div&gt;</summary>
		<author><name>KuptsovaID</name></author>
	</entry>
	<entry>
		<id>http://digida.mgpu.ru/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:KuptsovaID/%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B_%D0%B8_%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%82%D1%83%D1%80%D1%8B_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85&amp;diff=14033</id>
		<title>Участник:KuptsovaID/Алгоритмы и структуры данных</title>
		<link rel="alternate" type="text/html" href="http://digida.mgpu.ru/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:KuptsovaID/%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B_%D0%B8_%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%82%D1%83%D1%80%D1%8B_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85&amp;diff=14033"/>
		<updated>2023-12-04T10:40:29Z</updated>

		<summary type="html">&lt;p&gt;KuptsovaID: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Это для курса &amp;quot;Алгоритмы и структуры данных&amp;quot;&lt;br /&gt;
&lt;br /&gt;
{{#ask:[[Как сделать сортировку в массиве?]] | format=embedded | embedonly=yes}}&lt;br /&gt;
&lt;br /&gt;
анн{{Curriculum&lt;br /&gt;
|Learning_outcomes=Цель&lt;br /&gt;
* теоретические знания и практический опыт в области основ алгоритмизации задач, классификации языков программирования, типов данных, структур данных, взаимосвязь алгоритмов и структур данных, особенностей реализации алгоритмов и типов данных в языках блочного программирования Scratch, Snap!, GP&lt;br /&gt;
; Знать&lt;br /&gt;
: Основные понятия, связанные с миром алгоритмов и структур данных &lt;br /&gt;
: основы алгоритмизации задач, структуры данных;&lt;br /&gt;
: типы данных, структуры данных;&lt;br /&gt;
: методы и алгоритмы поиска и сортировки данных;&lt;br /&gt;
; Уметь&lt;br /&gt;
* обращаться к внешним и внутренним дым из среды Semantic MediaWiki, уметь использовать различные типы данных внутри Semantic MediaWiki&lt;br /&gt;
* обмениваться проектами и блоками программ в Snap!&lt;br /&gt;
* сравнивать и объединять статьи о языках программирования &lt;br /&gt;
* импортировать и экспортировать данные в среду визуального программирования Snap!&lt;br /&gt;
* проектировать и программировать линейные и разветвляющиеся структуры алгоритмов;&lt;br /&gt;
* планировать процесс реализации алгоритма при помощи псевдокода и диаграмм &lt;br /&gt;
* использовать язык &#039;&#039;&#039;dgl&#039;&#039;&#039; , mermaid, &#039;&#039;&#039;PlantUML&#039;&#039;&#039; встраивать диаграммы алгоритмов в вики страницы &lt;br /&gt;
* представлять алгоритмы на страницах вики в виде диаграмм, псевдокода, кода на различных языках программирования&lt;br /&gt;
* создавать собственные блоки (команды и процедуры с входными параметрами) в среде Snap! (создавать функции с использованием различных типов данных))&lt;br /&gt;
* оценивать и сравнивать эффективность алгоритмов, вычислительную сложность алгоритмов&lt;br /&gt;
* использовать рекурсию в командах и процедурах, использовать рекурсию при создании собственных функций&lt;br /&gt;
* использовать объекты первого класса и лямбда исчисления.&lt;br /&gt;
|Description=Содержание&lt;br /&gt;
; 1. Введение в алгоритмы и структуры данных&lt;br /&gt;
* Определение алгоритма и структуры данных&lt;br /&gt;
; 2. Основные алгоритмы&lt;br /&gt;
* Линейный поиск&lt;br /&gt;
* Бинарный поиск&lt;br /&gt;
* Сортировка (вставками, выбором, слиянием, быстрая сортировка)&lt;br /&gt;
* Рекурсия и рекурсивные алгоритмы&lt;br /&gt;
; 3. Структуры данных&lt;br /&gt;
* Массивы и связные списки&lt;br /&gt;
* Стеки и очереди&lt;br /&gt;
* Деревья (бинарные, сбалансированные, двоичные деревья поиска)&lt;br /&gt;
* Графы (ориентированные и неориентированные, поиск в глубину и ширину)&lt;br /&gt;
|Environment=Snap!, R, RStudio, Lua, Python&lt;br /&gt;
|Book=Стили и методы программирования, Computer Science with Snap! by Examples, Initiation to Algorithmics with Scratch&lt;br /&gt;
}}&lt;br /&gt;
; Учебная группа, работающая с курсом Алгоритмы и структуры данных данных в в 2023 году -  [[:Категория:ПБД221м|ПБД221м]]&lt;br /&gt;
* Учебная группа, работающая с курсом Алгоритмы и структуры данных данных в в 2022 году -  [[:Категория:ПБД211М|ПБД211М]]&lt;br /&gt;
&lt;br /&gt;
; Особенность курса - [[Active Essay]]  смотрим и тестируем на поле &lt;br /&gt;
&lt;br /&gt;
&amp;lt;scratchblocks&amp;gt;&lt;br /&gt;
when [up arrow v] key pressed&lt;br /&gt;
point in direction (0)&lt;br /&gt;
move (10) steps&lt;br /&gt;
when [down arrow v] key pressed&lt;br /&gt;
point in direction (180)&lt;br /&gt;
move (10) steps&lt;br /&gt;
when [right arrow v] key pressed&lt;br /&gt;
point in direction (90)&lt;br /&gt;
move (10) steps&lt;br /&gt;
when [left arrow v] key pressed&lt;br /&gt;
point in direction (-90)&lt;br /&gt;
move (10) steps&amp;lt;/scratchblocks&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: И смотрим на то, как они выполняются&lt;br /&gt;
&amp;lt;scratch project=&amp;quot;210120481&amp;quot; /&amp;gt;&lt;br /&gt;
: или в [[Snap!]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;snap project=&amp;quot;Flocking_Snap&amp;quot; user=&amp;quot;patarakin&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Цель, результаты освоения дисциплины ==&lt;br /&gt;
В результате изучения данной дисциплины студенты будут иметь представление о современных алгоритмических языках, о способах записи [[алгоритм]]ов и конструирования программ, основах объектного подхода в программировании&lt;br /&gt;
; Цель &lt;br /&gt;
: теоретические знания и практический опыт в области основ алгоритмизации задач, классификации языков программирования, типов данных, структур данных, взаимосвязь алгоритмов и структур данных, особенностей реализации алгоритмов и типов данных в языках блочного программирования [[Scratch]], [[Snap!]], [[GP]]&lt;br /&gt;
&lt;br /&gt;
; Знать:&lt;br /&gt;
# Основные понятия, связанные с миром алгоритмов и структур данных См.  [[:Категория:Понятие]]&lt;br /&gt;
# основы алгоритмизации задач, структуры данных;&lt;br /&gt;
# типы данных, структуры данных;&lt;br /&gt;
# методы и алгоритмы поиска и сортировки данных;&lt;br /&gt;
; Уметь &lt;br /&gt;
# обращаться к внешним и внутренним данным из среды [[Semantic MediaWiki]], уметь использовать различные типы данных внутри Semantic MediaWiki см. [[:Категория:Dataset]]&lt;br /&gt;
# обмениваться проектами и блоками программ в [[Snap!]]&lt;br /&gt;
# сравнивать и объединять статьи о языках программирования [[Taxonomic_sandbox]]&lt;br /&gt;
# импортировать и экспортировать данные в среду визуального программирования [[Snap!]]&lt;br /&gt;
# проектировать и программировать  линейные и  разветвляющиеся структуры алгоритмов;&lt;br /&gt;
# планировать процесс реализации алгоритма при помощи псевдокода и диаграмм - [[:Категория:Diagrams]]&lt;br /&gt;
# использовать язык [[graphviz]], [[mermaid]], [[PlantUML]] встраивать диаграммы алгоритмов в вики страницы см. Graphviz + [[:Категория:Diagrams]] - &lt;br /&gt;
# представлять алгоритмы на страницах вики в виде диаграмм, псевдокода, кода на различных языках программирования&lt;br /&gt;
# создавать собственные блоки (команды и процедуры с входными параметрами) в среде Snap! (создавать функции с использованием различных типов данных))&lt;br /&gt;
# оценивать и сравнивать эффективность алгоритмов, вычислительную сложность алгоритмов&lt;br /&gt;
# использовать рекурсию в командах и процедурах, использовать рекурсию при создании собственных функций&lt;br /&gt;
# использовать объекты первого класса и лямбда исчисления&lt;br /&gt;
&lt;br /&gt;
== Содержание разделов дисциплины: ==&lt;br /&gt;
=== Введение. Основные понятия. Пространство для совместной деятельности ===&lt;br /&gt;
Основы алгоритмизации задач. Semantic MediaWiki как поле совместной деятельности. Типы данных  внутри Semantic MediaWiki. Обращение к внешним данным.&lt;br /&gt;
&lt;br /&gt;
=== История языков программирования и обучающих языков ===&lt;br /&gt;
Современные алгоритмические языки. Вычислительное мышление и вычислительное участие.&lt;br /&gt;
&lt;br /&gt;
=== Представление алгоритмов в виде диаграмм, псевдокода, кода на различных языках программирования ===&lt;br /&gt;
# проектировать и программировать линейные и разветвляющиеся структуры алгоритмов;&lt;br /&gt;
# планировать процесс реализации алгоритма при помощи псевдокода и диаграмм - [[:Категория:Diagrams]] - например, [[Binary search (diagram)]]&lt;br /&gt;
# использовать язык dgl и [[mermaid]] встраивать диаграммы алгоритмов в вики страницы см. [[Graphviz]]&lt;br /&gt;
&lt;br /&gt;
http://digida.mgpu.ru/images/diagrams/Diagrams_37be5e92fa212a080558fc26c16ac9cb.png&lt;br /&gt;
&lt;br /&gt;
{{#mermaid:graph TB&lt;br /&gt;
A[1-6] --&amp;gt; |Да| B[1-3] &lt;br /&gt;
A --&amp;gt; |Нет| C[7-9] &lt;br /&gt;
&lt;br /&gt;
B --&amp;gt; |Да| D[1-2] &lt;br /&gt;
B --&amp;gt; |Нет| E[4-5] &lt;br /&gt;
&lt;br /&gt;
D --&amp;gt; |Да| 1&lt;br /&gt;
D --&amp;gt; |Нет| 3&lt;br /&gt;
1 --&amp;gt;  |Нет| 2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
E --&amp;gt; |Нет| 6&lt;br /&gt;
E --&amp;gt; |Да| 4&lt;br /&gt;
4 --&amp;gt;  |Нет| 5&lt;br /&gt;
&lt;br /&gt;
C --&amp;gt;|Да| F[7-8]  &lt;br /&gt;
C --&amp;gt;|Нет| G[10-11]  &lt;br /&gt;
&lt;br /&gt;
F --&amp;gt; |Да| 7&lt;br /&gt;
7 --&amp;gt; |Нет| 8 &lt;br /&gt;
&lt;br /&gt;
F --&amp;gt; |Нет| 9&lt;br /&gt;
&lt;br /&gt;
G --&amp;gt; | Да | 10&lt;br /&gt;
10 --&amp;gt; | Нет| 11&lt;br /&gt;
G --&amp;gt; | Нет| 12&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===  Основные характеристики изучаемого алгоритмического языка ===&lt;br /&gt;
Типы данных. Константы. Переменные. Выражения. Арифметические и логические выражения. &lt;br /&gt;
&lt;br /&gt;
[[Файл:Snap data types2.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Спрайты, данные, процедуры как объекты первого класса. Структуры данных. Импорт и экспорт данных.&lt;br /&gt;
Список случайных чисел из  %сколько от %min до %max&lt;br /&gt;
[[Файл:Table sprite.png|800px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===  Структуры данных ===&lt;br /&gt;
&lt;br /&gt;
[[Файл:Collab dataset JSON.png]]&lt;br /&gt;
&lt;br /&gt;
* [[Массив]]ы и связные [[список|списки]]&lt;br /&gt;
* Стеки и очереди&lt;br /&gt;
* Деревья (бинарные, сбалансированные, двоичные деревья поиска)&lt;br /&gt;
* Графы (ориентированные и неориентированные, поиск в глубину и ширину)&lt;br /&gt;
&lt;br /&gt;
=== Алгоритмы сортировки и поиска === &lt;br /&gt;
Сравнение эффективности и вычислительной сложности алгоритмов&lt;br /&gt;
* [[Временная сложность алгоритма]]&lt;br /&gt;
&lt;br /&gt;
=== Рекурсия ===&lt;br /&gt;
* [[Рекурсия]]&lt;br /&gt;
* [[Фрактал]]&lt;br /&gt;
&lt;br /&gt;
== Литература ==&lt;br /&gt;
=== Основная литература  ===&lt;br /&gt;
&lt;br /&gt;
# [[Стили и методы программирования]], &lt;br /&gt;
# [[Computer Science with Snap! by Examples]], &lt;br /&gt;
# [[Initiation to Algorithmics with Scratch]]&lt;br /&gt;
&lt;br /&gt;
=== Дополнительная литература  ===&lt;br /&gt;
https://snap.berkeley.edu/snap/help/SnapManual.pdf - Руководство по Snap!&lt;br /&gt;
&lt;br /&gt;
== Критерии оценки по дисциплине (2022 - 2023) ==&lt;br /&gt;
&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
|-&lt;br /&gt;
!{{Hl2}}| Образовательный результат&lt;br /&gt;
!{{Hl2}}| Тема&lt;br /&gt;
!{{Hl2}}| Задание&lt;br /&gt;
!{{Hl2}}| Пример&lt;br /&gt;
|- &lt;br /&gt;
| Знает понятия мира алгоритмов и структур данных	&lt;br /&gt;
|  Введение. Основные понятия. Пространство для совместной деятельности&lt;br /&gt;
| Использовать различные типы данных внутри Semantic MediaWiki, включить внешние данные в состав статьи&lt;br /&gt;
| Категория понятий - [[:Category:Понятие]]&lt;br /&gt;
В категории статей о датасетах	[[:Category:Dataset]]&lt;br /&gt;
|- &lt;br /&gt;
| Умеет сравнивать и объединять статьи о языках программирования&lt;br /&gt;
| История языков программирования и обучающих языков&lt;br /&gt;
| Редактировать, дополнять и объединять статьи о языках программирования&lt;br /&gt;
| [[:Category:Язык программирования]], [[Taxonomic_sandbox]]&lt;br /&gt;
|- &lt;br /&gt;
| &lt;br /&gt;
Умеет проектировать и программировать линейные и разветвляющиеся структуры алгоритмов, планировать процесс реализации алгоритма при помощи псевдокода и диаграмм - [[:Категория:Diagrams]], использовать язык dgl и [[mermaid]] встраивать диаграммы алгоритмов в вики страницы см. [[Graphviz]]&lt;br /&gt;
| Представление алгоритмов в виде диаграмм, [[псевдокод]]а, кода на различных языках программирования &lt;br /&gt;
| Создать диаграмму [[алгоритм]]а, представить реализацию алгоритма на языке высокого уровня&lt;br /&gt;
| Пример &lt;br /&gt;
* [[:Category:Diagrams]]&lt;br /&gt;
* [[Flowchart]]&lt;br /&gt;
|- &lt;br /&gt;
| Умеет создавать собственные блоки (команды и процедуры с входными параметрами) в среде [[Snap!]] (создавать [[Функция|функции]] с использованием различных типов данных))&lt;br /&gt;
| Основные характеристики изучаемого алгоритмического языка&lt;br /&gt;
| Процедуры видоизменения данных в среде [[Snap!]]&lt;br /&gt;
| Примеры видоизменения данных в [[Snap!]], [[Как получить список случайных значений|Получить список значений]]&lt;br /&gt;
|- &lt;br /&gt;
| оценивать и сравнивать эффективность алгоритмов, вычислительную сложность алгоритмов	&lt;br /&gt;
| [[Алгоритм]]ы сортировки и поиска&lt;br /&gt;
| Сравнить эффективность выполнения процедур над данными&lt;br /&gt;
| Готовые [[датасет]]ы из категории	[[:Category:Dataset]]. [[Сортировка вставками]], [[Быстрая сортировка]]&lt;br /&gt;
|- &lt;br /&gt;
| использовать рекурсию в командах и процедурах, использовать рекурсию при создании собственных функций&lt;br /&gt;
| Рекурсия&lt;br /&gt;
| Создать собственные команды и процедуры, в которых используется рекурсия&lt;br /&gt;
| [[Рекурсия]], [[Фрактал]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Напоминание по работа в вики среде ==&lt;br /&gt;
; [[Мастер-класс «Совместная работа со знаниями на поле цифровой дидактики»]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
[[Category:РУП]]&lt;/div&gt;</summary>
		<author><name>KuptsovaID</name></author>
	</entry>
	<entry>
		<id>http://digida.mgpu.ru/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:KuptsovaID/%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B_%D0%B8_%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%82%D1%83%D1%80%D1%8B_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85&amp;diff=13984</id>
		<title>Участник:KuptsovaID/Алгоритмы и структуры данных</title>
		<link rel="alternate" type="text/html" href="http://digida.mgpu.ru/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:KuptsovaID/%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B_%D0%B8_%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%82%D1%83%D1%80%D1%8B_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85&amp;diff=13984"/>
		<updated>2023-12-01T19:17:27Z</updated>

		<summary type="html">&lt;p&gt;KuptsovaID: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Это для курса &amp;quot;Алгоритмы и структуры данных&amp;quot;&lt;br /&gt;
&lt;br /&gt;
{{#ask:[[Как сделать сортировку в массиве?]] | format=embedded | embedonly=yes}}&lt;/div&gt;</summary>
		<author><name>KuptsovaID</name></author>
	</entry>
	<entry>
		<id>http://digida.mgpu.ru/index.php?title=%D0%9A%D0%B0%D0%BA_%D1%81%D0%B4%D0%B5%D0%BB%D0%B0%D1%82%D1%8C_%D1%81%D0%BE%D1%80%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%BA%D1%83_%D0%B2_%D0%BC%D0%B0%D1%81%D1%81%D0%B8%D0%B2%D0%B5%3F&amp;diff=13948</id>
		<title>Как сделать сортировку в массиве?</title>
		<link rel="alternate" type="text/html" href="http://digida.mgpu.ru/index.php?title=%D0%9A%D0%B0%D0%BA_%D1%81%D0%B4%D0%B5%D0%BB%D0%B0%D1%82%D1%8C_%D1%81%D0%BE%D1%80%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%BA%D1%83_%D0%B2_%D0%BC%D0%B0%D1%81%D1%81%D0%B8%D0%B2%D0%B5%3F&amp;diff=13948"/>
		<updated>2023-12-01T11:25:09Z</updated>

		<summary type="html">&lt;p&gt;KuptsovaID: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Scripting Tutorials&lt;br /&gt;
|Description=Отсортировать массив в порядке возрастания&lt;br /&gt;
|Field_of_knowledge=Информатика, Образование&lt;br /&gt;
|FieldActivity=Computational Thinker&lt;br /&gt;
|Возрастная категория=14&lt;br /&gt;
|Environment=Pascal, Python, Python IDLE, Snap!&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
var a:array [1..6] of integer; i,j, min,minI: integer;&lt;br /&gt;
begin&lt;br /&gt;
for i:=1 to 6 do&lt;br /&gt;
begin&lt;br /&gt;
write (&#039;a[&#039;,i,&#039;]=&#039;);&lt;br /&gt;
readln(a[i]);&lt;br /&gt;
end;&lt;br /&gt;
for i:=1 to 6 do&lt;br /&gt;
begin&lt;br /&gt;
min:=a[i];&lt;br /&gt;
minI:=i;&lt;br /&gt;
for j:=i+1 to 6 do&lt;br /&gt;
if a[j]&amp;lt;min then begin min:=a[j]; minI:=j; end;&lt;br /&gt;
a[minI]:=a[i];&lt;br /&gt;
a[i]:=min;&lt;br /&gt;
end;&lt;br /&gt;
for i:=1 to 6 do&lt;br /&gt;
write (a[i],&#039; &#039;);&lt;br /&gt;
end.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>KuptsovaID</name></author>
	</entry>
	<entry>
		<id>http://digida.mgpu.ru/index.php?title=%D0%9A%D0%B0%D0%BA_%D1%81%D0%B4%D0%B5%D0%BB%D0%B0%D1%82%D1%8C_%D1%81%D0%BE%D1%80%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%BA%D1%83_%D0%B2_%D0%BC%D0%B0%D1%81%D1%81%D0%B8%D0%B2%D0%B5%3F&amp;diff=13947</id>
		<title>Как сделать сортировку в массиве?</title>
		<link rel="alternate" type="text/html" href="http://digida.mgpu.ru/index.php?title=%D0%9A%D0%B0%D0%BA_%D1%81%D0%B4%D0%B5%D0%BB%D0%B0%D1%82%D1%8C_%D1%81%D0%BE%D1%80%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%BA%D1%83_%D0%B2_%D0%BC%D0%B0%D1%81%D1%81%D0%B8%D0%B2%D0%B5%3F&amp;diff=13947"/>
		<updated>2023-12-01T11:17:01Z</updated>

		<summary type="html">&lt;p&gt;KuptsovaID: Новая страница: «{{Scripting Tutorials |Description=Отсортировать массив в порядке возрастания |Field_of_knowledge=Информатика, Образование |FieldActivity=Computational Thinker |Возрастная категория=14 |Environment=Pascal, Python, Python IDLE, Snap! }} var a:array [1..6] of integer; i,j, min,minI: integer;  begin  for i:=1 to 6 do  begin  write (&amp;#039;a[&amp;#039;,i,&amp;#039;]=&amp;#039;);  readln(a[i]);  end;  for i:=1 to 6 do...»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Scripting Tutorials&lt;br /&gt;
|Description=Отсортировать массив в порядке возрастания&lt;br /&gt;
|Field_of_knowledge=Информатика, Образование&lt;br /&gt;
|FieldActivity=Computational Thinker&lt;br /&gt;
|Возрастная категория=14&lt;br /&gt;
|Environment=Pascal, Python, Python IDLE, Snap!&lt;br /&gt;
}}&lt;br /&gt;
var a:array [1..6] of integer; i,j, min,minI: integer;&lt;br /&gt;
begin&lt;br /&gt;
for i:=1 to 6 do&lt;br /&gt;
begin&lt;br /&gt;
write (&#039;a[&#039;,i,&#039;]=&#039;);&lt;br /&gt;
readln(a[i]);&lt;br /&gt;
end;&lt;br /&gt;
for i:=1 to 6 do&lt;br /&gt;
begin&lt;br /&gt;
min:=a[i];&lt;br /&gt;
minI:=i;&lt;br /&gt;
for j:=i+1 to 6 do&lt;br /&gt;
if a[j]&amp;lt;min then begin min:=a[j]; minI:=j; end;&lt;br /&gt;
a[minI]:=a[i];&lt;br /&gt;
a[i]:=min;&lt;br /&gt;
end;&lt;br /&gt;
for i:=1 to 6 do&lt;br /&gt;
write (a[i],&#039; &#039;);&lt;br /&gt;
end.&lt;/div&gt;</summary>
		<author><name>KuptsovaID</name></author>
	</entry>
	<entry>
		<id>http://digida.mgpu.ru/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:KuptsovaID&amp;diff=13944</id>
		<title>Участник:KuptsovaID</title>
		<link rel="alternate" type="text/html" href="http://digida.mgpu.ru/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:KuptsovaID&amp;diff=13944"/>
		<updated>2023-12-01T10:33:18Z</updated>

		<summary type="html">&lt;p&gt;KuptsovaID: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Категория:ПБД221м]]&lt;br /&gt;
[[Категория:UserMGPU]]&lt;br /&gt;
К курсу &amp;quot;Проектирование и разработка приложений&amp;quot; http://digida.mgpu.ru/index.php/%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:KuptsovaID/%D0%9F%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B8_%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0_%D0%BF%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D0%B9&lt;br /&gt;
&lt;br /&gt;
К курсу &amp;quot;Алгоритмы и структуры данных&amp;quot; http://digida.mgpu.ru/index.php/%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:KuptsovaID/%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B_%D0%B8_%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%82%D1%83%D1%80%D1%8B_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85&lt;/div&gt;</summary>
		<author><name>KuptsovaID</name></author>
	</entry>
	<entry>
		<id>http://digida.mgpu.ru/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:KuptsovaID&amp;diff=13943</id>
		<title>Участник:KuptsovaID</title>
		<link rel="alternate" type="text/html" href="http://digida.mgpu.ru/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:KuptsovaID&amp;diff=13943"/>
		<updated>2023-12-01T10:32:25Z</updated>

		<summary type="html">&lt;p&gt;KuptsovaID: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Категория:ПБД221м]]&lt;br /&gt;
[[Категория:UserMGPU]]&lt;br /&gt;
К курсу &amp;quot;Проектирование и разработка приложений&amp;quot; http://digida.mgpu.ru/index.php/%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:KuptsovaID/%D0%9F%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B8_%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0_%D0%BF%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D0%B9&lt;/div&gt;</summary>
		<author><name>KuptsovaID</name></author>
	</entry>
	<entry>
		<id>http://digida.mgpu.ru/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:KuptsovaID&amp;diff=13942</id>
		<title>Участник:KuptsovaID</title>
		<link rel="alternate" type="text/html" href="http://digida.mgpu.ru/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:KuptsovaID&amp;diff=13942"/>
		<updated>2023-12-01T10:32:04Z</updated>

		<summary type="html">&lt;p&gt;KuptsovaID: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Категория:ПБД221м]]&lt;br /&gt;
[[Категория:UserMGPU]]&lt;br /&gt;
К курсу &amp;quot;Проектирование и разработка приложений&amp;quot; Участник:KuptsovaID/Проектирование_и_разработка_приложений&lt;/div&gt;</summary>
		<author><name>KuptsovaID</name></author>
	</entry>
	<entry>
		<id>http://digida.mgpu.ru/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:KuptsovaID&amp;diff=13941</id>
		<title>Участник:KuptsovaID</title>
		<link rel="alternate" type="text/html" href="http://digida.mgpu.ru/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:KuptsovaID&amp;diff=13941"/>
		<updated>2023-12-01T10:30:41Z</updated>

		<summary type="html">&lt;p&gt;KuptsovaID: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Категория:ПБД221м]]&lt;br /&gt;
[[Категория:UserMGPU]]&lt;br /&gt;
К курсу &amp;quot;Проектирование и разработка приложений&amp;quot; Участник:KuptsovaID/Проектирование и разработка приложений&lt;/div&gt;</summary>
		<author><name>KuptsovaID</name></author>
	</entry>
	<entry>
		<id>http://digida.mgpu.ru/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:KuptsovaID&amp;diff=13940</id>
		<title>Участник:KuptsovaID</title>
		<link rel="alternate" type="text/html" href="http://digida.mgpu.ru/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:KuptsovaID&amp;diff=13940"/>
		<updated>2023-12-01T10:29:35Z</updated>

		<summary type="html">&lt;p&gt;KuptsovaID: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Категория:ПБД221м]]&lt;br /&gt;
[[Категория:UserMGPU]]&lt;br /&gt;
К курсу &amp;quot;Проектирование и разработка приложений&amp;quot;&lt;br /&gt;
&lt;br /&gt;
К курсу &amp;quot;Алгоритмы и структуры данных&amp;quot;&lt;/div&gt;</summary>
		<author><name>KuptsovaID</name></author>
	</entry>
	<entry>
		<id>http://digida.mgpu.ru/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:KuptsovaID&amp;diff=13939</id>
		<title>Участник:KuptsovaID</title>
		<link rel="alternate" type="text/html" href="http://digida.mgpu.ru/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:KuptsovaID&amp;diff=13939"/>
		<updated>2023-12-01T10:29:22Z</updated>

		<summary type="html">&lt;p&gt;KuptsovaID: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Категория:ПБД221м]]&lt;br /&gt;
[[Категория:UserMGPU]]&lt;br /&gt;
К курсу &amp;quot;Проектирование и разработка приложений&amp;quot;&lt;br /&gt;
К курсу &amp;quot;Алгоритмы и структуры данных&amp;quot;&lt;/div&gt;</summary>
		<author><name>KuptsovaID</name></author>
	</entry>
	<entry>
		<id>http://digida.mgpu.ru/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:KuptsovaID/%D0%9F%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B8_%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0_%D0%BF%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D0%B9&amp;diff=13938</id>
		<title>Участник:KuptsovaID/Проектирование и разработка приложений</title>
		<link rel="alternate" type="text/html" href="http://digida.mgpu.ru/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:KuptsovaID/%D0%9F%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B8_%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0_%D0%BF%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D0%B9&amp;diff=13938"/>
		<updated>2023-12-01T10:26:10Z</updated>

		<summary type="html">&lt;p&gt;KuptsovaID: Новая страница: «Это для курса &amp;quot;Проектирование и разработка приложений&amp;quot;»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Это для курса &amp;quot;Проектирование и разработка приложений&amp;quot;&lt;/div&gt;</summary>
		<author><name>KuptsovaID</name></author>
	</entry>
	<entry>
		<id>http://digida.mgpu.ru/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:KuptsovaID/%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B_%D0%B8_%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%82%D1%83%D1%80%D1%8B_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85&amp;diff=13937</id>
		<title>Участник:KuptsovaID/Алгоритмы и структуры данных</title>
		<link rel="alternate" type="text/html" href="http://digida.mgpu.ru/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:KuptsovaID/%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B_%D0%B8_%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%82%D1%83%D1%80%D1%8B_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85&amp;diff=13937"/>
		<updated>2023-12-01T10:24:10Z</updated>

		<summary type="html">&lt;p&gt;KuptsovaID: Новая страница: «Это для курса &amp;quot;Алгоритмы и структуры данных&amp;quot;»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Это для курса &amp;quot;Алгоритмы и структуры данных&amp;quot;&lt;/div&gt;</summary>
		<author><name>KuptsovaID</name></author>
	</entry>
</feed>