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

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



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

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

Знать
  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

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

Категория:ИВО-231м - 2023
Категория:ПБД221м и Категория:РМП221м - 2022


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

Введение

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

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

Перечень языков визуально-блочного программирования, активных в настоящее время {{#ask: [[Category:Язык программирования]] [[Визуальная реализация::Блоки-Иконки]] [[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/
Beetle Blockshttp://beetleblocks.com
Blocklyhttp://blockly.ru/
CreatiCodeСреда для создания 3х мерных игр средствами блочного программированияhttps://www.creaticode.com/
DBSnapКлон Snap! для работами с базами данныхhttps://ysilva.cs.luc.edu/dbsnap/app.html
DRAKONДружелюбный русский алгоритмический язык, который обеспечивает наглядность (сокр. ДРАКОН) — визуальный алгоритмический язык программирования и моделированияhttp://drakon.su/
GPБлочный язык общего назначения, который может использоваться не только в образовательных целяхhttps://gpblocks.org/
GameBloxhttps://gameblox.org
Gamefroothttps://make.gamefroot.com/
Gamestar MechanicСреда и сообщество для создания игр. Gamestar Mechanic is an online game design platform built as a game about making gameshttps://gamestarmechanic.com/
Hopscotchhttps://www.gethopscotch.com
Koduhttps://www.kodugamelab.com/
KodularKodular — это онлайн-инструмент, позволяющий создавать собственные приложения без знания языков программирования, используя простой интерфейс перетаскивания блоков. С помощью Kodular Companion, разработчики могут тестировать свои приложения в режиме реального времени, экономя время на экспорте и компиляции. Платформа позволяет разрабатывать приложения для Android с широкими возможностями настройки, включая добавление пользовательских компонентов и расширений.https://www.kodular.io/creator/
Looking Glasshttps://lookingglass.wustl.edu/
MakeCodehttps://makecode.microbit.org/
Mamahttps://eytam.com/mama/doc
MicroBlocksЯзык программирования - клон языка Scratch специально спроектированный для управления физическими объектамиhttps://microblocks.fun/
Move the Turtlehttp://movetheturtle.com/
NetsBloxВизуальный блочный язык программирования - производный от Scratch и Snap! - внимание уделено сетевым возможностям, интеграции с Google картами. Внутри среды NetsBlox участники проектов могут коллективно редактировать блоки программы так же как это происходит в Google-документах.https://netsblox.org/
OctoStudioСреда для разработки школьниками своих собственных игр на мобильных устройствахhttps://www.media.mit.edu/projects/octostudio/overview/
Piktomirhttps://piktomir.ru/
Pocket CodeМобильное приложение для создание детьми игр и цифровых историйhttps://share.catrob.at/pocketcode
Robo Pro Lighthttp://fischertechnik.ru
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/
Stagecast Creatorhttp://acypher.com/creator/
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/
    Битва Големов
    ПервоЛогоПервоЛого — универсальная проектная среда на базе языка Лого для начального и дошкольного образования. В ПервоЛого можно создавать проекты, даже не умея читать и считать — как очень простые, состоящие из картинки и текста или звука, так и весьма сложные, включающие в себя различные запрограммированные объекты, роль которых исполняет черепашка.

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

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

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


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

     Launch yearAncestorsDescendants
    AgentCubes2006Lisp
    Agentsheets
    Scratch
    NetsBlox
    AlgoBlock1994Лого
    App Inventor2010Scratch
    Лого
    Blockly
    Thunkable
    Boxer1984ЛогоOpenAI Codex
    Church2007Lisp
    Scheme
    Clojure2007Lisp
    Scheme
    Elixir
    DBSnap2018Scratch
    Snap!
    Лого
    FennelLisp
    Lua
    GP2015Scratch
    Лого
    Josef1980ЛогоKarel
    KTurtle2008Лого
    Kumir
    LogoBlocks1996ЛогоLego Mindstorms
    LogoWriter1984Лого
    Move the TurtleЛого
    NetLogo1999Лого
    StarLogo
    StarLogo Nova
    AgentScript
    GAMA
    NetsBlox2015Scratch
    Snap!
    Лого
    Nim2008Lisp
    Python
    Perl1983Lisp
    C++
    JavaScript
    Raku
    PHP
    Ruby
    Prolog1972LispAgentsheets
    Visual Prolog
    Python1991Lisp
    ABC
    Perl
    APL
    Haskel
    JavaScript
    CoffeeScript
    Nim
    Racket1994Lisp
    Scheme
    Ruby1995Lisp
    Perl
    Scheme
    Raku
    Scala2003Lisp
    Java
    Kotlin
    Scheme1975LispSnap!
    Ruby
    Clojure
    Racket
    Scratch2006Лого
    Squeak
    Agentsheets
    Snap!
    App Inventor
    GP
    ScratchJR
    Smalltalk1980Лого
    Lisp
    Squeak
    Etoys
    Ruby
    Pharo
    Snap!2010Scratch
    Лого
    Lisp
    Smalltalk
    Scheme
    NetsBlox
    SciSnap!
    DBSnap
    Snap4arduino
    SQLsnap!
    StarLogo1989ЛогоNetLogo
    StarLogo Nova
    Scratch
    StarLogo Nova2017NetLogo
    Scratch
    Лого
    UCB Logo1992Лого
    Lisp
    NetLogo
    Etoys
    FMSLogo
    Wolfram1988Lisp
    Prolog
    Mathematica
    Julia
    Clojure
    Jupiter
    Лого1967LispNetLogo
    Scratch
    Snap!
    Squeak
    Boxer
    Lynx
    ПервоЛого2000Лого
    РЕФАЛ1966Lisp



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

     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!

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

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

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

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

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

    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



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


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

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

    Модули в Scratch

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


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

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

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

     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



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

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


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