Участник:KuptsovaID/Алгоритмы и структуры данных: различия между версиями
Строка 33: | Строка 33: | ||
{{#ask: [[Category:UserMGPU]] | format = count }} | {{#ask: [[Category:UserMGPU]] | format = count }} | ||
{{#ask: [[Category:UserMGPU]] | format = ul }} | {{#ask: [[Category:UserMGPU]] | format = ul }} | ||
* Посчитай внутри вики количество участников из ПБД-221м [[:Category:ПБД221м]]? | |||
{{#ask: [[Category:ПБД221м]] | format = count }} | |||
{{#ask: [[Category:ПБД221м]] | format = ul }} | |||
* Посчитай число участников, которые указали, что используют язык Scratch? | * Посчитай число участников, которые указали, что используют язык Scratch? |
Версия 18:40, 21 декабря 2023
Это для курса "Алгоритмы и структуры данных"
Описание | Отсортировать массив в порядке возрастания |
---|---|
Область знаний | Информатика, Образование |
Область использования (ISTE) | Computational Thinker |
Возрастная категория | 14
|
Поясняющее видео | |
Близкие рецепту понятия | |
Среды и средства для приготовления рецепта: | 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 ('a[',i,']=');
readln(a[i]);
end;
for i:=1 to 6 do
begin
min:=a[i];
minI:=i;
for j:=i+1 to 6 do
if a[j]<min then begin min:=a[j]; minI:=j; end;
a[minI]:=a[i];
a[i]:=min;
end;
for i:=1 to 6 do
write (a[i],' ');
end.
{{Curriculum |Learning_outcomes=Цель
- теоретические знания и практический опыт в области основ алгоритмизации задач, классификации языков программирования, типов данных, структур данных, взаимосвязь алгоритмов и структур данных, особенностей реализации алгоритмов и типов данных в языках блочного программирования Scratch, Snap!, GP
- Знать
- Основные понятия, связанные с миром алгоритмов и структур данных
- основы алгоритмизации задач, структуры данных;
- типы данных, структуры данных;
- методы и алгоритмы поиска и сортировки данных;
- Уметь
- обращаться к внешним и внутренним данным из среды Semantic MediaWiki, уметь использовать различные типы данных внутри Semantic MediaWiki
- обмениваться проектами и блоками программ в Snap!
- сравнивать и объединять статьи о языках программирования
- импортировать и экспортировать данные в среду визуального программирования Snap!
- проектировать и программировать линейные и разветвляющиеся структуры алгоритмов;
- планировать процесс реализации алгоритма при помощи псевдокода и диаграмм
- использовать язык dgl , mermaid, PlantUML встраивать диаграммы алгоритмов в вики страницы
- представлять алгоритмы на страницах вики в виде диаграмм, псевдокода, кода на различных языках программирования
- создавать собственные блоки (команды и процедуры с входными параметрами) в среде Snap! (создавать функции с использованием различных типов данных))
- оценивать и сравнивать эффективность алгоритмов, вычислительную сложность алгоритмов
- использовать рекурсию в командах и процедурах, использовать рекурсию при создании собственных функций
- использовать объекты первого класса и лямбда исчисления.
Уметь обращаться к внешним и внутренним дым из среды Semantic MediaWiki, уметь использовать различные типы данных внутри Semantic MediaWiki
- Примеры задач на внутренние данные
- Посчитай внутри вики количество участников из МГПУ Category:UserMGPU?
282
- AAnosov
- AbdullaevaSP041
- Abushkindb
- Adila
- AfanasevDV
- Afonbro
- Agisheva Viktoria
- AizatullovaDN
- AizatullovaDinara
- AlekhinaAA
- AlexandraSemina
- AlexandraSemina2
- Alexbard2000
- AlievM
- Alina
- Alina Ermakova
- Alina Igorevna
- AliyaSa
- Anastasia Alekseychuk
- Anastasia Lugovaya
- Annapvorman
- Annavorman
- AntoshkinAA
- AseevaGalina
- Azevichai
- BarykinaEA
- Bashkatova Anna
- BazanovaAY
- BelikMary
- BeregovaMS
- Black0mesa
- Bobiloket
- BoboevaSN
- BondarenkoEV
- Borisova Tanya
- BratkinPA
- DavydovAE
- Die Toten Engel
- Dimentry
- Dmitriy
- Drel'Tar
- Dsalokin
- EVSmolin777
- EgorovAS
- EgorovSN
- Egorovsn051
- Ekaterina Listopad
- ElenaGrcaheva
- EliseevAV
- EvgenovaKA
- Посчитай внутри вики количество участников из ПБД-221м Category:ПБД221м?
10
- BarykinaEA
- Bobiloket
- Die Toten Engel
- Ekaterina Listopad
- Gulidova Ekaterina
- Kamyshnikovaej
- Kohan Violetta
- KuptsovaID
- Rybakinaea
- Sergey031
- Посчитай число участников, которые указали, что используют язык Scratch?
- Собери таблицу с описанием писателей, которые оказали влияние на язык R
- Собери тайм-лайн с языками, ведущими свое происхождение от языка Prolog
- Предложи собственную задачу на использование внутренних данных в среде Semantic MediaWiki
- Примеры задач на внешние данные
- Размести на странице выборку из датасета, который уже есть в категории Category:Dataset
- Добавь новый датасет в Category:Dataset и предложи вариант его использования
- Учебная группа, работающая с курсом Алгоритмы и структуры данных данных в в 2023 году - ПБД221м
- Учебная группа, работающая с курсом Алгоритмы и структуры данных данных в в 2022 году - ПБД211М
- Особенность курса - Active Essay смотрим и тестируем на поле
when [up arrow v] key pressed point in direction (0) move (10) steps when [down arrow v] key pressed point in direction (180) move (10) steps when [right arrow v] key pressed point in direction (90) move (10) steps when [left arrow v] key pressed point in direction (-90) move (10) steps
- И смотрим на то, как они выполняются
- или в Snap!
Цель, результаты освоения дисциплины
В результате изучения данной дисциплины студенты будут иметь представление о современных алгоритмических языках, о способах записи алгоритмов и конструирования программ, основах объектного подхода в программировании
- Цель
- теоретические знания и практический опыт в области основ алгоритмизации задач, классификации языков программирования, типов данных, структур данных, взаимосвязь алгоритмов и структур данных, особенностей реализации алгоритмов и типов данных в языках блочного программирования Scratch, Snap!, GP
- Знать
- Основные понятия, связанные с миром алгоритмов и структур данных См. Категория:Понятие
- основы алгоритмизации задач, структуры данных;
- типы данных, структуры данных;
- методы и алгоритмы поиска и сортировки данных;
- Уметь
- обращаться к внешним и внутренним данным из среды Semantic MediaWiki, уметь использовать различные типы данных внутри Semantic MediaWiki см. Категория:Dataset
- обмениваться проектами и блоками программ в Snap!
- сравнивать и объединять статьи о языках программирования Taxonomic_sandbox
- импортировать и экспортировать данные в среду визуального программирования Snap!
- проектировать и программировать линейные и разветвляющиеся структуры алгоритмов;
- планировать процесс реализации алгоритма при помощи псевдокода и диаграмм - Категория:Diagrams
- использовать язык graphviz, mermaid, PlantUML встраивать диаграммы алгоритмов в вики страницы см. Graphviz + Категория:Diagrams -
- представлять алгоритмы на страницах вики в виде диаграмм, псевдокода, кода на различных языках программирования
- создавать собственные блоки (команды и процедуры с входными параметрами) в среде Snap! (создавать функции с использованием различных типов данных))
- оценивать и сравнивать эффективность алгоритмов, вычислительную сложность алгоритмов
- использовать рекурсию в командах и процедурах, использовать рекурсию при создании собственных функций
- использовать объекты первого класса и лямбда исчисления
Содержание разделов дисциплины:
Введение. Основные понятия. Пространство для совместной деятельности
Основы алгоритмизации задач. Semantic MediaWiki как поле совместной деятельности. Типы данных внутри Semantic MediaWiki. Обращение к внешним данным.
История языков программирования и обучающих языков
Современные алгоритмические языки. Вычислительное мышление и вычислительное участие.
Представление алгоритмов в виде диаграмм, псевдокода, кода на различных языках программирования
- проектировать и программировать линейные и разветвляющиеся структуры алгоритмов;
- планировать процесс реализации алгоритма при помощи псевдокода и диаграмм - Категория:Diagrams - например, Binary search (diagram)
- использовать язык dgl и mermaid встраивать диаграммы алгоритмов в вики страницы см. Graphviz
Основные характеристики изучаемого алгоритмического языка
Типы данных. Константы. Переменные. Выражения. Арифметические и логические выражения.
Спрайты, данные, процедуры как объекты первого класса. Структуры данных. Импорт и экспорт данных. Список случайных чисел из %сколько от %min до %max
Структуры данных
- Массивы и связные списки
- Стеки и очереди
- Деревья (бинарные, сбалансированные, двоичные деревья поиска)
- Графы (ориентированные и неориентированные, поиск в глубину и ширину)
Алгоритмы сортировки и поиска
Сравнение эффективности и вычислительной сложности алгоритмов
Рекурсия
Литература
Основная литература
- Стили и методы программирования,
- Computer Science with Snap! by Examples,
- Initiation to Algorithmics with Scratch
Дополнительная литература
https://snap.berkeley.edu/snap/help/SnapManual.pdf - Руководство по Snap!
Критерии оценки по дисциплине (2022 - 2023)
Образовательный результат | Тема | Задание | Пример |
---|---|---|---|
Знает понятия мира алгоритмов и структур данных | Введение. Основные понятия. Пространство для совместной деятельности | Использовать различные типы данных внутри Semantic MediaWiki, включить внешние данные в состав статьи | Категория понятий - Category:Понятие
В категории статей о датасетах Category:Dataset |
Умеет сравнивать и объединять статьи о языках программирования | История языков программирования и обучающих языков | Редактировать, дополнять и объединять статьи о языках программирования | Category:Язык программирования, Taxonomic_sandbox |
Умеет проектировать и программировать линейные и разветвляющиеся структуры алгоритмов, планировать процесс реализации алгоритма при помощи псевдокода и диаграмм - Категория:Diagrams, использовать язык dgl и mermaid встраивать диаграммы алгоритмов в вики страницы см. Graphviz |
Представление алгоритмов в виде диаграмм, псевдокода, кода на различных языках программирования | Создать диаграмму алгоритма, представить реализацию алгоритма на языке высокого уровня | Пример |
Умеет создавать собственные блоки (команды и процедуры с входными параметрами) в среде Snap! (создавать функции с использованием различных типов данных)) | Основные характеристики изучаемого алгоритмического языка | Процедуры видоизменения данных в среде Snap! | Примеры видоизменения данных в Snap!, Получить список значений |
оценивать и сравнивать эффективность алгоритмов, вычислительную сложность алгоритмов | Алгоритмы сортировки и поиска | Сравнить эффективность выполнения процедур над данными | Готовые датасеты из категории Category:Dataset. Сортировка вставками, Быстрая сортировка |
использовать рекурсию в командах и процедурах, использовать рекурсию при создании собственных функций | Рекурсия | Создать собственные команды и процедуры, в которых используется рекурсия | Рекурсия, Фрактал |
Напоминание по работа в вики среде