Программирование на языках высокого уровня

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



Планируемые результаты обучения (Знать, Уметь, Владеть) Целью освоения дисциплины является формирование у студентов понимания общих принципов использования языков высокого уровня

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

Знать
  1. основные типы данных, их особенности
  2. основы функционального и объектно-ориентированного программирования;
  3. особенности реализации программ на языках различных типов ;
Уметь
  1. выбирать наиболее подходящий способ программирования;
  2. выполнять стандартные операции над данными различного типа;
  3. писать программу разными способами - с использованием процедурного, функционального, объектно-ориентированного подходов
  4. структурировать программы;
  5. работать с файлами (создавать, записывать, считывать)
  6. использовать стандартные модули и библиотеки для работы с данными, текстами, временем
  7. находить ошибки, улучшать код, документировать программу
Владеть
  1. навыками совмещения нескольких языков высокого уровня
  2. навыками совместной деятельности в среде Semantic MediaWiki
Содержание разделов курса
  1. Языки высокого уровня. Типология языков
  2. Стандартные типы данных
  3. Концепции программирования. Распространённые языковые конструкции
  4. Контейнеры для хранения данных.
  5. Функциональное программирование. Функции высшего порядка
  6. Объектно-ориентированное программирование
  7. Визуальное программирование
  8. Алгоритмы поиска и сортировки в разных языках
  9. Модули и библиотеки
  10. Работа с данными. Среда выращивания данных и анализа данных.
  11. Работа с медиа. Программирование игр и программирование внутри игр.
Видео запись
Среды и средства, которые поддерживают учебный курс Snap!, Python, PHP, Semantic MediaWiki, Lisp, Lua, R, JavaScript
Книги, на которых основывается учебный курс The Wiki Way: Quick Collaboration on the Web, Стили и методы программирования, Structure and Interpretation of Computer Programs, Simply Scheme: Introducing Computer Science
  1. Связать курс Программирование на языках высокого уровня и репозиторий МЭШ
    1. Сообщество МЭШ
    2. Взаимное копирование МЭШ (датасет)

Для магистрантов


Содержание разделов дисциплины

Введение

Авторы и книги, которые оказали влияние на курс

 DescriptionEnvironment
BruckmanAmy Susan Bruckman (born 1965) is a professor at the Georgia Institute of Technology affiliated with the School of Interactive Computing and the GVU Center. She is best known for her pioneering research in the fields of online communities and the learning sciences. In 1999, she was selected as one of MIT Technology Review's TR100 awardees, honoring 100 remarkable innovators under the age of 35. Эми Брукман, создала учебное сообщество MOOSE Crossing - одно из первых учительских сообществ в среде Media MOO и описавшая первые принципы организации сетевых учебных сообществMOOSE Crossing
Cunningham120px-Cunningham_Patarakin_sm.jpg
Ward Cunningham - программист и создатель первой wiki https://wiki.c2.com/?InformalHistoryOfProgrammingIdeas
Smalltalk
Semantic MediaWiki
Экстремальное программирование
DiSessaSome of his notable work in Education research focuses on the concept of material intelligence and computational literacy, and ontological innovations and the role of theory in design based research.Лого
Boxer
EpsteinEpstein Joshua - Профессор эпидемиологии в Школе глобального общественного здравоохранения Нью-Йоркского университета; директор-основатель Лаборатории агентного моделирования Нью-Йоркского университета, аффилированной с Курантовским институтом математических наук. Джошуа Эпштейн – автор всемирно признанных и уже ставших классическими книг по агентному моделированию - «Growing artificial societies: Social science from the bottom up», «Agent_Zero: Toward Neurocognitive Foundations for Generative Social Science» и др., в прошлом веке развивал теорию клеточных автоматов и эволюционным путем разработал методологию моделирования социальных и экономических процессов с применением агент-ориентированного подхода. Являясь пионером в этой сфере, в 2006 г. совместно с Джоном Паркером разработал крупнейшую в мире агент-ориентированную модель, включающую в себя все население планеты, которая неоднократно использовалась для оценки скорости распространения эпидемий различных заболеваний.Growing Artificial Societies: Social Science From the Bottom Up (Complex Adaptive Systems)
GainesBrian R. Gaines (born c. 1938) is a British scientist, engineer, and Professor Emeritus at the University of Calgary. Gaines is one of the pioneers in what is known as stochastic computing, a term he used first to characterise the highly attractive field when working at the Standard Telephones and Cables Ltd. (STL) in search of computational processors capable of learning during the 1960s.WebGrid
GeeДжеймс Джи американский исследователь в области психолингвистики, анализа дискурса, социолингвистики , двуязычного образования, вычислительной и игровой грамотностиКомпьютерная игра
Gamestar Mechanic
Мультимодальность
Hal AbelsonГарольд (Хэл) Абельсон профессор электротехники и компьютерных наук в Массачусетском технологическом институте, член Института инженеров электротехники и электроники, и директор-основатель Creative Commons и Free Software Foundation.Лого
App Inventor
Boxer
Scheme
Structure and Interpretation of Computer Programs
Turtle Geometry: The Computer as a Medium for Exploring Mathematics
Blown to Bits
Harvey120px-Harvey_solomon2.png
Brian Harvey - Математик, программист, лектор, автор нескольких книг по обучению программированию. Автор UCB Logo, Snap!
Scratch
Snap!
Лого
Scheme
UCB Logo
KayАлан Кёртис Кэй (англ. Alan Curtis Kay; 17 мая 1940) — американский учёный в области теории вычислительных систем. Один из пионеров в областях объектно-ориентированного программирования и графического интерфейса. Также известен благодаря высказыванию «лучший способ спрогнозировать будущее — изобрести его». Президент исследовательского института Вьюпоинта, адъюнкт-профессор информатики в Калифорнийском университете.Scratch
Squeak
Smalltalk
Dynabook
LiebermanHenry Lieberman американский ученый в области информатики, языков программирования и искусственного интеллекта.Snap!
Using Prototypical Objects to Implement Shared Behavior in Object Oriented Systems
Minsky
  • Ма́рвин Ли Ми́нский — американский учёный в области искусственного интеллекта, сооснователь Лаборатории искусственного интеллекта в Массачусетском технологическом институте.
