Участник:Patarakin/Программирование на языках высокого уровня

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

Шаблон продвижения по учебному курсу

Работа в вики среде

  • Создать страницу участника в вики среда
  • Отметить нужными категориями
  • Создать вложенную страницу с материалами по курсу /Программирование на языках высокого уровня
  • Переместить на вложенную страницу данный шаблон продвижения по учебному курсу

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

  1. Создать новую статью в категории Category:Язык программирования
  2. Предложить новое свойство для статей в категории Category:Язык программирования

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

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

Book fr.png

  1. Создать последовательность операций видоизменяющих изображение в Snap!
  2. Создать статью в категории Рецепты с использованием визуальных блоков

См. Периодическая система химических элементов
Tablescript.png

https://snap.berkeley.edu/project?username=patarakin&projectname=keys_rule

Концепции программирования

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

  1. Сравнение конструкций в различных языках высокого уровня
  2. Примеры использования конструкций для симуляции паттернов в категории Категория:HowTo
  • повторять всегда

Сравнение концепций программирования

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

Структуры данных

Table sprite.png

Среды выращивания данных и анализа данных

Импорт и экспорт данных

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

Item2 foo.png

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

{{#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) — семейство языков программирования, программы и данные в которых представляются в виде списков.
ScalaScala — мультипарадигмальный язык программирования, спроектированный кратким и типобезопасным для простого и быстрого создания компонентного программного обеспечения, сочетающий возможности функционального и объектно-ориентированного программирования.
SchemeScheme — функциональный язык программирования, один из трёх наиболее популярных диалектов Лиспа. Обладает минималистичным дизайном, содержит минимум примитивных конструкций и позволяет выразить всё необходимое путём надстройки над ними. Например, использует всего два механизма организации циклов — хвостовую рекурсию и итеративный подход (в котором используются временные переменные для сохранения промежуточного результата).
SwiftЯзык программирования Swift используют, чтобы писать приложения и программы для устройств Apple: айфонов, айпадов, умных часов, телевизоров, макбуков и стационарных компьютеров с macOS. В iOS-разработке этот язык считается стандартом.
РЕФАЛРЕФАЛ (Рекурсивных функций алгоритмический) — один из старейших функциональных языков программирования, ориентированный на символьные вычисления: обработку символьных строк (например, алгебраические выкладки); перевод с одного языка (искусственного или естественного) на другой; решение проблем, связанных с искусственным интеллектом. Соединяет в себе математическую простоту с практической направленностью на написание больших и сложных программ.


Создание собственных функций

Оценка времени выполнения процедуры

Модули и библиотеки (Использование и создание модулей и библиотек)

  • Imaga Erase.png
    Как создать собственную библиотеку внутри Snap
  • Использовать в своём проекте одну из готовых библиотек Snap!
  1. Сделать краткое описание одной из библиотек Snap! в категории Категория:DigitalTool
  2. Сделать описание краткое описание внешней библиотеки в категории Категория:DigitalTool - так чтобы можно было показать на площадке digida - см. пример Shiny

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

Классы и методы

Наследование

Paret alonzo.jpg

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

Slnova.png

Программирование игр

  • Образовательные среды создания игр
  • Обсудить один из паттернов поведения агентов в цифровых средах Категория:HowTo
  1. Предложить новое решение реализации паттерна поведения

Паттерн управления при помощи клавиш

Паттерн Превращаться в другого агента

Программирование внутри обучающих игр

  1. Добавить статью в Категорию обучающих игр
  2. Предложить свойство для статей в Категорию языков программирования
  3. Предложить свойство для статей в Категорию Scripting_Tutorials
Собрать и дополнить рецепты Рецепты, которые связаны с созданием игр.

Все статьи из категории рецепты, связанные с Game design

 Description
Advanced Platformer PhysicsКак мы имитируем физические свойства внутри Scratch
Dog chases cat and cat chases mouseПроект внутри которого 3 породы- собака, кошка, мышка
How to Make a Basic PlatformerКак создать платформер
How to graph with StarLogo NovaКак представить графики численности агентов StatLogo Nova - простая лабораторная работа по сбору данных из мира, заселённого травой, кроликами, волками и медведями
  • 120px-Starlogo_how_to_Graph.png
MovementКак управлять движением агентов на экране
Right Mouse Detection
Shooting ProjectilesКак стрелять снарядами? (Бросать объекты, клонировать объекты и т.п. действия)
Switching Between ScreensКак переключаться между различными сценами в Scratch. Скрипт проверяет, совпадает ли переменная экрана с экраном для отображения спрайтов. Если да, то спрайты будут отображаться и делать все, что от них требуется. Если нет, то спрайт останется скрытым и не запустит блоки для того времени, когда он будет открыт.
The ball gathers the starsПроект внутри которого 3 породы- мяч, звезды, подарок
Как использовать клоны в ScratchScratch предоставляет увлекательный мир возможностей для создания интерактивных проектов, и одной из самых мощных функций платформы является использование клонов. В этой статье мы погрузимся в мир клонирования и изучим, как этот инструмент может сделать ваши проекты более динамичными, интересными и визуально привлекательными.
Как копировать поведение агентов в Snap!Попытка переноса поведения драконов из StarLogo Nova в Snap!
Как показать информацию об участнике из Scratch сообщества в App InventorПрограмма запросит имя участника (например, mres или patarakin) и соберёт о нем информацию, используя Scratch API:
  1. соберёт его биографию и статус
  2. число и перечень проектов
  3. на кого он подписан
  4. кто на него подписан
Как редактировать собственный блок в Snap!Просто щёлкнуть по блоку правой кнопкой мыши и выбрать команду edit и команды откроются в отдельном окне редактора
Как создавать клоны в ScratchСоздаём клоны в Scratch
Как создать Викторину в App InventorРуководство по созданию Викторины с использованием App Inventor.

Цель Викторины: Ответить правильно на все вопросы.

При каждом запуске Викторины пользователь отвечает на вопросы: при правильном ответе выводится результат "Ответ правильный", при неправильном - "Ответ неправильный".

Ссылка на проект: https://ai2.appinventor.mit.edu/#5953498929561600
Как управлять поведением спрайта в Snap!Как управлять поведением спрайта клавишами
Создание игры "Мяч в Руках" в App Inventor"Мяч в Руках" - захватывающая аркада, где ваша реакция и точность становятся ключом к успеху! Ваш друг, мальчик, в восторге от своего мяча, который бесконтрольно катится вперед-назад. Ваша задача - метко нажимать, чтобы вовремя остановить мяч в момент, когда он окажется рядом с мальчиком.
Создание игры "Угадай число" в App InventorРуководство по созданию игры "Угадай число" с использованием App Inventor.

Цель игры: Угадать загаданное число за минимально возможное количество ходов.

При каждом запуске игры случайным образом выбирается число от 1 до 25, которое игрок должен угадать, игроку дается 10 попыток для угадывания числа.

Ссылка на проект: https://gallery.appinventor.mit.edu/?galleryid=dbce7297-b99d-474f-af24-8ff1b79140f1

Примеры игр в среде Snap!

 Description
Dog chases cat and cat chases mouseПроект внутри которого 3 породы- собака, кошка, мышка
MovementКак управлять движением агентов на экране
Switching Between ScreensКак переключаться между различными сценами в Scratch. Скрипт проверяет, совпадает ли переменная экрана с экраном для отображения спрайтов. Если да, то спрайты будут отображаться и делать все, что от них требуется. Если нет, то спрайт останется скрытым и не запустит блоки для того времени, когда он будет открыт.
Как редактировать собственный блок в Snap!Просто щёлкнуть по блоку правой кнопкой мыши и выбрать команду edit и команды откроются в отдельном окне редактора
Как управлять поведением спрайта в Snap!Как управлять поведением спрайта клавишами

Студия группы Интернет-вещей

https://snap.berkeley.edu/collection?username=patarakin&collection=Things_Internet

Описание Проект


Описание Проект

Притвориться другим

  • по нажатию на клавишу пробел скопировать своё собственное изображение с экрана, потом пойти в ту точку, где находится другой агент, там сделать Paste на его спрайт. После этого тот второй спрайт летает и думает, что на нём надет его старый костюм, а костюм на нем совершенно другой.