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

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



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

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

Знать
  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
Курс предназначен для магистрантов Категория:ИВО-241м - 2024 год


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

Введение

Вычислительное мышление, как способность объединять свои способности с возможностями вычислительной техники и говорить с компьютерными агентами на различных языках. Зачем такое разнообразие языков программирования - они помогают думать и действовать лучше.

Компетенции

Особенности курса

Перечень языков визуально-блочного программирования, активных в настоящее время {{#ask: [[Category:Язык программирования]] [[Визуальная реализация::Блоки-Иконки]] [[Description::+]] [[ActiveNow::Project is active]] | ?Description | ?Адрес_сообщества }}

 DescriptionАдрес сообщества
AgentCubesУчебный блочный язык программирования, ориентированный на создание трёхмерных игр, цифровых историй и симуляцийhttps://agentcubesonline.com/
AgentsheetsПервый язык блочного программирования для создания игр, симуляций и освоения вычислительного мышления. Разработан лабораторией масштабируемого дизайнаhttp://www.agentsheets.com/
AlgoBrixОбучающий язык блочного программирования, поддерживающий программирование роботов и кубиковhttp://www.algobrix.com
AliceЯзык для создания трехмерных миров и обучения основам программирования. Alice представляет собой среду, в которой можно манипулировать 3D-объектами (двигать, вращать, менять цвет и т. д.) и создавать программы, генерирующие анимацию в виртуальных мирах. Она очень похожа на профессиональные современные IDE. Рабочая плоскость разбита на несколько окон: в одном в реальном времени отображается виртуальный мир; в другом присутствует дерево объектов, и для каждого из них предоставляется набор доступных свойств; центральной часть отведена, естественно, под редактор исходного кода; имеется и специальная область событий, позволяющая управлять всем происходящим.http://www.alice.org/
App InventorApp Inventor является бесплатным инструментом для программирования для создания мобильных приложений для Android. Он был разработан Массачусетским технологическим институтом и предоставляет простой интерфейс для создания мобильных приложений, который доступен для любого пользователя. Для программирования в App Inventor используется визуальный язык программирования, очень похожий на язык Scratch и StarLogo Nova.
webapis-get-all-posts.png
http://appinventor.mit.edu/
CreatiCodeСреда для создания 3х мерных игр средствами блочного программированияhttps://www.creaticode.com/
DBSnapКлон Snap! для работами с базами данныхhttps://ysilva.cs.luc.edu/dbsnap/app.html
DRAKONДружелюбный русский алгоритмический язык, который обеспечивает наглядность (сокр. ДРАКОН) — визуальный алгоритмический язык программирования и моделированияhttp://drakon.su/
GPБлочный язык общего назначения, который может использоваться не только в образовательных целяхhttps://gpblocks.org/
Gamestar MechanicСреда и сообщество для создания игр. Gamestar Mechanic is an online game design platform built as a game about making gameshttps://gamestarmechanic.com/
KodularKodular — это онлайн-инструмент, позволяющий создавать собственные приложения без знания языков программирования, используя простой интерфейс перетаскивания блоков. С помощью Kodular Companion, разработчики могут тестировать свои приложения в режиме реального времени, экономя время на экспорте и компиляции. Платформа позволяет разрабатывать приложения для Android с широкими возможностями настройки, включая добавление пользовательских компонентов и расширений.https://www.kodular.io/creator/
MicroBlocksЯзык программирования - клон языка Scratch специально спроектированный для управления физическими объектамиhttps://microblocks.fun/
NetsBloxВизуальный блочный язык программирования - производный от Scratch и Snap! - внимание уделено сетевым возможностям, интеграции с Google картами. Внутри среды NetsBlox участники проектов могут коллективно редактировать блоки программы так же как это происходит в Google-документах.https://netsblox.org/
OctoStudioСреда для разработки школьниками своих собственных игр на мобильных устройствахhttps://www.media.mit.edu/projects/octostudio/overview/
Pocket CodeМобильное приложение для создание детьми игр и цифровых историйhttps://share.catrob.at/pocketcode
SciSnap!Расширения языка Snap! для использования в изучении математики
ScratchСреда программирования, которая позволяет детям создавать собственные анимированные и интерактивные истории, игры и другие произведения. Этими произведениями можно обмениваться внутри международной среды, которая постепенно формируется в сети Интернет. Scratch — это учебный блочный язык программирования, позволяющий ученикам создавать игры, цифровые истории. Среда разработки дает возможность детям редактировать аудиофайлы и монтировать небольшие, но полноценные видеоролики. В новые версии языка создатели обещают добавить функционал для создания собственных мобильных приложений.https://scratch.mit.edu
ScratchJRScratch Junior – это визуальная среда программирования для детей от 5 до 7 лет. С ее помощью малыши могут создавать мультики, расставляя блоки действий в последовательном порядке.https://scratchjr.org/
Snap!Блочный язык программирования для преподавания алгоритмов и структур данных. Snap! - потомок языка Scratch. В отличие от Scratch Snap! поддерживает лямбда-исчисление, объекты первого класса, процедуры, рекурсия и множество других возможностей. С версии 4.0 Snap! получил современное название и был переписан на JavaScript. Moscow_city_univ.pnghttp://snap.berkeley.edu/
Snap4arduinoЯзык программирования для Arduino
  • Arduino_connect.png
https://snap4arduino.rocks/
SqueakСреда разработки живых интерактивных программ на основе SmallTalkhttp://www.squeak.org/
StarLogo Nova120px-Slnova.png
  • StarLogo Nova – среда совместного агентного моделирования в трехмерной среде. Во многом это среда продолжает и развивает традиции языка Scratch. При этом здесь можно ставить серьезные эксперименты и получать воспроизводимые результаты. Центральной метафорой среды является мир (World), в котором можно создавать агенты различных пород.
  • https://www.slnova.org
    ThunkableThunkable был создан в 2015 году на основе более известного конструктора приложений MIT App Inventor 2, как платформа для разработки на Android. Со временем инструмент обрел кросс-платформенность (iOS и Android) и стал платформой для разработки веб-приложений. Пользователи Thunkable могут добавлять кнопки, текст, изображения и даже карты, чтобы создать полнофункциональное приложение с такими функциями, как push-уведомления, датчики, геолокация, камера, Bluetooth, автономные возможности, и другое. Создание приложений в базовом аккаунте является бесплатным, но при этом можно создавать только общедоступные приложения.
  • 120px-Thunkable.jpg
  • https://thunkable.com/
    ToonTalkМини-язык, в котором ученик может собирать алгоритмы из объектов (вещей) на рабочем поле. Полностью веб-приложение.https://toontalk.github.io/ToonTalk/
    ПервоЛогоПервоЛого — универсальная проектная среда на базе языка Лого для начального и дошкольного образования. В ПервоЛого можно создавать проекты, даже не умея читать и считать — как очень простые, состоящие из картинки и текста или звука, так и весьма сложные, включающие в себя различные запрограммированные объекты, роль которых исполняет черепашка.

    Понятия

    {{#ask: [[Категория:Понятие]] [[Environment::+]] | ?Description | ?Inventor }}

    Категория:Понятие

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

     DescriptionInventor
    20 things to doThe concept of "Twenty Things to Do with a Computer," originally presented by Seymour Papert and Cynthia Solomon in 1971, highlights various engaging activities that can be accomplished through programming.
    1. Make a Turtle
    2. Program the Turtle to Draw a Man
    3. Turtle Biology
    4. Make a Display Turtle
    5. Play Spacewar
    6. Differential Geometry
    7. Draw Spirals
    8. Have a Heart (and learn to DEBUG)
    9. Growf lowers
    10. Make a Movie
    11. Make A Music Box and Program A Tune
    12. Play with Semi-Random Musical Effects and then Try Serious Composing
    13. Computerize an Erector Set Crane and Build a Tower of Blocks
    14. Make a Super Light Show
    15. Write Concrete Poetry
    16. Try C.A.I. (Computer-Assisted Instruction) and Psychology
    17. Physics in the Finger-Tips
    18. Explain Yourself
    19. Puppets
    20. Recursion Line
    Papert
    Solomon
    APIs for social scientists: A collaborative reviewВ книге представлено множество API социальных сетей и основы их использования. В статье по этой книге собраны примеры API и особенности работы с ними. Код а книге - R
    An Introduction to Agent-Based Modeling: Modeling Natural, Social, and Engineered Complex Systems with NetLogoВведение в моделирование систем при помощи языка NetLogo (от создателя языка) - использование NetLogo в естественно-научном, инженерном и общественном образованииWilensky
    Rand
    App Inventor 2 (book)App Inventor 2 Create Your Own Android Apps // Wolber, D., Abelson, H., Spertus, E., & Looney, L. (2011). App Inventor. O’Reilly Media, Inc.Hal Abelson
    As We May Think«Как Мы Можем Мыслить» — визионерское эссе, написанное Бушем в 1945 году, предвидевшее многие аспекты информационного общества. Оно было впервые опубликовано в журнале The Atlantic в июле 1945 года и переиздано в сокращённом варианте в сентябре 1945 — до и после атомной бомбардировки Хиросимы и Нагасаки. Буш выражает свою обеспокоенность тем, что усилия науки направлены на разрушение, вместо понимания. Он выражает надежду на создание гипотетической гипертекстовой системы, названной Бушем «Мемекс». По мнению учёного, такая система сделала бы знания более доступными. Буш надеялся, что создание такой системы превратит информационный взрыв во взрыв знаний.Bush
    Blown to BitsBlown to Bits - часто встречающаяся в учебных курсах по компьютерным дисциплинам книга АбельсонаHal Abelson
    Children Learning to CodeВ книге собраны различные международные практики обучения детей программированию. Различные обучающие среды, образовательные стандарты. Особое внимание уделено развитию среды Scratch в России - одним из побочных результатов книги стал рост числа участников сообщества Scratch в России. Проект был поддержан Всемирным Банком и МГПУ. ; На русском языке
    Обучение детей программированию: залог развития человеческого капитала в XXI веке. Руководство для российских законодателей и практиков в области образования / – Москва : Алекс (ИП Поликанин А.А.), 2019. – 164 с.
    Patarakin
    Parandekar
    Computer Science Logo StyleТрехтомник -учебник по программированию в стиле Лого от Брайна ХарвиHarvey
    Computer Science with Snap! by ExamplesОписание структур данных и алгоритмов, которые можно исследовать в среде Snap!Modrow
    Diligence, Patience, and HumilityСтатья Уолла в книге Open Sources: Voices from the Open Source Revolution
    • Люди легко понимают, что лучшая политика для компьютерной программы взаимодействующей с другими программы, это быть как можно точнее и строже в том, что эта программа передает другим, и быть как можно свободнее и либеральнее в том, что эта программа принимает от других. Странность в том, что люди не стремятся быть строже к своим собственным высказываниям и либеральнее к тому, что они слышат. Мы пытаемся поддерживать некоторые ценности в сообществе Перл. Как указал апостол Павел, никто не издавал законов против любви, радости, покоя, терпения, дружбы, нежности и самоконтроля. Так что вместо того чтобы запрещать зло, можно сосредоточиться на продвижении добра.
    Уолл
    Head First. Паттерны проектированияРуководство по использованию паттернов проектированияФримен, Робсон
    How to Design ProgramsHow to Design Programs (HtDP) is a textbook on the systematic design of computer programs. (Racket)Felleisen
    Individual-Based Models of Cultural Evolution: A Step-by-Step Guide Using RКнига показывает как создавать агентно-ориентированные модели или ABM культурной эволюции. В тексте книги используется код на языке программирования R. От очень простых моделей основных процессов культурной эволюции, таких как предвзятая передача и культурная мутация, к более сложным темам, таким как эволюция социального обучения, демографические эффекты и анализ социальных сетей.Acerbi
    Initiation to Algorithmics with ScratchРуководство по введению в алгоритмы в среде Scratch
    Inventive Minds: Marvin Minsky on EducationСборник эссе Марвина Минского об образовании и программированииMinsky
    Learn ggplot2 using Shiny AppСетевая книга по освоению приемов работы с пакетом ggplot2 языка R в среде Shiny
    Learn2loveКнига "learn2love" – это пособие, предназначенное для обучения программированию с нуля на Lua и LÖVE. Она охватывает основы информатики и навыки разработки программного обеспечения, уделяя особое внимание обучению самостоятельному решению проблем и созданию решений. Автор, Джей Томас, делится своим опытом и лучшими практиками, чтобы помочь читателям избежать распространенных ошибок. Книга находится в процессе разработки, и любой желающий может внести свой вклад.Thomas
    Learning analytics methods and tutorials: A practical guide using RМетоды учебной аналитики с использованием языка R - открытое руководство с многочисленными примерами и ссылками на образовательные датасетыMohammed Saqr, López-Pernas
    Mastering Shiny: Build Interactive Apps, Reports, and Dashboards Powered by RКнига о создании аналитических веб-приложений на языке R в среде ShinyWickham
    MindstormsMindstorms: Children, Computers, And Powerful Ideas - .. через бездну, разделяющую естественнонаучную, техническую культуру с культурой гуманитарной, необходимо перекинуть мост. И я думаю, что главным в конструкции такого моста может стать задача, как придать компьютерную форму плодотворным идеям, одинаково важным как поэту, так и инженеру. В моем понимании компьютер действует как переходный объект по установлению связей, которые в конечном счете оказываются связями между одной личностью и другой. Существуют матофобы, т. е. люди, не признающие математики, с очень развитой координацией движений собственного тела, и есть матофилы, т. е. люди, увлеченные математикой, никогда не вспоминающие о сенсомоторном происхождении своих математических знаний. Черепашка навела мост. Она стала посредником, объединившим в себе элементы геометрии тела с формальной геометрией. Осмысление жонглирования как структурного программирования помогло навести мосты между теми, у кого прекрасно развито матетическое чувство физических навыков, и теми, кто знает, как должна быть организована задача по написанию исторического эссе. Жонглирование и написание эссе, если смотреть на конечный результат, мало чем похожи друг на друга. Но процесс овладения обоими навыками во многом совпадает.Papert
    On memoryOn Memory (Electronic or Otherwise) - Leonardo The MIT Press Volume 23, Number 4, Autumn 1990 Наша практика обращения с электронной памятью подводит нас к признанию того факта, что память является не вещью, а процессом, хотя этот процесс и предполагает наличие тела человека или компьютера, внутри которого он должен происходить. Эта практика приводит нас к тому, что внутри нас нет никакого твердого ядра, которое бы руководило этим процессом и которое мы могли бы называть нашей "душой", нашим "духом" или даже нашим "эго". Практика показывает нам, что процесс извлечения, хранения и передачи информации протекает через нас и включает не только существующее и прошлое общество, но и фактически все, что мы называем словом "мир". Это приводит нас к пониманию того, что мы только узлы во всеобщей сети текущей информации, что эти узлы получают, перерабатывают и передают информацию, и что они полное ничто если взаимосвязи будут разорваны. Фактически, практика наших отношений с носителями электронной памяти требует от нас признать, что то, что мы называем "Я" это - только узел взаимосвязей и отношений, который при тщательном рассмотрении даже не содержит крючка, к которому эти отношения могут быть прицепленыFlusser
    Open Sources: Voices from the Open Source RevolutionКнига, в создании которой принимали участие разработчики программного обеспечения. Создатель Perl - Larry Wall, Tim O'Reily и многие другиеУолл
    Outstanding User Interfaces with ShinyA book about deeply customizing Shiny app for production.Granjon
    Perceptrons: an introduction to computational geometryКнига «Перцептроны» (англ. Perceptrons: an introduction to computational geometry) — написана Марвином Минским и Сеймуром Папертом, издана в 1969. Книга видных американских ученых посвящена параллельным вычислительным устройствам, известным под названием персептронов. В ней на примере нескольких конкретных задач распознавания "геометрических" свойств графических изображений подробно проанализированы принципиальные возможности подобных схем, рассмотрены вопросы, связанные с обучением персептронов, в частности длительность процесса обучения, эффективность схемы как адаптивного запоминающего устройства и т. п., а также исследованы потенциальные возможности персептронов как обучающихся распознающих устройств.
    76px-Perceptrons_e.png
    Papert
    Minsky
    R for Data ScienceПодробное руководство по использованию языка R для обработки, модификации, визуализации и программировании данныхWickham
    Simply Scheme: Introducing Computer ScienceВведение в программирование с простой версией языка Scheme - иметь в виду, что Snap! это Scheme, прикидывающаяся ScratchHarvey
    Structure and Interpretation of Computer ProgramsIt is known as the "Wizard Book" in hacker cultureHal Abelson
    The Design of Everyday ThingsКнига Дона Нормана о том, как устроено восприятие окружающих повседневных вещей. Есть издание "Дизайн повседневных вещей"Norman
    The Media Equation: How People Treat Computers, Television, and New Media Like Real People and PlacesМногочисленные примеры, подтверждающие, что люди воспринимают компьютерные программы, машины и радиопередачи так, как будто это живые и человеческие существа.Reeves
    Naas
    The Wiki Way: Quick Collaboration on the WebПервая книга о том, как устроена среда вики и как её использовать. Описано устройство WikiWiki движка и идеология среды совместного редактирования Книга о том, как устроен вики движок и как организовано взаимодействие участниковCunningham
    Leuf
    Thinking Like a TreeThinking Like a Tree (and Other Forms of Ecological Thinking ) Мы можем сказать, что дерево следует стратегии TREE - T- test - пробуй, R - randomly - случайно, E-evaluate - оценивай (определяй, какие из корней нашли лучшую почву), E-elect - выбирай (направление, куда будем двигаться). Конечно, шагающее дерево в действительности не выбирает и не принимает решение, куда двигаться. Но, этот способ размышления о дереве, следующем определенной стратегии поведения, может оказаться полезным.Resnick
    Tidy Modeling with RРуководство по созданию и использованию моделей при помощи пакетов из пространства tidyverse: recipes, parsnip, workflows, yardstick, and others.Sigle
    Turtle Geometry: The Computer as a Medium for Exploring MathematicsОдна из первых книг посвящённых использованию компьютеров в обучении математике. Она была опубликована в 1981 году и стала Книга описывает использование черепахи - графического объекта, который движется по экрану компьютера - для исследования геометрии и математических концепций. Авторы предлагают использовать черепаху для создания графических изображений, которые могут помочь студентам лучше понять математические концепции. Книга стала классикой в области обучения математике с использованием компьютеров и продолжает быть популярной среди преподавателей и учащихся по всему миру.
    Turtle Geometry presented a computational approach to geometry which has been cited as "the first step in a revolutionary change in the entire teaching/learning process."
    Hal Abelson
    DiSessa
    Using Prototypical Objects to Implement Shared Behavior in Object Oriented SystemsСтатья о прототипировании объектов в объектно-ориентированном программированииLiberman
    Working with MediaWikiПодробное и современное руководство по среде MediaWiki - с описанием форм, шаблонов, свойстваKoren
    Искусственная жизнь и русские биологи начала двадцатого векаПродемонстрировать фундаментальные вложения русской биологии в определение искусственной жизниBec
    Кибернетический манифестThe Cybernetic ManifestoТурчин
    Классификация, регрессия и другие алгоритмы Data Mining с использованием RОписана широкая совокупность методов построения статистических моделей классификации и регрессии для откликов, измеренных в альтернативной, категориальной и метрической шкалах. Подробно рассматриваются деревья решений, машины опорных векторов с различными разделяющими поверхностями, нелинейные формы дискриминантного анализа, искусственные нейронные сети и т.д.Шитиков, Мастицкий
    Мифический человеко-месяц или как создаются программные системыБиблии для разработчиков программного обеспечения во всем мире.
    Закон Брукса
    Если проект не укладывается в сроки, то добавление рабочей силы задержит его еще больше.
    Брукс
    Оркестр играет без дирижера: размышления об эволюции некоторых технических систем и управлении имиМир, создаваемый человеком в технических системах во многом похож на тот, который окружает человека в природе. И в искусственном мире техники могут происходить процессы, подобные эволюции живых организмов. Возникают колонии и сообщества технических систем, формируются «сверхорганизмы» типа муравейника, возникают «коллективы», живущие по своим законам.Варшавский
    Поспелов Д.А.
    Программирование — вторая грамотностьВыступление А.П. Ершова (keynote speech) на 3-й Всемирной конференции ИФИП и ЮНЕСКО по применению ЭВМ в обучении в свое время получило широкий резонанс, его текст неоднократно издавался на разных языках, но ни разу не был опубликован с иллюстрациями, специально подготовленными для этого доклада, которые мы и предлагаем сегодня вашему вниманию.Ершов
    Разработка компьютерных учебников и обучающих системТекст с точными определениями понятий в области технологии разработки программного обучающего обеспеченияБашмаков
    СИСТЕМНАЯ ИНЖЕНЕРИЯ — 2022Учебник базируется на совмещении изложения лучших практик программной инженерии, классической «железной» системной инженерии и инженерии предприятияЛевенчук
    Стили и методы программированияВведение в зоопарк существующих систем и понятий программированияНепейвода
    Тишина как общинное достояниеThis article is from Illich's remarks at the "Asahi Symposium Science and Man - The computer-managed Society," Tokyo, Japan, March 21, 1982. The ideas here are part of a book Illich is working on, The History of Scarcity. - Stewart Brand The CoEvolution Quarterly, Winter 1983
    • С моим приездом на остров все изменилось. На том же корабле, который привез меня, на остров привезли первый громкоговоритель. Только немногие люди тогда слышали такую вещь. До этого дня все женщины и мужчины говорили голосами примерно одной силы. После этого все изменилось. Теперь доступ к микрофону определял, чей голос будет усилен. Тишина перестала быть общинной; она стала ресурсом, которую заполнял громкоговоритель. Сам язык трансформировался из местного общинного достояния в национальный ресурс для коммуникации. Как загороди помещиков повысили национальную производительность через запрет индивидуальному крестьянину держать свои несколько овечек, так и появление громкоговорителя разрушило тишину, которая прежде давала возможность каждому высказаться своим собственным голосом.
    Иллич
    Феномен науки: Кибернетический подход к эволюцииВ книге изложена концепция метасистемного перехода и с ее позиций прослеживает эволюцию мира от простейших одноклеточных организмов до возникновения мышления, развития науки и культуры.Турчин
    Экологический подход к зрительному восприятиюЭта книга о том, как мы видим. Каким мы видим окружающий нас мир? Как мы видим поверхности, их компоновку, цвет, текстуру? Как мы видим, где в этом мире находимся мы сами? Как мы видим, движемся мы или нет и если движемся, то куда? Как нам удается по внешнему виду вещей определить, на что они годятся? Почему все выглядит именно так, как оно выглядит? Как мы видим, как делать то или иное - вдевать нитку в иголку или вести автомобиль? Какие возможности открывает окружающий мир перед человеком, как мы воспринимаем и используем эти возможности.Гибсон

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

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


    Лента времени обучающих языков (от Lisp & Logo)

    January 1, 1966

    РЕФАЛ

    Launch year: 1966
    Ancestors: Lisp

    January 1, 1967

    Лого

    Launch year: 1967
    Ancestors: Lisp
    Descendants: NetLogo
    Descendants: Scratch
    Descendants: Snap!
    Descendants: Squeak
    Descendants: Boxer
    Descendants: Lynx

    January 1, 1972

    Prolog

    Launch year: 1972
    Ancestors: Lisp
    Descendants: Agentsheets
    Descendants: Visual Prolog

    January 1, 1975

    Scheme

    Launch year: 1975
    Ancestors: Lisp
    Descendants: Snap!
    Descendants: Ruby
    Descendants: Clojure
    Descendants: Racket

    January 1, 1980

    Josef

    Launch year: 1980
    Ancestors: Лого
    Descendants: Karel

    January 1, 1980

    Smalltalk

    Launch year: 1980
    Ancestors: Лого
    Ancestors: Lisp
    Descendants: Squeak
    Descendants: Etoys
    Descendants: Ruby
    Descendants: Pharo

    January 1, 1983

    Perl

    Launch year: 1983
    Ancestors: Lisp
    Ancestors: C++
    Descendants: JavaScript
    Descendants: Raku
    Descendants: PHP
    Descendants: Ruby

    January 1, 1984

    Boxer

    Launch year: 1984
    Ancestors: Лого
    Descendants: OpenAI Codex

    January 1, 1984

    LogoWriter

    Launch year: 1984
    Ancestors: Лого

    January 1, 1988

    Wolfram

    Launch year: 1988
    Ancestors: Lisp
    Ancestors: Prolog
    Ancestors: Mathematica
    Descendants: Julia
    Descendants: Clojure
    Descendants: Jupiter

    January 1, 1989

    StarLogo

    Launch year: 1989
    Ancestors: Лого
    Descendants: NetLogo
    Descendants: StarLogo Nova
    Descendants: Scratch

    January 1, 1991

    Python

    Launch year: 1991
    Ancestors: Lisp
    Ancestors: ABC
    Ancestors: Perl
    Ancestors: APL
    Ancestors: Haskel
    Descendants: JavaScript
    Descendants: CoffeeScript
    Descendants: Nim

    January 1, 1992

    UCB Logo

    Launch year: 1992
    Ancestors: Лого
    Ancestors: Lisp
    Descendants: NetLogo
    Descendants: Etoys
    Descendants: FMSLogo

    January 1, 1994

    AlgoBlock

    Launch year: 1994
    Ancestors: Лого

    January 1, 1994

    Racket

    Launch year: 1994
    Ancestors: Lisp
    Ancestors: Scheme

    January 1, 1995

    Ruby

    Launch year: 1995
    Ancestors: Lisp
    Ancestors: Perl
    Ancestors: Scheme
    Descendants: Raku

    January 1, 1996

    LogoBlocks

    Launch year: 1996
    Ancestors: Лого
    Descendants: Lego Mindstorms

    January 1, 1999

    NetLogo

    Launch year: 1999
    Ancestors: Лого
    Ancestors: StarLogo
    Descendants: StarLogo Nova
    Descendants: AgentScript
    Descendants: GAMA

    January 1, 2000

    ПервоЛого

    Launch year: 2000
    Ancestors: Лого

    January 1, 2003

    Scala

    Launch year: 2003
    Ancestors: Lisp
    Ancestors: Java
    Descendants: Kotlin

    January 1, 2006

    AgentCubes

    Launch year: 2006
    Ancestors: Lisp
    Ancestors: Agentsheets
    Descendants: Scratch

    January 1, 2006

    Scratch

    Launch year: 2006
    Ancestors: Лого
    Ancestors: Squeak
    Ancestors: Agentsheets
    Descendants: Snap!
    Descendants: App Inventor
    Descendants: GP
    Descendants: ScratchJR

    January 1, 2007

    Church

    Launch year: 2007
    Ancestors: Lisp
    Ancestors: Scheme

    January 1, 2007

    Clojure

    Launch year: 2007
    Ancestors: Lisp
    Ancestors: Scheme
    Descendants: Elixir

    January 1, 2008

    KTurtle

    Launch year: 2008
    Ancestors: Лого
    Ancestors: Kumir

    January 1, 2008

    Nim

    Launch year: 2008
    Ancestors: Lisp
    Ancestors: Python

    January 1, 2010

    App Inventor

    Launch year: 2010
    Ancestors: Scratch
    Ancestors: Лого
    Ancestors: Blockly
    Descendants: Thunkable

    January 1, 2010

    Snap!

    Launch year: 2010
    Ancestors: Scratch
    Ancestors: Лого
    Ancestors: Lisp
    Ancestors: Smalltalk
    Ancestors: Scheme
    Descendants: NetsBlox
    Descendants: SciSnap!
    Descendants: SQLsnap!
    Descendants: DBSnap
    Descendants: Snap4arduino

    January 1, 2015

    GP

    Launch year: 2015
    Ancestors: Scratch
    Ancestors: Лого

    January 1, 2015

    NetsBlox

    Launch year: 2015
    Ancestors: Scratch
    Ancestors: Snap!
    Ancestors: Лого

    January 1, 2017

    StarLogo Nova

    Launch year: 2017
    Ancestors: NetLogo
    Ancestors: Scratch
    Ancestors: Лого

    January 1, 2018

    DBSnap

    Launch year: 2018
    Ancestors: Scratch
    Ancestors: Snap!
    Ancestors: Лого

     
    Лого
    January 1, 1967

    РЕФАЛ

    Лого

    Prolog

    Scheme

    Josef

    Smalltalk

    Perl

    Boxer

    LogoWriter

    Wolfram

    StarLogo

    Python

    UCB Logo

    AlgoBlock

    Racket

    Ruby

    LogoBlocks

    NetLogo

    ПервоЛого

    Scala

    AgentCubes

    Scratch

    Church

    Clojure

    KTurtle

    Nim

    App Inventor

    Snap!

    GP

    NetsBlox

    StarLogo Nova

    DBSnap

    1830
    1840
    1850
    1860
    1870
    1880
    1890
    1900
    1910
    1920
    1930
    1940
    1950
    1960
    1970
    1980
    1990
    2000
    2010
    2020
    2030
    2040
    2050
    2060
    2070
    2080
    2090
    2100
    2110
    2120
    2130
    2140
    1952
    1953
    1954
    1955
    1956
    1957
    1958
    1959
    1961
    1962
    1963
    1964
    1965
    1966
    1967
    1968
    1969
    1971
    1972
    1973
    1974
    1975
    1976
    1977
    1978
    1979
    1981
    1982
    1983
    1984
    1985
    1986
    1987
    1988
    1989
    1991
    1992
    1993
    1994
    1995
    1996
    1997
    1998
    1999
    2001
    2002
    2003
    2004
    2005
    2006
    2007
    2008
    2009
    2011
    2012
    2013
    2014
    2015
    2016
    2017
    2018
    2019
    2021
    2022
    2023
    2024
    2025
    2026
    2027
    2028
    2029


    Паттерны поведения компьютерных агентов и их возможная реализация

     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 решение собирается из блоков сенсоров - если я касаюсь другого агента (указать какого именно), то ...
    ТащитьТащить - паттерн "тащить" противоположен по значению паттерну толкать - агент может тащить за собой другого агента или агентов. Например, поезд тащит за собой вагоны, лошадь тащит за собой сани, буксир тащит за собой баржи или плот.
    ТолкатьПаттерн "толкать" — это паттерн, который мы видим во многих играх. Агент должен толкать ящики или мешки с золотом. Когда игрок толкает коробку или мешок, эти объекты движутся в том направлении (вверх, вниз, вправо или влево), в котором их толкнули.Объект или Агент, над которым совершается действие, получает сигнал от агента субъекта деятельности, поворачивается в ту же сторону, куда смотрит толкающий агент и двигается в эту сторону.
    Пример реализации простых паттернов поведения агентов в среде Scratch или в среде Snap!
    https://snap.berkeley.edu/snap/snap.html#present:Username=patarakin&ProjectName=Simple_Game

    Работа с изображением

    https://snap.berkeley.edu/snap/snap.html#present:Username=patarakin&ProjectName=image_data


    Загрузка CSV данных

    Работа с изображением как с данными

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

    Для Snap!

    Data snap.jpg

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

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

    Функциональное программирование

    Языки функционального программирования общего назначения

    {{#ask: [[Category:Язык программирования]] [[Назначение языка::Язык общего назначения]] [[Programming paradigm::Функциональное программирование]] | ?Description }}

     Description
    ClojureClojure является функциональным языком программирования с поддержкой функций в качестве объектов первого класса (first class objects) и неизменяемыми (за исключением специальных случаев) данными, включая поддержку "ленивых" коллекций данных. Современный диалект Лиспа, язык программирования общего назначения с поддержкой разработки в интерактивном режиме, поощряющий функциональное программирование и упрощающий поддержку многопоточности. Clojure работает на платформах JVM и CLR. Clojure отличает философия «код как данные» (гомоиконность) и развитая система лисп-макросов.
    FennelFennel is a programming language that brings together the speed, simplicity, and reach of Lua with the flexibility of a lisp syntax and macro system.
    GPБлочный язык общего назначения, который может использоваться не только в образовательных целях
    JavaScriptJavaScript обычно используется как встраиваемый язык для программного доступа к объектам приложений. Наиболее широкое применение находит в браузерах как язык сценариев для придания интерактивности веб-страницам. Основные архитектурные черты: динамическая типизация, слабая типизация, автоматическое управление памятью, прототипное программирование, функции как объекты первого класса.
    LispLISP (от англ. LISt Processing language — «язык обработки списков», современное написание: Lisp) — семейство языков программирования, программы и данные в которых представляются в виде списков.
    LuaLua (лу́а, с порт. — «луна»— скриптовый язык программирования, разработанный в подразделении Tecgraf (Computer Graphics Technology Group) Католического университета Рио-де-Жанейро (Бразилия). Интерпретатор языка является свободно распространяемым, с открытым исходным кодом на языке программирования Си. По идеологии и реализации язык Lua ближе всего к JavaScript, в частности, он также реализует прототипную модель ООП, но отличается паскалеподобным синтаксисом и более мощными и гибкими конструкциями. Характерной особенностью Lua является реализация большого числа программных сущностей минимумом синтаксических средств. Так, все составные пользовательские типы данных (массивы, структуры, множества, очереди, списки) реализуются через механизм таблиц, а механизмы объектно-ориентированного программирования, включая множественное наследование — с использованием метатаблиц, которые также отвечают за перегрузку операций и ряд других возможностей.
    PythonPython в русском языке распространено название пито́н) — высокоуровневый язык программирования общего назначения, ориентированный на повышение производительности разработчика и читаемости кода. Синтаксис ядра Python минималистичен. В то же время стандартная библиотека включает большой объём полезных функций. Язык является полностью объектно-ориентированным в том плане, что всё является объектами
    ScalaScala — мультипарадигмальный язык программирования, спроектированный кратким и типобезопасным для простого и быстрого создания компонентного программного обеспечения, сочетающий возможности функционального и объектно-ориентированного программирования.
    SchemeScheme — функциональный язык программирования, один из трёх наиболее популярных диалектов Лиспа. Обладает минималистичным дизайном, содержит минимум примитивных конструкций и позволяет выразить всё необходимое путём надстройки над ними. Например, использует всего два механизма организации циклов — хвостовую рекурсию и итеративный подход (в котором используются временные переменные для сохранения промежуточного результата).
    SwiftЯзык программирования Swift используют, чтобы писать приложения и программы для устройств Apple: айфонов, айпадов, умных часов, телевизоров, макбуков и стационарных компьютеров с macOS. В iOS-разработке этот язык считается стандартом.
    РЕФАЛРЕФАЛ (Рекурсивных функций алгоритмический) — один из старейших функциональных языков программирования, ориентированный на символьные вычисления: обработку символьных строк (например, алгебраические выкладки); перевод с одного языка (искусственного или естественного) на другой; решение проблем, связанных с искусственным интеллектом. Соединяет в себе математическую простоту с практической направленностью на написание больших и сложных программ.

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

    Объектно-ориентированное программирование

    Языки визуального программирования

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

    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

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

    Scratch

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

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



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



    Как узнать какие модули (Extension) уже есть в системе


    Где посмотреть всё разнообразие доступных расширений

    Пространство Модулей + Lua

    Модули в Scratch

    Цветные ящики являются модулями, из которых строится среда Scratch
    StarLogo Nova + Snap!


    Собственные блоки и ящики блоков в Snap!

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

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

     DescriptionExamples
    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 связей.

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

    Копирующий Копируемый Предмет Время
    1106 901 Химия 2016-12-01T16:40:44Z
    1480 234 Химия 2017-06-23T09:55:48Z
    234 1480 Химия 2017-10-12T06:08:15Z
    650 927 Химия 2018-02-21T20:15:05Z
    1362 901 Химия 2018-06-27T20:39:01Z
    390 881 Химия 2018-08-29T22:36:47Z
    647 604 Химия 2019-02-01T16:04:44Z
    430 585 Химия 2019-03-28T06:24:56Z
    927 650 Химия 2020-05-15T05:37:58Z

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

    Snap! + данные

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


    WoS collection script pic.png


    Food scripte.png


    Snap Ages Plots.jpg

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

    Описания игр

    Категория:DEG




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

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


    Навыки совместной деятельности в среде Semantic MediaWiki Введение в курс, Языки высокого уровня. Зарегистрироваться на площадке, отметить странницу категориями, заполнить поля по форме
    Выбирать способы программирования Языки высокого уровня. Типология языков Создайте собственные концепты к статьям в категории Языки программирования
    Использовать языки визуального программирования для моделирования базовых паттернов Визуальное программирование Разместить в вики проект, выполненный в среде Scratch или Snap! или StarLogo Nova
    Создавать диаграммы классов Объектно-ориентированное программирование Разместите в вики собственную диаграмму класса см. Диаграмма, Диаграмма класса,
    Обращаться к объектам по их свойствам Объектно-ориентированное программирование Создайте примеры запросов к статьям вики с выводом результатов в виде географических карт, гистограмм и таблиц
    Обращаться к агентам на основе свойств Объектно-ориентированное программирование Разместите в вики пример проекта Snap!, в котором происходит обращение к клонам спрайта Примеры
    Использовать готовые модули и библиотеки Модули и библиотеки Разместите в вики проект Scratch или Snap! в которых используются библиотеки Периодическая система химических элементов
    Обрабатывать данные, загружать данные, сохранять данные Работа с данными Разместите в вики проект Scratch или Snap!, в которых происходит обработка данных