Перейти к содержанию

App Inventor

Материал из Викиверситета
Интерфейс программы App Inventor. Реклама: курс научит делать игры и анимацию, доступен детям с 8 лет, простой и весёлый язык программирования.
Эта статья — часть материалов: кафедры Программирование

Программирование андроидов для школьников (с рисунками, видео и упражнениями) — это курс, обучающий программированию в визуальной среде "App Inventor for Android". Каждая глава курса раскрывает какую-либо тему, снабжена иллюстрациями и обучающим видео. Интерактивный опросник в конце главы позволяет проверить усвоение материала.

Автором курса является Крижановский Андрей и студенты Петрозаводского государственного университета (предмет "Интернет-математика"). Студентам предложен алгоритм и ряд требований к написанию глав курса.

Курс предназначен для школьников и учителей, преподающих информатику. Если у вас есть вопросы и пожелания, то пишите, пожалуйста, на странице обсуждения курса.

В курсе изложены основы работы в среде "App Inventor for Android". Вы научитесь создавать увлекательные игры, делать анимацию, проигрывать мелодии. При этом познакомитесь с базовыми идеями программирования.

Результаты

[править]

В результате работы студенты курса создадут следующие произведения искусства.

Будет написана глава (подстраница этой страницы) с рассказом об одной из сторон визуального языка программирования и о работе в среде "App Inventor for Android". В этом поможет знание вики-разметки. На одном из занятий студенты выступают с докладом и рассказывают сокурсникам содержание своей главы.

Эта подстраница Викиверситета (за исключением интерактивной части) превращается в часть книги и копируется на GitHub в проект student_paper/app_inventor/. Здесь пригодятся знания LaTeX'а и GitHub. См. учебники LaTeX и Version Control/Git.

Полученные навыки разработки визуальных программ применяете для создания образовательной игры, при этом в игре будут использоваться результаты запросов к Викиданным. Для извлечения данных с сайта Викиданных пригодится курс Программирование Викиданных.

Алгоритм работы

[править]
Задание для студентов
N Описание
1 🎮 Выбор задачи (будущая глава учебника)
  1. Выберите математическую задачу (из этих книг: Б. А. Кордемского или М. Гарднера), напишите (ниже на этой странице в разделе "Задачи") название этой задачи, из какой книги взять (+ номер страницы), допишите справа ФИО и ник (задачи не должны повторяться). Весь этот текст идёт в одну строчку.
  2. 🎮 Зарегистрируйтесь на сайте ai2.appinventor.mit.edu.
  3. Сообщите преподавателю на его странице обсуждения название своей главы на этой странице в Викиверситете. Для этого предварительно зарегистрируйтесь в Википедии или в Викиверситете (логин единый).

Этапы работ, связанных с созданием кода на сайте ai2.appinventor.mit.edu, отмечены в этой таблице значком 🎮.

Довесок: оформить главу курса Работа в вики-среде (с упражнениями).

2 🅛 Становимся авторами книги (LaTeX, GitHub)
  1. 🅛 Зарегистрируйтесь на сайте GitHub. Сообщите преподавателю свой логин. Затем вы получите приглашение к редактированию проекта student_paper. После каждого выполненного этапа работы (со значком 🅛) скопируйте текст и иллюстрации из Викиверситета на GitHub. Проверьте, что после добавления текста в LaTeX — этот текст компилируется в PDF-файл без ошибок. Текст в LaTeX является копией вашей статьи в Викиверситете, за исключением видео и интерактивных опросников.
  2. Нужно успеть за 24 часа до следующего занятия добавить свою фамилию и имя (после имени преподавателя и других студентов, кто успел раньше) на третью страницу книги. Для этого нужно скачать себе на компьютер файлы проекта student_paper, отредактировать файл ai1book.tex и залить его обратно на GitHub. Будьте внимательны и учтите, что с этим проектом работает сразу несколько студентов.

Довесок: оформить главу курса Работа в вики-среде (с упражнениями).

3 🎮 Создание первого окна приложения About (об авторе, благодарности и о приложении)

