Введение в курс Проектирование и разработка приложений

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


Описание события Вводное занятие учебного курса
Тип события
Начало 2022-09-10T12:40:21.000Z
Окончание 2022-09-09T14:00:21.000Z
color DarkOrange
Адрес события http://digida.mgpu.ru/
Видео запись события
Среды и средства, на которые повлияло событие
Формируемые в рамках события компетенции
Область знаний
Местоположение
Карта
Идёт загрузка карты…

Обсуждение программы курса - планирование проектов

Результаты:

  1. Знать разнообразие образовательных приложений
  2. Анализировать требования для образовательных приложений
  3. Использовать диаграммы UML для проектирования приложений
  4. Встраивать диаграммы mermaid в вики страницы и хранилища GitHub
  5. Создавать мобильные приложение при помощи языков блочного программирования (App Inventor, NetsBlox)


Перечень приложений

  1. Библиотека МЭШ
  2. PlantNet
  3. Словари
  4. Расписание - (разные)

Snap! - пример

Snap!

Краткое описание языка Блочный язык программирования для преподавания алгоритмов и структур данных. Snap! - потомок языка Scratch. В отличие от Scratch Snap! поддерживает лямбда-исчисление, объекты первого класса, процедуры, рекурсия и множество других возможностей. С версии 4.0 Snap! получил современное название и был переписан на JavaScript.
Компетенции в каких сферах формирует Empowered Learner, Knowledge Constructor, Innovative Designer, Computational Thinker
Парадигмы программирования Функциональное программирование, Объектно-ориентированное программирование
Возрастная категория 14
Назначение языка (Общее / Учебное) Мини-язык для обучения
Visual_Text_Blocks Блоки-Иконки
Измерение (2D/3D/Tangible) 2D
Открытость продукта Открытый
Address http://snap.berkeley.edu/
Предки (Ancestors) Scratch, Scheme, Smalltalk, Logo, Lisp
Потомки (Descendants) NetsBlox, SciSnap!, SQLsnap!, DBSnap
Активность в данный момент Project is active
Доступны ремиксы? Да
Год создания 2010
Создатели Jens Mönig, Harvey
Поясняющее видео
Используется для создания мобильных приложений? Нет
Введение в курс Проектирование и разработка приложений упоминается в свойствах следующих страниц



Snap! - потомок языка Scratch. В отличие от Scratch Snap! поддерживает лямбда-исчисление, объекты первого класса, процедуры, рекурсия и множество других возможностей. С версии 4.0 Snap! получил современное название и был переписан на JavaScript.

Руководство по использованию - https://snap.berkeley.edu/snap/help/SnapManual.pdf

Язык активно используется для обучения информатике (computer science) UC Berkeley учебный курс Beauty and Joy of Computing

SNAP! is also a great way to program the Hummingbird Robotics Kit.

https://www.youtube.com/watch?v=KaNWGhc7l8c&t=1411s




В нашей вики digida.mgpu.ru можно использовать визуальные блоки Scratch для представления программ Snap!

