Участник: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) — семейство языков программирования, программы и данные в которых представляются в виде списков.
NetLogoЯзык программирования и среда для построения многоагентных моделей. В качестве агентов в системе действуют пятна, черепашки и связи. Ко всем агентам можно обратится. При этом пятна нельзя уничтожить, а связи исчезают, если погибают черепашки, которых они связывают. NetLogo чаще других используется при создании многоагентных моделей, поскольку программы не этом языке понятны специалистам различных предметных областей. Библиотека NetLogo содержит множество готовых моделей по биологии, математике, химии, социология. С этими моделями могут ознакомиться и поиграть ученики.
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
How to Make a Basic PlatformerКак создать платформер
MovementКак управлять движением агентов на экране
Right Mouse Detection
Shooting ProjectilesКак стрелять снарядами? (Бросать объекты, клонировать объекты и т.п. действия)
Как использовать клоны в 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
MovementКак управлять движением агентов на экране
Как редактировать собственный блок в Snap!Просто щёлкнуть по блоку правой кнопкой мыши и выбрать команду edit и команды откроются в отдельном окне редактора
Как управлять поведением спрайта в Snap!Как управлять поведением спрайта клавишами

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

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

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

Управление при помощи клавиш


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

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

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



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

Кофе

  • Описание.