Напишите приложение, которое будет содержать всего две кнопки: "Описание" и "Автор".

  1. По нажатию на кнопку "Описание":
    • всплывает текст с описанием задачи и сути игры,
    • указан источник задачи (название книги, автор, год издания, страница) или ничего, если вы ‒ автор идеи.
  2. По нажатию на кнопку "Автор":
    • играет музыкальная композиция с открытой лицензией (в поисковике soundcloud.com выберите музыкальное направление, например, jazz и укажите фильтр по трекам "To listen to" = "To modify commercially"),
    • указан текст с вашими именем и фамилией,
    • указано название музыкальной композиции, её автор и лицензия мелодии,
    • появляется фоновая картинка, соответствующая задаче, имеющая открытую лицензию, также текст с указанием автора картины, названия и её лицензии.
  3. Пришлите по почте преподавателю исходный код в виде файла с .aia расширением. Решение будет зачтено при отправке более чем за 24 часа до начала занятия.

Музыкальный довесок: загрузить фрагмент любимого музыкального произведения по правилам w:ВП:КДИ для оформления статьи в Википедии о певце, группе или музыкальной композиции, если о них есть соответствующая статья. Пример работы наших студентов у них и у нас.

4 🅛 Придумываем свою оригинальную математическую задачу, основываясь на идее из книги, для последующей реализации в приложении
  1. На занятии рассказать преподавателю и студентам исходную задачу, взятую из книги.
  2. Дать пять минут на размышление. Выслушать предлагаемые решения задачи. Обсудить эти решения.
  3. Рассказать коллегам, какое решение есть у вас или предложено в книге.
  4. Предложить альтернативную задачу, либо основанную на идее задачи из книги, либо совершенно новую задачу, но свою.
  5. Дать пять минут на размышление. Выслушать предлагаемые решения задачи. Обсудить эти решения. Рассказать своё решение.
  6. Описание своей свежепридуманной оригинальной задачи (без ответа) изложите на вашей подстранице курса.
  7. Это же описание внесите в свою главу в LaTeX'е в проекте student_paper. Ваш латеховский файл создан преподавателем и находится в папке chapter. Проверьте, что файл ai1book.tex продолжает компилироваться без ошибок. После этого "залейте" свой файл на GitHub.
  8. Дополнительного задания не будет при загрузке латеховского файла более чем за 24 часа до начала занятия.

Для написания математических формул используйте разметку TeX. См. примеры и подсказки в учебнике Википедия:Формулы.

Минизадачи: написать решение одной минизадачи в виде подстраницы этого курса. Решение должно содержать скриншот, загруженный на Викисклад. Преобразовать полученный викитекст в формат LaTeX и добавить в проект student_paper в папку cookbook. Предварительно согласовать с преподавателем, какую минизадачу будете решать.

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

Напишите программу в среде "App Inventor", идею котороый вы изложили в своей статье ранее.

  1. Опубликуйте свою программу, см. /Галерея.
  2. Поставьте ссылку в своей статье в разделе "Ссылки" на эту программу.

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

Дополнительное задание. Поработайте на славу Петрозаводского государственного университета, см. ПетрГУ.

6 🎮 🅛 Иллюстрирование статьи. Добавьте в свою главу LaTeX'а и на свою вики-страницу в этом курсе иллюстрации с помощью Викисклада.
Иллюстрирование Википедии: Руководство по размещению файлов на Викискладе (перевели на русский студенты ПетрГУ)

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

В своей статье после иллюстрации, снабжённой полноценной развёрнутой подписью на русском языке, напишите ‒ что изображено на рисунке. Какие выводы может сделать читатель из этой иллюстрации? Если иллюстраций несколько, то напишите свои пояснения к каждой иллюстрации. И попытайтесь обобщить свой опыт, переходя от своей конкретной задачи к обсуждению особенностей и тонкостей, связанных с работой в среде "App Inventor".

