Введение
Сфера информационных технологий продолжает активно развиваться, и программирование является неотъемлемой частью этого развития. Знание программирования открывает доступ к множеству возможностей в карьере, включая работу в IT-компаниях, создание собственных стартапов и разработку инновационных решений. Спрос на программистов по-прежнему остается высоким. Компании и организации нуждаются в специалистах, способных создавать и поддерживать программное обеспечение, разрабатывать веб-сайты и приложения, анализировать данные и т.д. [1].
Рост популярности мобильных устройств и развитие мобильных технологий, новые языки программирования, фреймворки и инструменты делают актуальным изучение мобильного программирования.
Мобильное программирование – один из основных разделов программирования, нацеленный на разработку программных приложений для мобильных устройств, таких как смартфоны, планшеты и т.п.
Как отмечает А.Э. Кузьмичев, мобильное программирование – это не просто программирование для мобильных устройств. «Программисты, пишущие программы для различных смартфонов, обязаны учитывать особенности этих устройств, а также обладать должными знаниями об операционных системах для мобильных устройств и их тонкостей. Возможности смартфонов расширяют рамки преподавания программирования, т.к. позволяют использовать множество встроенных в смартфон устройств, таких как акселерометр, видеокамера, фотокамера, GPS-приемник и многое другое» [2, с. 92].
Д.Н. Колисниченко подчеркивает, что для разработки собственных мобильных приложений в среде Android Studio «нужно развернуть целую среду разработки и установить как минимум три основных компонента, а потом настроить их для совместного использования» [3, с. 27]. Недостатки данной среды разработки мобильных приложений:
· IDE требовательна к конфигурации компьютера, на «слабом» компьютере может не запуститься или будет медленно работать;
· интерфейс среды довольно перегружен, базовые функции теряются среди большого количества менее используемых компонентов;
· установка программы может вызвать трудности для неопытных пользователей, особенно в операционной системе Linux. Эта программа требует «понимания концепций файлов и процессов в Linux» [4, с. 9].
Онлайн-интегрированная среда разработки – это веб-платформа, которая позволяет разработчикам писать, редактировать и запускать код непосредственно в веб-браузере. Вместо установки и запуска интегрированной среды разработки на персональном компьютере пользователи могут получить доступ к инструментам разработки и среде через веб-интерфейс. Плюсы онлайн-интегрированных сред разработки приложений:
· возможность обучения в любом месте в любое время, главное – иметь доступ к Интернету;
· независимость от операционных систем. Обязательно наличие браузера, поддерживающего актуальные веб-стандарты;
· упрощение процесса поддержки программного обеспечения. Не нужно никаких обновлений, кроме браузера. Процесс обновления ложится на облачного провайдера;
· защита программ пользователей. В онлайн-интегрированных средах эту защиту обеспечивает облачное хранилище;
· экономия вычислительных ресурсов компьютера. Для обучения не требуется компьютер с мощным процессором и большой оперативной памятью.
Цель исследования – показать методические аспекты обучения основам мобильного программирования на примере онлайн-среды App Inventor.
Материал и методы исследования
К методам исследования, которые применялись в работе, относятся:
- теоретический анализ онлайн-интегрированных сред разработки мобильных приложений;
- анализ преимуществ и недостатков использования онлайн-среды App Inventor;
- анкетирование обучающихся по вопросам удовлетворенности применением онлайн-среды App Inventor. В анкетировании участвовали 63 студента Тувинского государственного университета, обучающихся по направлению подготовки 44.03.05 Педагогическое образование (профили «Информатика» и «Математика»);
- анализ результатов специально разработанных заданий и тестов с целью проверки результатов обучения.
Анкетирование обучающихся, задания и тесты были представлены в авторском учебном электронном курсе «Программирование мобильных устройств», разработанном на базе LMS Moodle (http://inf.tuvsu.ru).
Результаты исследования и их обсуждение
В учебные планы бакалавров был включен курс по выбору «Программирование мобильных устройств», для которого был разработан авторский учебный электронный курс на базе LMS Moodle.
Использование образовательных электронных ресурсов в процессе обучения решает такие дидактические задачи, как:
· «организация учебного процесса с помощью инновационных технологий;
· организация самостоятельной когнитивной деятельности обучающихся;
· организация индивидуальной образовательной траектории учебной деятельности каждого обучающегося;
· организация групповой учебной деятельности с применением информационных технологий» [5, с. 47].
Обучение мобильному программированию в онлайн-среде было направлено на достижение студентами следующих обучающих результатов:
· знание особенностей работы с учетными записями для обеспечения информационной безопасности;
· знание основных принципов объектно-ориентированного программирования;
· умение работать в режиме визуального проектирования мобильного приложения;
· умение использовать современные средства ИКТ для разработки программного продукта.
Для изучения мобильного программирования предлагается App Inventor – бесплатная среда разработки мобильных приложений для смартфонов на операционной системе Android с использованием языка программирования на основе блоков. Эта облачная среда визуальной разработки Android-приложений не требует знания языка программирования, достаточно знания элементарных основ алгоритмизации [6].
Отмечая особенность App Inventor, авторы статьи пишут, что «характер синтаксиса блочной системы максимально приближен к структуре современных языков программирования. Среда App Inventor во время написания скриптов пользователем выводит предупреждения, если где-то пропущено значение или отсутствует блок, или указывает на ошибку, если какие-либо блоки дублируются или неверно написана программа» [7, с. 41].
Для программирования в App Inventor используется графический интерфейс, похожий на конструктор Lego и язык Scratch. Первоначально эта среда была разработана фирмой Google, а впоследствии передана Массачусетскому технологическому институту. В начале марта 2011 года Массачусетский институт запустил публичную бета-версию проекта, доступную на сайте appinventor.mit.edu.
Обучение студентов мобильному программированию начинается с изучения следующих разделов.
1. Регистрации на сайте appinventor.mit.edu и работа среде App Inventor.
2. Основные принципы визуального проектирования мобильного приложения в среде App Inventor.
3. Основные принципы программирования в среде App Inventor.
Для работы в среде App Inventor необходимы подключение к Интернету и браузер (например, Яндекс Браузер, Google Chrome, Mozilla Firefox и др.). При регистрации на сайте студент получает учетную запись Google, с помощью которой имеет доступ в среду App Inventor.
Рис. 1. Проект мобильного приложения в среде App Inventor
Люди, знакомые с локальными системами программирования, интуитивно догадаются, для чего предназначены окна Palette (панель компонентов, с помощью которых формируется интерфейс приложения), Viewer (вывод интерфейса), All Components (список компонентов, используемых в данном проекте) и Properties (список свойств текущей компоненты).
Имеются два режима работы в среде App Inventor: Designer (режим визуального проектирования приложения) и Blocks (режим программирования). Переключения режима осуществляется по одноименным кнопкам, которые расположены в правом верхнем углу окна среды (рис. 1). По умолчанию среда находится в режиме Designer.
App Inventor компилирует результат проекта в APK-файл, который можно скачать на локальный компьютер или сразу на смартфон для установки с помощью QR-кода (рис. 2):
Рис. 2. Окно загрузки Apk-файла на компьютер или смартфон
Один из интересных режимов работы в App Inventor – режим Blocks, используемый для программирования событий и поведения компонентов в мобильном приложении.
Панель Blocks содержит блоки, которые размещаются на панели Viewer (рис. 3).
Рис. 3. Режим Blocks в среде App Inventor
Программа в App Inventor – это совокупность связанных между собой блоков, которую компилятор переводит в байт-код Android.
По умолчанию открыта группа блоков Built-in, которая, в свою очередь, разбита на группы:
· Control – управляющие блоки;
· Logic – логические блоки;
· Math – блоки для работы с числами;
· Text – блоки для работы с текстом;
· Lists – блоки для работы со списками;
· Dictionaries – блоки для работы со словарями;
· Colors – блоки палитры цветов;
· Variables – блоки для работы с переменными;
· Procedures – блоки для работы с процедурами и функциями.
Любое мобильное приложение по умолчанию имеет хотя бы один экран, в App Inventor – это компоненты Screen1 (рис. 4).
Рис. 4. Блоки компоненты Screen1
Для удобства определенные блоки для Screen1 выделены разными цветами: коричневым – блоки событий, фиолетовым – блоки методов, зеленым – блоки свойств компоненты. Это наглядно напоминает студентам основные принципы объектно-ориентированного программирования.
В электронном учебном курсе представлен теоретический материал, разработаны задания в виде лабораторных работ, тесты, элементы для организации обратной связи, ссылки на внешние электронные образовательные ресурсы. Структурно курс разбит на три раздела. Ниже приводятся задания по каждому разделу.
Раздел 1. Среда разработки приложений для мобильных устройств App Inventor
Цель работы: изучить технологию создания приложений в среде разработки App Inventor.
Этапы выполнения работы
1. Изучить в электронном курсе теоретический материал к лабораторной работе.
2. Создать в среде App Inventor проект. На экране телефона вывести фамилию, имя, отчество, факультет, группу. Изменить цвет фона экрана.
4. Создать APK-файл проекта.
5. Запустить созданное приложение и посмотреть результаты его работы.
Раздел 2. Визуальное проектирование приложения
Цель работы: изучить интерфейс программы и получить навыки разработки и отладки простого приложения с использованием базовых элементов графического интерфейса пользователя.
Этапы выполнения работы
1. Создать в среде App Inventor проект. На экране телефона вывести фамилию, имя, отчество, факультет, группу, используя элемент управления Label.
2. Добавить в предыдущий проект элемент управления Image для фотографии (предварительно настроить размеры фотографии под размеры экрана телефона).
3. Создать проект, который выводит на экран выбранный вами сайт, используя элементы управления Label, WebViewer.
4. Создать проект, который выводит на экран html-файл с вашими данными (фамилию, имя, отчество, факультет, группу), используя элементы управления Label, WebViewer.
5. Добавить в предыдущий проект элементы управления CheckBox и Switch.
6. Добавить в предыдущий проект элемент управления ListPicker. Список может содержать перечень ваших любимых занятий, фильмов, книг и т.д.
Раздел 3. Программирование в среде App Inventor
Цель работы: получить навыки разработки и отладки простого приложения с использованием языка программирования.
Этапы выполнения работы
1. Создать проект с кнопкой, при щелчке на которую меняются цвет фона экрана, цвет фона самой кнопки, кнопка выводится по центру экрана.
2. Создать проект, который вычисляет заданное выражение (для каждого студента предлагается cвой вариант выражения) и выводит результаты вычисления на кнопку.
3. Создать проект, который выводит таблицу значений функции (для каждого студента предлагается cвой вариант) на определенном отрезке с заданным шагом. При разработке проекта учесть область допустимых значений функции.
Задания были подобраны таким образом, чтобы последовательно формировать и развивать у студентов навыки разработки мобильных приложений, а также навыки работы с различными инструментами и платформами.
В конце семестра в электронном учебном курсе с использованием элемента «Опрос» было проведено анкетирование студентов с целью определения мнения студентов о полученных ими умениях и навыках мобильного программирования в процессе обучения дисциплине «Программирование мобильных устройств». По результатам анкетирования 90% студентов считают, что повысили уровень умения программировать, 85% – получили навыки мобильного программирования, 58% опрошенных показали готовность обучаться дальше («сверх программы»), 66% выразили готовность осваивать новые онлайн-среды. Методом экспертных оценок преподавателями были проанализированы результаты выполнения и защит лабораторных работ студентов, которые также подтвердили полученные анкетные данные относительно таких показателей, как «умение программировать» и «навыки мобильного программирования».
Заключение
В условиях цифровой трансформации образования и общества обучение мобильному программированию, несомненно, является актуальным и должно присутствовать в программах подготовки будущих учителей информатики. Использование среды Mit App Inventor является эффективным средством обучения мобильному программированию, способствующему формированию таких умений и навыков, как: освоение интерфейса онлайн-среды, технология создания приложений в онлайн-средах, навыки объектно-ориентированного программирования и др.
Для получения более высоких результатов обучения авторы статьи рекомендуют использовать современные средства электронного обучения, например модульную объектно-ориентированную динамическую учебную среду LMS Moodle, которая предоставляет широкие возможности для работы с электронным контентом, организации интерактивного процесса обучения, организации контроля знаний и обратной связи с обучаемыми.
Таким образом, можно сделать вывод, что обучение мобильному программированию успешно влияет на формирование профессиональных компетенций, повышает уровень программирования обучаемых и результаты обучения.