Scratch
Лого
Wolfram
NormanДон Норман - Norman - специалист по организации деятельности, психологии и дизайну. Автор книги Дизайн повседневных вещейThe Design of Everyday Things
PapertСимур Паперт (Пейперт) — выдающийся математик, программист, психолог и педагог, создатель конструкционизма и языка Лого, один из основоположников теории искусственного интеллекта,Конструкционизм
Scratch
Лого
Lego Mindstorms
Mindstorms
20 things to do
RepenningИсследователь, профессор в области компьютерных наук и образования. Создатель первых блочных обучающих средВычислительное мышление
Agentsheets
AgentCubes
ResnickМитчел Резник - профессор MIT Media Lab, создатель сред обучения программированию - StarLogo, Scratch 120px-Patarakin_resnick2007.jpgScratch
Lego Mindstorms
StarLogo
SchwartzД. Л. Шварц – ведущий учёный в области образовательных технологий, декан Стэнфордской школы образования, разработал инновационные методы обучения на основе «обучения через преподавание» (teaching by learning) и популяризировал практические инструменты, включая книгу «The ABCs of How We Learn» и платформу Teachable Agents с экспериментальной средой Betty’s BrainThe ABCs of How We Learn
Teachable Agent
Betty's Brain
Smaldino
  • Associate Professor of Cognitive & Information Sciences and faculty in the Quantitative and Systems Biology graduate program at UC Merced, where I am also affiliated with the Center for Analytic Political Engagement and the Center for Interdisciplinary Neuroscience.
  • External Professor at the Santa Fe