Замечания:

  • загрузите иллюстрации на Викисклад (файл с рисунком или анимацией называйте длинно (3-7 слов) и только по-английски). Для загрузки новых версий рисунков не создавайте новых страниц на Викискладе, а жмите кнопку "Загрузить новую версию файла" / "Upload a new version of this file";
  • у загруженного на Викисклад файла укажите категорию Category:App Inventor at Wikiversity, см. примеры работы других студентов в этой категории. Прочитайте брошюру об основах иллюстрирования статей в Википедии и работе на Викискладе, которую перевела на русский язык группа студентов ПетрГУ в 2014 году;
  • если вы случайно загрузили файл с иллюстрацией локально, то есть в Викиверситет, а не на Викисклад, то поставьте на этот файл-страницу помету к удалению, см. ВВ:КБУ. И загрузите этот файл на Викисклад.

Cм. подробности и правила оформления иллюстраций.

Тот же рисунок загрузите в LaTeX на GitHub, см. папку ./graphics/programs. Если ваш файл в папке ./chapter называется guess_the_number_Oksanche.tex, то папка для ваших скриншотов будет ./graphics/programs/guess_the_number.

Довесок: God — удалить или спасти одну статью.

7 🎮 🅛 Пишем текст о программе (процедура и управление экранами).
В Викиновостях есть категория "Интернет-математика" для статей, написанных студентами ПетрГУ

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

В этом задании продолжаем писать о своей программе на красивом и понятном русском языке:

  1. Выберите наиболее интересную процедуру в своей программе. Если процедур нет, то напишите её. Сделайте скриншот процедуры и добавьте (с помощью Викисклада) в свою главу.
  2. Опишите работу с экранами в своём приложении, см. /Экран. Для этого ответьте на вопросы:
    1. Сколько экранов используете?
    2. Как выполняется переключение между экранами? Есть ли менеджер экранов?
    3. Закрываете ли вы экраны?

Этот же текст и иллюстрации должны появиться в нашем LaTeX-проекте. Не случайно в номере этого задания кроме игровой консоли (обозначает визуальное программирование) есть ещё и буква L.

Довесок: n:User:AKA_MBG/newstask — написать новость по научной тематике в Русских Викиновостях.

8 🎮 🅛 Оформление ссылок на литературу и веб-ресурсы. В разделах "Литература" и "Ссылки" перечислите те материалы, которыми вы пользовались при решении задачи. Хорошо, если ссылки на источники будут идти прямо из викитекста с помощью шаблона {{sfn}}.

Для оформления ссылок в LaTeX редактируйте файл ai1references.bib. Всё хорошо, если файл LaTeX продолжает компилироваться без ошибок.

См. пример оформления ссылки на книгу в разделе "Литература" в статье App Inventor/База данных#Литература (в шаблоне {{sfn}} указаны номера страниц книги, эти номера видно в разделе "Примечания").

9 🅛 Индексирование ключевых слов в LaTeX
Суффиксное дерево ‒ это одна из структур индексирования. В случае LaTeX'а индекс ‒ это, скорее, глоссарий со ссылками
  1. 🅛 Указать ключевые слова в своём разделе, чтобы они появились на предпоследней странице "Предметный указатель". Указать тематический подраздел, к которому относится то или иное ключевое слово, чтобы этот подраздел также появился в индексе. Например, если в разделе есть материал, касающийся элемента меню "Выбор из списка" ("ListView") из раздела меню "Интерфейс пользователя" на сайте "App Inventor", то пишите следующую команду рядом с текстом о ListView:
\index{Интерфейс пользователя!ListView / Выбор из списка} Какой-то текст про ListView...

В качестве тематических разделов (то есть параметров команды index в LaTeX) используйте названия разделов и пунктов меню на сайте "App Inventor".

Ссылки на учебный материал по работе с индексом в LaTeX:

Довесок: wordlist — написать несколько словарных статей в Русском Викисловаре.

10 🅛 Аннотация ‒ написать аннотацию к тексту своей главы и в Викиверситете, и в LaTeX'е.
11 🅛 Разработка игры в форме упражнений и вопросов (самое интересное задание)