when @greenFlag clicked	::control
say [I am very confused about Snap!] for (2) seconds:: looks
visit [https://snapwiki.miraheze.org/] ::sensing
for each ((item::reporter variables)::#dc4c14) in (list [blocks] [features] [and others] @delInput @addInput::#ea9473)  {                                                                                                  	
think [hmm...] for (2) seconds::looks
say (join [I now know about ] (item) [.] @delInput @addInput:: operators
wait (0.5) seconds::control
}::#dc4c14 	
say [That clears some things up.] for (2) seconds::looks cap

Важно, что и сами проекты Snap! могут быть встроены в тексты вики страниц

--


Доступные структуры данных

Data snap.jpg



NetsBlox - пример

NetsBlox

Краткое описание языка Визуальный блочный язык программирования - производный от Scratch и Snap! - внимание уделено сетевым возможностям, интеграции с Google картами. Внутри среды NetsBlox участники проектов могут коллективно редактировать блоки программы так же как это происходит в Google-документах.
Компетенции в каких сферах формирует Empowered Learner, Knowledge Constructor, Creative Communicator, Global Collaborator
Парадигмы программирования
Возрастная категория 13
Назначение языка (Общее / Учебное) Мини-язык для обучения
Visual_Text_Blocks Блоки-Иконки
Измерение (2D/3D/Tangible) 2D
Открытость продукта Открытый
Address https://netsblox.org/
Предки (Ancestors) Snap!, Scratch, Logo
Потомки (Descendants)
Активность в данный момент Project is active
Доступны ремиксы? Да
Год создания 2015
Создатели
Поясняющее видео https://www.youtube.com/watch?v=Yaocj3zHPN0&t=280s
Используется для создания мобильных приложений? Да
Введение в курс Проектирование и разработка приложений упоминается в свойствах следующих страниц



Визуальный блочный язык программирования - производный от Scratch и Snap! - внимание уделено сетевым возможностям, интеграции с Google картами. Участники проектов могут редактировать программы так же как это происходит в Google-документах.

Создание приложения


Возможность совместного редактирования кода


Extensions

Netsblox maps.png


Geo



App Inventor - пример

App Inventor

Краткое описание языка App Inventor является бесплатным инструментом для программирования для создания мобильных приложений для Android. Он был разработан Массачусетским технологическим институтом и предоставляет простой интерфейс для создания мобильных приложений, который доступен для любого пользователя. Для программирования в App Inventor используется визуальный язык программирования, очень похожий на язык Scratch и StarLogo Nova.
webapis-get-all-posts.png
Компетенции в каких сферах формирует Empowered Learner, Computational Thinker
Парадигмы программирования Объектно-ориентированное программирование
Возрастная категория 10
Назначение языка (Общее / Учебное) Мини-язык для обучения
Visual_Text_Blocks Блоки-Иконки
Измерение (2D/3D/Tangible) 2D
Открытость продукта Открытый
Address http://appinventor.mit.edu/
Предки (Ancestors) Blockly, Scratch, Logo
Потомки (Descendants) Thunkable
Активность в данный момент Project is active
Доступны ремиксы? Да
Год создания 2010
Создатели Hal Abelson
Поясняющее видео
Используется для создания мобильных приложений? Да
Введение в курс Проектирование и разработка приложений упоминается в свойствах следующих страниц



Установка

android_companion_APK.png

MIT App Inventor is an intuitive, visual programming environment that allows everyone – even children – to build fully functional apps for smartphones and tablets. Those new to MIT App Inventor can have a simple first app up and running in less than 30 minutes. And what's more, our blocks-based tool facilitates the creation of complex, high-impact apps in significantly less time than traditional programming environments. The MIT App Inventor project seeks to democratize software development by empowering all people, especially young people, to move from technology consumption to technology creation.

MIT App Inventor is a visual programming environment that allows children to build apps for smartphones and tablets. The users can build apps without the full knowledge of Java syntax and Android framework. Написан на Kawa Scheme

Рецепты в среде App Inventor

 Description
Implementing GridsСоздание викторины в App Inventor.
Нам понадобятся: кнопка, флажки, изображения, надписи и горизонтальное расположение.
https://gallery.appinventor.mit.edu/?galleryid=ea6dd983-2353-4112-9d55-df2c17666439
Генерация новых агентов в App InventorВ данном рецепте описаны шаги генерации новых агентов в App Inventor. Мы создаём холст, расставляем по нему невидимые шарики. Потом 2 шарика появляются и начинают летать, отталкиваясь от стенок экрана. Если шарик 1 сталкивается с шариком 2, то появляется шарик 3.
Загрузить данные из внешнего CSV файла в App InventorМы хотим загрузить содержимое датасета в App Inventor и дальше совершать с ними какие=то действия. Распространённая ситуация. Источником данным может быть отдельный файл CSV или Google Sheets. Нам понадобится:
  • Screen
  • ListView
  • Web
Использование клавиш клавиатуры в App InventorКак управлять объектом в мобильном приложении
Использовать Notifier для вывода сообщенийМы хотим, чтобы Notifier вернул нам сообщение, которое ввёл пользователь мобильного приложение в окне ввода. Что он введёт, то и появится в зоне Notifie. Очень простой пример для освоения среды, добавление элементов интерфейса. В окно ввода пользователь вводит значение, а программа их возвращает в Notifier.
  • 120px-Notifier_text2_blocks.png
  • Как имитировать поведение покупателей в магазинеМы хотим создать имитацию взаимодействия людей в магазине - покупателей в магазине
    Как использовать Scratch APIКак использовать внешний API в средах визуального программирования
    Как использовать Web API with App InventorОбщие советы о том, как использовать внешний API и во что превращаются данные из JSON
    Как использовать рюкзак в App InventorМы хотим использовать рюкзак внутри App Inventor для того чтобы воспользоваться чужими умениями и функциями
    Как использовать холст и шарики (анимация)Интерактивные проекты, когда по холсту перемещаются рисунки и шарики (balls) - какие модели и симуляции можно построить в App Inventor. Эксперименты с возможностями раздела Drawing & Animation. Пример 1
    1. Разноцветные шарики - углерод, кислород, водород
    2. Когда шарики сталкиваются, Notifier говорит, какое именно соединение образовалось
    Как поделиться своим приложением App InventorМы создали новое мобильное приложение в среде App Inventor и хотим им поделиться с окружающими
    Как показать информацию об участнике из Scratch сообщества в App InventorПрограмма запросит имя участника (например, mres или patarakin) и соберёт о нем информацию, используя Scratch API:
  • соберёт его биографию и статус
  • число и перечень проектов
  • на кого он подписан
  • кто на него подписан
  • Как представить вики статью в App InventorУ нас есть имя статьи в вики и мы хотим в App Inventor об этой статье рассказать. Пользователь набирает имя статьи и на экране появляется:
  • Краткое содержание (description)
  • Редакторы
  • Ссылки из статьи
  • Ссылки к статье
  • Как рассказать историю рождения и гибели шариков в App InventorМы хотим показать возможные способы реализации паттернов Генерировать новых агентов и поглощать агентов в App Inventor
    Как сделать определитель животныхСоздание викторины в App Inventor.

    120px-Child_determ.png

    Нам понадобятся: Srcreen, Table Arrengement, 8 кнопок - по числу персонажей, 8 изображений, Глобальная переменная Animals - внутри неё список животных
    https://gallery.appinventor.mit.edu/?galleryid=3f7da819-90e6-4c8a-bcba-ddbb8669e155
    Как собрать данные API запроса в DictionaryПолучили данные запроса к mediawiki api и хотим считать их в Dictionary, чтобы иметь возможность обращаться по ключам.
    Как собрать новости сообщества ScratchСобрать и представить новости сообщества Scratch - Scratch API
    • 120px-Scratch_news_API.png
    Как создать Викторину в App InventorРуководство по созданию Викторины с использованием App Inventor.

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

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

    Ссылка на проект: https://ai2.appinventor.mit.edu/#5953498929561600
    Как создать игру "Лопни шарик" в App InventorВ данном рецепте описаны шаги создания игры в App Inventor. Мы создаём холст, расставляем по нему спрайты. Также создаем две кнопки: стоп и старт
    Как создать мобильную игру?Создание игры на телефон
    Как создать первое мобильное приложение в App InventorВ рецепте описывается последовательность действий при создании приложения в App Inventor. В этом примере мы обращаемся с мобильного телефона по кнопке к Scrath API и выводим полученные данные на экран.
    Как создать расписаниеПриложение, которое помогает правильно распределять свое время
    Как сравнить followers following для участника ScratchУ нас есть имя участника. Мы хотим сравнить множество тех, на кого он подписан и множество тех, кто на него подписан. Приложение будет выводить тех, кто взаимен
    Как управлять поведением агентов в App InventorКак управлять объектом в мобильном приложении
    Как установить своё приложение App Inventor на телефонСоздали свое приложение на компьютере и хотим установить его на телефон
    Создание игры "VladPong Duel" в App InventorГотовьтесь к захватывающему путешествию в мир уникальных сражений на стиле Pong в игре "VladPong Duel". В этой игре ваше имя - Влад, и вы готовы к бескомпромиссным дуэлям на пинг-понговом поле будущего!
    Создание игры "Мяч в Руках" в App Inventor"Мяч в Руках" - захватывающая аркада, где ваша реакция и точность становятся ключом к успеху! Ваш друг, мальчик, в восторге от своего мяча, который бесконтрольно катится вперед-назад. Ваша задача - метко нажимать, чтобы вовремя остановить мяч в момент, когда он окажется рядом с мальчиком.
    Создание игры "Угадай число" в App InventorРуководство по созданию игры "Угадай число" с использованием App Inventor.

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

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

    Ссылка на проект: https://gallery.appinventor.mit.edu/?galleryid=dbce7297-b99d-474f-af24-8ff1b79140f1
    Трекер отслеживания задачВ данном трекере можно будет отслеживать и создавать свои задачи, привязывать их к местоположению, учитывать праздничные дни и приоритезацию задач, а также сортировать по времени и дате.
    Установить эмулятор App Inventor на компьютерМы хотим тестировать приложения App Inventor на том же компьютере, где мы их и создаём.

    Дополнительные материалы