NetLogo
R
RStudio
Shiny
WengerТеоретик в области обучения, известный по работам в области ситуативного обучения и сообщества практикиCommunities of Practice
WickhamHadley Wickham - разработчик библиотек и автор книг по R, Shiny и анализу данных. His work includes the data visualisation system ggplot2 and the tidyverse, a collection of R packages for data science based on the concept of tidy data.R
RStudio
Shiny
WilenskyWilensky - Ури Виленски - математик, педагог и программист, создатель языка NetLogo. Профессор в Северо-Западный университете — Чикаго.NetLogo
StarLogo Nova
БартлР. Бартл – один из крупнейших специалистов в области дизайна многопользовательских виртуальных миров, анализировал поведения участников многопользовательских компьютерных игр. Автор MUD (Multi-User Dungeon)MUD
БрэдлиБрэдли Эфрон (англ. Bradley Efron, род. 24 мая 1938, Сент-Пол, Миннесота, США) — американский статистик, предложил метод статистического бутстрэпа.Bootstrap
БушВэни́вар Буш (англ. Vannevar Bush — американский ученый, инженер, разработчик аналоговых компьютеров, методолог и организатор научных исследований и научного сообщества. Советник по науке при президенте Рузвельте. Автор статьи «Как мы можем мыслить», в которой предложил прообраз гипертекстового устройства Memex.Гипертекст
ВинерНо́рберт Ви́нер (англ. Norbert Wiener; 26 ноября 1894, США, штат Миссури, США — 18 марта 1964, Стокгольм, Швеция) — американский математик, один из основоположников кибернетики и теории искусственного интеллекта. Профессор MIT, где работал с 1919.Кибернетика и общество
Вольфрам, СтивенСтивен Вольфрам (англ. Stephen Wolfram, род. 29 августа 1959, Лондон) — британский физик, математик, программист и писатель. Разработчик системы компьютерной алгебры Mathematica и системы извлечения знаний WolframAlpha.Wolfram
A new kind of science
WolframAlpha
SMP
ВыготскийЛев Семёнович Выго́тский — советский психолог. Основатель марксистской исследовательской традиции изучения высших психологических функций. Эта психологическая традиция стала известна начиная с критических работ 1930-х годов как «культурно-историческая психология» (или же, иначе, культурно-историческая теория в психологии). Объединил вокруг себя коллектив исследователей, известный как «круг Выготского».Зона ближайшего развития
Скаффолдинг
Культурно-историческая психология
ГибсонГибсон, Джеймс Джером — американский психолог, считающийся одним из известнейших когнитивных психологов в области зрительного восприятия XX века. Согласно теории прямого восприятия Гибсона, восприятие может быть сведено к потокам информации в рецепторах органов чувств, отражающими также и контекст чувственного опыта. Среда и сопровождающая перцепцию активность субъекта в достаточной степени структурируют стимульную информацию. Стимульная информация чувственного опыта и комплексные процессы восприятия не опосредуется никакими другими более высокого уровня когнитивными процессами, процессами происходящими в головном мозге. Свой новый подход Гибсон назвал экологической психологией.Экологический подход к зрительному восприятию
ГончаровИва́н Алекса́ндрович Гончаро́в (6 (18) июня 1812, Симбирск — 15 (27) сентября 1891, Санкт-Петербург) — русский писатель и литературный критик. Член-корреспондент Петербургской академии наук по разряду русского языка и словесности (1860), действительный статский советник.Обрыв (роман)
Фрегат «Паллада»
ГоссетУи́льям Си́ли Го́ссет (англ. William Sealy Gosset, 13 июня 1876, Кентербери — 16 октября 1937, Беконсфилд) — британский учёный-статистик, более известный под своим псевдонимом Стьюдент (англ. Student — студент) благодаря своим работам по исследованию так называемого распределения Стьюдента.T-тест
ДекартРене́ Дека́рт (фр. René Descartes) — французский философ, математик и естествоиспытатель; один из основоположников философии Нового времени, создатель аналитической геометрии, одна из ключевых фигур научной революции.Математика
Геометрия
Философия
ЕршовАндре́й Петро́вич Ершо́в — советский учёный, один из пионеров теоретического и системного программирования, создатель Сибирской школы информатики, академик АН СССР. Его работы оказали влияние на формирование и развитие вычислительной техники не только в СССР, но и во всём мире.РАПИРА
ИлличИван Иллич — американо-мексиканский богослов, педагог, философ, социальный критик смешанного хорватско-еврейского происхождения. Книги: Тишина как общинное достояние, Дружественные средства, Общество без школДружественное средство
Культура участия
КеллиДжордж Александр Келли, создатель теории личностных конструктовWebGrid
Репертуарная решетка
КолбDavid A. Kolb — американский психолог и теоретик образования, наиболее известный своей теорией обучения через опыт, которая была представлена в его книге "Experiential Learning: Experience as the Source of Learning and Development" (1984). Колб разработал модель, описывающую процесс обучения как циклический процесс, состоящий из четырех этаповStarLogo Nova
КушниренкоАнато́лий Гео́ргиевич Кушнире́нко — советский и российский математик и специалист в области информационных технологий. Заведующий отделом учебной информатики НИИСИ РАН, автор многих учебных пособий по информатике, разработчик обучающей системы программирования КуМир.Kumir
ЛатурБруно Латур - — французский антрополог, философ и социолог науки.Макроскоп
ЛотманЛотман, Юрий Михайлович - литературовед, культуролог и семиотик.Семиосфера
ПирсонКарл Пи́рсон (англ. Karl (Carl) Pearson, — британский математик, статистик, биолог, расовый теоретик, философ; основатель современной математической статистики, один из основоположников биометрики.Гистограмма
Коэффициент корреляции
Биометрика
Психометрика
Критерий согласия Пирсона
ПопперСэр Карл Раймунд По́ппер (нем. Karl Raimund Popper; 28 июля 1902, Вена, Австро-Венгрия — 17 сентября 1994, Лондон, Англия, Великобритания) — австрийский и британский философ и социолог. Один из самых влиятельных философов науки XX столетия. Поппер наиболее известен своими трудами по философии науки, а также социальной и политической философии, в которых он критиковал классическое понятие научного метода, а также решительно отстаивал принципы демократии и социального критицизма, которых он предлагал придерживаться, чтобы сделать возможным процветание открытого общества.Логика научного исследования
ПуанкареЖюль Анри́ Пуанкаре́ (фр. Jules Henri Poincaré; 29 апреля 1854, Нанси, Франция — 17 июля 1912, Париж, Франция) — французский математик, механик, физик, астроном и философ. Глава Парижской академии наук (1906), член Французской академии (1908) и ещё более 30 академий мира, в том числе иностранный член-корреспондент Петербургской академии наук (1895). Историки причисляют Анри Пуанкаре к величайшим математикам всех времён. Он считается, наряду с Гильбертом, последним математиком-универсалом, учёным, способным охватить все математические результаты своего времени.Математика
Наука и гипотеза
РуденкоРуденко Валерий Павлович, С 1985 года – старший научный сотрудник лаборатории учебных коммуникаций Института Программных Систем Российской Академии Наук - координатор смен детского компьютерного лагеря (Переславль-Залесский)Лого
Prolog
LogoWriter
СкиннерБе́ррес Фре́дерик Ски́ннер (англ. Burrhus Frederic Skinner; 20 марта 1904 — 18 августа 1990) — американский психолог, изобретатель и писатель. Один из самых влиятельных психологов середины XX века. Внёс значительный вклад в развитие и популяризацию бихевиоризма — школы психологии, рассматривающей поведение человека и животных как результат предшествующих воздействий окружающей среды. Скиннер наиболее известен своей теорией оперантного обусловливания.Программированное обучение
ТорндайкЭдвард Ли То́рндайк (англ. Edward Lee Thorndike) — американский психолог и педагог.Бихевиоризм
ТурчинВалентин Фёдорович Турчин - физик и кибернетик, создатель языка Рефал и новых направлений в программировании и информатикеPrincipia Cybernetica Web
Феномен науки: Кибернетический подход к эволюции
РЕФАЛ
УоллЛарри Уолл (англ. Larry Wall, род.1954) — американский программист. Знаменит как создатель языка программирования Perl. Лингвист по образованию.Perl
ФишерФишер, Роналд - В математической статистике Фишер является виднейшим продолжателем классических работ и методов Карла Пирсона; в частности, Фишер, наряду с Ежи Нейманом, разработал фундамент теории оценок параметров, статистических решений, планирования эксперимента и проверки гипотез. Большинство методов Фишера имеют общий характер и применяются в естественных науках, в экономике и в других областях деятельности.F-test
Дисперсионный анализ
ФуллерРичард Бакминстер Фуллер (англ. Richard Buckminster Fuller; 12 июля 1895 — 1 июля 1983) — американский архитектор, дизайнер, инженер, изобретатель, философ, математик, писатель, поэт.Эфемеризация
Синергетика
ЭнгестрёмЮрьё Энгестрём (Yrjo Engestrom)— известный финский ученый, один из наиболее пытливых последователей культурно-исторической теории Л.С. Выготского и психологической теории деятельности А.Н. Леонтьева, одновременно разрабатывающий собственную деятельностную концепцию экспансивного обученияТреугольник Энгестрёма

Языки высокого уровня. Типология языков

  • Используя WebGrid соберите поле своих собственных представлений о языках высокого уровня
Lisp Prolog C Python Snap!(Scratch)
(progn(setq x"Здравствуй, учебный курс!")x)
:-Print('Здравствуй, учебный курс!').
#include <stdio.h>
int main(void)
{printf("Здравствуй, учебный курс!");
return 0;}
print("Здравствуй, учебный курс!")
когда спрайт нажат
сказать ["Здравствуй, учебный курс!"]



Описание Несколько таксономий обучающих языков программирования - от маленькой до огромной. Большинство объектов на карте кликабельны.

Diagrams_2df5bce0f8e7ae3415b60c040c34a9c6.png

Область знаний NetSci, Информатика
Среды для создания диаграммы: Graphviz



V 2

Вариант 3



Стандартные типы данных

Для Snap!

Концепции программирования. Распространённые языковые конструкции

Контейнеры для хранения данных

Функции высшего порядка

Визуальное программирование

Визуальная реализация :Блоки-Иконки

AgentCubes, Agentsheets, AlgoBlock, AlgoBrix, Alice, App Inventor, Beetle Blocks, Blockly, Boxer, CreatiCode, DBSnap, DRAKON, Etoys, GP, GameBlox, Gamefroot, Gamestar Mechanic, Hopscotch, Kodu, Kodular, LogoBlocks, Looking Glass, MakeCode, Mama, MicroBlocks, Move the Turtle, NetsBlox, OctoStudio, Piktomir, Pocket Code, Robo Pro Light, SciSnap!, Scratch, ScratchJR, Snap!, Snap4arduino, Sophie, Squeak, Stagecast Creator, StarLogo Nova, Tangible Programming Bricks, The Incredible Machine, Thunkable, ToonTalk, Битва Големов, ПервоЛого

Примеры создания моделей в среде StarLogo Nova


Возможность встраивать модели StarLogo Nova + NetLogo Web

Алгоритмы поиска и сортировки в разных языках

 Description
Сортировка пузырькомСортиро́вка простыми обменами, сортировка пузырько́м (англ. bubble sort) — простой алгоритм сортировки. Для понимания и реализации этот алгоритм — простейший, но эффективен он лишь для небольших массивов. Метод сортировки обменами лежит в основе некоторых более совершенных алгоритмов, таких как шейкерная сортировка, пирамидальная сортировка и быстрая сортировка. 400px-SortingBubble_ed.png

Модули и библиотеки



Описание Диаграмма, в которой демонстрируются основные принципы модульного программирования
Область знаний Информатика, Управление
Среды для создания диаграммы: Graphviz


Работа с данными. Среды выращивания данных и анализа данных.

См. Семинары МГПУ о данных в образовании

 DescriptionExamples
Digida2026Датасет собран на поле цифровой дидактики 12.01.2026 годаКак провести сравнительный анализ поведения на поле цифровой дидактики
GoogleSchool 01(dataset)Датасет собран из лог-файла действий учителей внутри школыВ статье Патаракин Е.Д., Ярмахов Б.Б. Анализ связей между сотрудниками школы на основе их взаимодействия в домене Google Apps для образования // ОБРАЗОВАТЕЛЬНЫЕ ТЕХНОЛОГИИ И ОБЩЕСТВО. 2016. Vol. 19, № 2. P. 585–599.
GoogleSchool 02(dataset)Датасет собран из лог-файла действий учителей внутри школы в среде GoogleApps - совместные действия учителей над документами различного типа превращаются в социальный граф.В статье Патаракин Е.Д., Ярмахов Б.Б. Анализ связей между сотрудниками школы на основе их взаимодействия в домене Google Apps для образования // ОБРАЗОВАТЕЛЬНЫЕ ТЕХНОЛОГИИ И ОБЩЕСТВО. 2016. Vol. 19, № 2. P. 585–599.
Letopisi 2006 (dataset)120px-Hist_2006_associatios.png Лог-файл действий участников проекта Letopisi в 2006 годуPatarakin E.D. Wikigrams-Based Social Inquiry // Digital Tools and Solutions for Inquiry-Based STEM Learning. IGI Global, 2017. Vol. 1. P. 112–138.
Preschool Digital Scopus120px-Co-ocurence-network.jpg

1709 публикаций (стандартный набор полей Скопус) - Для выделения данных из базы Scopus использовалась следующая формула:

  • ALL (( preschool OR "primary school" ) AND ( "psychological" OR "pedagogical" ) AND ( computer OR internet OR digital ) ) AND PUBYEAR > 1999 AND ( LIMIT-TO ( ACCESSTYPE(OA) ) )
В статье "Связь цифрового компонента обучения и развития детей дошкольного и школьного возраста: обзор исследований и международных образовательных практик" В вики тестируем анализ данных при помощи разных пакетов.
Scopus Games (dataset)Датасет по публикациям о компьютерных играх, собранный в ScopusВКР Райкова Александра Дмитриевна Развитие навыков вычислительного мышления у детей дошкольного и младшего школьного возраста при помощи видеоигр https://youtu.be/2-M1W-wnT-U
Библиосет: публикационная активность ВВГУ120px-Vl_sci_schools.png Данные о публикационной активности Владивостокского государственного университета https://vvsu.ru/ выгружены из Scopus в формате RIS.Научная статья
Взаимное копирование МЭШ (датасет)При изучении записей действий над учебными сценариями в МЭШ из всей таблицы действий учителей над объектами-сценариями были выделены только действия взаимного копирования. В результате был выделен граф совместных копирований состоящий из 145 компонент. При этом узлы и связи распределены крайне неравномерно. Главный компонент содержит 1174 узлов и 17928 связей, а на остальные 144 компоненты приходится всего 378 узлов и 3421 связи.
375px-Giant_copies.png
Патаракин Е.Д., Буров В.В. Незримый колледж МЭШ // Вестник Мгпу. Серия: Информатика И Информатизация Образования. 2022. № 2 (60). 38-52 https://www.elibrary.ru/item.asp?id=49058657
Описание датасета При изучении записей действий над учебными сценариями в МЭШ из всей таблицы действий учителей над объектами-сценариями были выделены только действия взаимного копирования. В результате был выделен граф совместных копирований состоящий из 145 компонент. При этом узлы и связи распределены крайне неравномерно. Главный компонент содержит 1174 узлов и 17928 связей, а на остальные 144 компоненты приходится всего 378 узлов и 3421 связи.
375px-Giant_copies.png
Описание полей
  1. from - ID участника, который копирует сценарий
  2. to - ID участника, у которого копируют сценарий
  3. subject - предмет сценария копируемого урока
  4. date_of_action - время действия
Форматы данных CSV
Область знаний Математика, Педагогика, Психология, Управление
Веб-сайт - ссылка на датасет http://www.uic.unn.ru/pustyn/data-sets/mesh/giant recicrop component.csv
Примеры использования датасета Патаракин Е.Д., Буров В.В. Незримый колледж МЭШ // Вестник Мгпу. Серия: Информатика И Информатизация Образования. 2022. № 2 (60). 38-52 https://www.elibrary.ru/item.asp?id=49058657
Год создания датасета 2022



Что делают в МЭШ учителя иностранного языка

Описание - в статье Незримый колледж МЭШ

Главный компонент содержит 1174 узла и 17928 связей.

{{#widget:YouTube|id=SHrzpd7YC7A|start=5}}

Датасет в вики

Копирующий Копируемый
1405 939
1166 939
939 1405
939 844
939 626
934 956
357 75
943 626
898 929
356 897
858 676
356 935
356 698
858 897
844 939
824 1262
858 936
1300 356
844 75
1283 704
350 676
350 1262
1299 1417
498 1283
895 1262
1304 943
943 676
937 1228
1228 937
943 704
931 913
676 943
939 938
1299 356
936 357
936 626
897 356
723 356
356 938
127 751
127 356
354 676
1348 824
321 1300
1359 1299
31 824
96 824
1340 620
943 352
897 858
1284 1359
270 1299
697 858
352 858
861 74
1311 350
676 858
955 933
671 858
671 356
940 933
1227 858
938 933
356 497
356 1300
1227 933
861 803
861 933
1262 895
270 933
956 934
626 933
619 933
929 933
1227 74
936 933
76 933
497 356
858 627
858 933
858 321
858 674
858 940
858 350
858 935
352 933
933 352
620 1340
699 930
626 939
938 74
594 350
1227 1299
942 626
626 942
858 1311
321 698
321 859
352 1405
1299 937
930 699
933 929
858 697
413 1075
845 1075
1405 352
1262 350
933 76
1262 824
933 356
751 127
1299 619
933 1227
937 1358
672 76
350 1299
953 936
74 1299
937 356
933 938
896 938
937 1299
1262 933
704 1283
943 1304
858 356
1299 1227
858 351
936 627
1299 1359
74 1227
626 943
935 356
938 356
932 675
824 1227
673 933
933 673
1227 356
270 912
1178 1021
858 671
858 1227
933 861
1545 16
356 270
676 354
76 672
676 350
1203 1359
957 860
1299 350
221 928
786 928
426 928
933 270
1402 626
675 932
627 858
824 1348
721 626
933 955
933 936
933 723
933 1262
858 270
858 938
858 619
858 352
933 626
803 861
627 936
933 940
1501 1549
1549 1501
270 356
356 628
723 933
938 896
935 858
74 861
350 594
1299 270
937 619
1518 270
356 1299
356 933
1227 824
797 676
1299 74
1283 498
356 723
1358 937
912 270
940 858
356 1227
356 671
619 350
1341 936
1417 1299
356 697
697 270
356 350
697 356
356 929
896 270
270 75
626 356
1397 270
270 1397
704 943
74 938
619 930
626 1402
954 270
356 75
938 939
98 897
270 954
270 896
75 356
75 357
676 797
357 936
270 1518
619 352
619 356
352 943
930 619
75 270
270 352
807 940
352 619
356 127
626 936
626 721
270 619
626 270
352 270
270 697
807 356
619 1299
619 937
619 270

Представление агентов - учителей в Snap!

Snap! + данные

Примеры проектов и отдельных скриптов
Пример, как можно обратиться из Snap! к внешним датасетам и совершить действия над данными: выделить столбец, сложить данные в столбце, отсортировать данные по значению, построить гистограмму




Работа с медиа. Программирование игр и программирование внутри игр

Описания игр

Категория:DEG


Паттерны

 Description of problemSolution
Вычислительное мышление
Генерировать новых агентов120px-Create_netlogo.png
Агент порождает поток других агентов - например, в экологических моделях рождение используется для создания потомков, в играх из пистолета вылетают пули, которые он порождает, в историях Scratch капли дождя клонируются и падают из тучи на землю.
Можно использовать породы или клоны. Например, в NetLogo:
  • observer - наблюдатель может породить новых агентов в центре поля и сказать и что делать crt 10
  • каждая черепаха может порождать новую черепаху командой hatch - hatch-sheep 1
  • каждое пятно может на себе породить черепаху или несколько командой sprout - sprout 10
В Scratch новые агенты создаются через клонирование уже существуюших агентов.
Накапливать энергиюАгент живёт в среде, перемещается, выполняет задания и накапливает энергию или собирает очки
  • заносим эти данные в переменную
  • меняем свойства, которыми обладает агент
  • передаем эти данные
Перевозить другого агента на себеТранспортировка представляет собой ситуацию, когда один агент перевозит на себе другого агента. Например, черепаха в Frogger несёт лягушку, пересекая реку. В экологических симуляциях процесс транспортировки можно использовать, например, для перевозки пыльцы пчёлами.
  • Привязать перевозимого агента к себе, чтобы он следовал за положением агента, которым мы управляем
Перемещаться случайным образомАгент или агенты перемещаются по экрану случайным образом - стандартная для многих игр и симуляций ситуация, которую надо уметь воспроизводить - термиты, птицы и рыбы при формировании стай изначально перемещаются случайным образом.Агент поворачивается в направление, которое выбирается случайным образом и делает ход в этом направлении.
Поглощать агентов120px-Delete_starlogo.png
  • Поглощение: обратный генерации процесс, когда агент не порождает, а поглощает других агентов. Например, земля поглощает падающие с неба капли воды, хищник съедает жертву, с которой он встречается.
Прятать агентов или просто их убивать или умирать самому
Подчиняться клавишам клавиатурыРеагировать на клавиши клавиатуры Движение клавиатуры: нажатия кнопок клавиатуры управляют движением агента. И здесь могут быть паттерны типа Прыгать - как писал Пейперт в этой статье писал про Марио и как воспроизвести поведение МариоИспользовать блоки управления в сочетании с блоками движения
Поиск восхождением к вершинеПоиск восхождением к вершине - алгоритм поиска в компьютерных науках, когда агент просматривает значения переменных на ближайших полях и на поле с максимальным значением переменной. Использование алгоритма поиск восхождением к вершине можно наблюдать в таких играх как Sims или Pac-Man, когда призраки преследуют Pacman, следуя наивысшему значению запаха Pac-man, который распространяется по всему полю см. http://ccl.northwestern.edu/netlogo/models/Pac-ManИспользовать встроенные команды NetLogo
  • uphill patch-variable
  • uphill4 patch-variable
  • Превращаться в другого агентаПревращение - один агент превращается в другого агента. Возможный вариант - агент одной породы превращается в агента другой породы.В примере на Scratch - cпрайт клонируется и содержит в себе разные породы - демонов и драконов. При столкновении с агентом другой породы агент может изменять собственную породу и становиться другим. Например, из породы демонов переходить в породу драконов. В NetLogo можно просто поменять принадлежность к породе и соответственно свойства агента.
    Преследовать другого агентаОдин агент преследует другого агента - поворачивается в его сторону или поворачивается в том же направлении, куда движется другой агентИспользуются команды повернуться к другому агенту
    РаспространятьсяДиффузия: паттерн распространения, когда вы можете распространять определённое количество агента на других агентов, расположенных по близости за счёт процесса диффузии. Например, в модели муравьёв в NetLogo муравьи выделяют вещества феромоны, которые диффундируют на ближайшие поля игрового поля.В некоторых средах конструирования возможность диффузии заложена изначально. Например, в NetLogo стандартная команда к точкам - пятнам на экране diffuse
    Сталкиваться120px-Collision_starlogo.png
  • Паттерн определяет поведение агентов в случае их физического столкновения с другими агентами. Например, столкновение пули с мишенью. В игре Frogger, если грузовик сталкивается с лягушкой, лягушку нужно «раздавить»
  • В ряде среде есть специальный блок Collision - что делать агенту в случае столкновения с другим агентом. Для Scratch решение собирается из блоков сенсоров - если я касаюсь другого агента (указать какого именно), то ...
    ТащитьТащить - паттерн "тащить" противоположен по значению паттерну толкать - агент может тащить за собой другого агента или агентов. Например, поезд тащит за собой вагоны, лошадь тащит за собой сани, буксир тащит за собой баржи или плот.
    ТолкатьПаттерн "толкать" — это паттерн, который мы видим во многих играх. Агент должен толкать ящики или мешки с золотом. Когда игрок толкает коробку или мешок, эти объекты движутся в том направлении (вверх, вниз, вправо или влево), в котором их толкнули.Объект или Агент, над которым совершается действие, получает сигнал от агента субъекта деятельности, поворачивается в ту же сторону, куда смотрит толкающий агент и двигается в эту сторону.


    Критерии оценки по дисциплине

    Образовательный результат Тема Задание Пример


    Навыки совместной деятельности в среде Semantic MediaWiki Введение в курс, Языки высокого уровня. Зарегистрироваться на площадке, отметить странницу категориями, заполнить поля по форме Категория:UserMGPU Категория:ПБД221м Категория:РМП221м
    Выбирать способы программирования Языки высокого уровня. Типология языков Создайте собственные концепты к статьям в категории Языки программирования
    Использовать языки визуального программирования для моделирования базовых паттернов Визуальное программирование Разместить в вики проект, выполненный в среде Scratch или Snap! или StarLogo Nova Flocking (model), Как Организовать обмен сообщениями между агентами, Генерировать новых агентов
    Создавать диаграммы классов Объектно-ориентированное программирование Разместите в вики собственную диаграмму класса см. Использование ИИ для создания диаграмм Диаграмма класса, Языки (диаграмма класса), Robot
    Обращаться к объектам по их свойствам Объектно-ориентированное программирование Создайте примеры запросов к статьям вики с выводом результатов в виде географических карт, гистограмм и таблиц Category:Diagrams, Языки программирования Time-line
    Обращаться к агентам на основе свойств Объектно-ориентированное программирование Разместите в вики пример проекта Snap!, в котором происходит обращение к клонам спрайта Пример Flocking (model)
    Использовать готовые модули и библиотеки Модули и библиотеки Разместите в вики проект Scratch или Snap! в которых используются библиотеки Периодическая система химических элементов
    Обрабатывать данные, загружать данные, сохранять данные Работа с данными Разместите в вики проект Scratch или Snap!, в которых происходит обработка данных Периодическая система химических элементов