В Викиверситете добавьте в свою главу в качестве последнего раздела "== Упражнения ==". Придумайте три упражнения с вопросами по программированию в среде App Inventor и по теме своего приложения. При этом:

  • хотя бы одно из упражнений должно быть с иллюстрациями,
  • хотя бы одно упражнение должно быть связано с программированием в среде App Inventor.

Используйте разные типы вопросов (см. Help:Quiz, Help:Quiz-Simple).

Вопросы и ответы на них должны (1) иметь образовательный характер, (2) сообщать новые нетривиальные сведения, (3) быть настолько яркими и интересными, чтобы их можно было отправить в телепередачу Что? Где? Когда?

Также как и всю статью, не забывайте викифицировать вопросы, если в них упоминаются какие-либо термины, и варианты ответов на них.

В LaTeX напишите вопросы к тексту и темам, обсуждаемым в вашей главе. См. примеры в главе Превращение флагов. К вопросам прилагаются развёрнутые ответы с иллюстрациями, размещайте их в главе Ответы. В этих двух главах посмотрите то, каким образом связаны между собой вопросы и ответы гиперссылками в итоговом PDF-файле.

Довесок: WRN — написать рецензию на научную статью для m:Research:Newsletter.

12 Видео ‒ записать видео с рассказом о приложении и примером работы программы.

Требования к видео:

  1. Видео не должно быть беззвучным. Голос диктора рассказывает о разработанной программе.
  • Добавить видео на Викисклад. Вставить в свою статью в Викиверситете.
  • Поставить ссылку на это викискладовское видео на странице своей программы в Галерее App Inventor.

Приложения для записи видео:

Довесок: РГАФД — работа с коллекцией фонограмм в Википедии (знакомимся с электронными архивами).

13 Компиляция LaTeX в PDF.

Примечания:

  1. Когда задание будет выполнено, отчитайтесь о проделанной работе на странице обсуждения своей главы. Не забывайте подписывать свои сообщения на страницах обсуждений с помощью четырёх тильд ~~~~.
  2. ⧖ Чтобы у студентов был спортивный интерес ‒ делать задания вовремя, к некоторым заданиям прилагаются довески, дополнительные задания.

Задачи

[править]

Выберите из этих книг: Б. А. Кордемского или М. Гарднера математическую задачу. Напишите название этой задачи, из какой книги взята задача (автор книги, название книги, год издания, укажите номер страницы), свои данные следующим образом:

  • [[/Название задачи в виде ссылки на подстраницу]] (Автор книги. Название. Год издания, страница), [[User:имя пользователя|Фамилия Имя Отчество]]

Ссылка с вашего имени должна вести на вашу страницу в Викиверситете, оформите её, см. w:ВП:Личная страница. Задачу выбирайте такую, которую:

  1. сможете представить в виде компьютерной игры на телефоне,
  2. а игра будет иметь образовательное значение. Например, игра Освоение космоса знакомит школьников в ходе игры с характеристиками планет Солнечной системы.

Подстраницы и авторы:

Лекции

[править]
По-мелочи

Минизадачи

[править]

Требования и пожелания:

  • Ссылки, которые помогли решить задачу, должны войти в список литературы в конце подстраницы с решением задачи.
  • Вначале идёт описание проблемы, что нужно сделать.
  • Последовательное и подробное описание - как решить проблему.
  • Скриншот загружаете на Викисклад (интерфейс среды программирования только на русском языке). Имя файла должно подробно пояснять ‒ что изображено на рисунке, только на английском.
  • Копию текста и скриншот добавляете на GitHub в проект student_paper/app_inventor/. LaTeX-файл должен компилироваться на ура.

Маленькие задачи:


См. также

[править]

Примечания

[править]

Материалы на сайте ai2.appinventor.mit.edu доступны по лицензии CC BY 4.0, см. MIT App Inventor Privacy Policy and Terms of Use,

Литература

[править]

Ссылки

[править]
Курсы
Ардуино
Слайды
Видео (todo)