РАЗРАБОТКА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ С ЭЛЕМЕНТАМИ ДОПОЛНЕННОЙ РЕАЛЬНОСТИ (AR) ДЛЯ ОБУЧЕНИЯ АНГЛИЙСКОМУ ЯЗЫКУ ДЕТЕЙ ДОШКОЛЬНОГО ВОЗРАСТА

VI Международный конкурс научно-исследовательских и творческих работ учащихся
Старт в науке

РАЗРАБОТКА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ С ЭЛЕМЕНТАМИ ДОПОЛНЕННОЙ РЕАЛЬНОСТИ (AR) ДЛЯ ОБУЧЕНИЯ АНГЛИЙСКОМУ ЯЗЫКУ ДЕТЕЙ ДОШКОЛЬНОГО ВОЗРАСТА

Зайнутдинов А.Д. 1
1Муниципальное общеобразовательное учреждение «Гимназия №6» Приволжского района г. Казани;
Смирнова А.В. 1
1Муниципальное общеобразовательное учреждение «Гимназия №6» Приволжского района г. Казани;
Автор работы награжден дипломом победителя I степени
Текст работы размещён без изображений и формул.
Полная версия работы доступна во вкладке "Файлы работы" в формате PDF

ВВЕДЕНИЕ

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

Целью данной работы является разработка мобильного приложения на языке программирования С# для обучающего пособия по английскому языку для детей дошкольного возраста. Пособие будет совмещать в себе:

Печатную полиграфию - карточки с изучаемыми словами;

Программную часть - мобильное приложение на языке программирования С# с использованием технологии дополненной реальности (AR).

Основные задачи исследования:

Выбор инструментального программного обеспечения;

Изучение работы с графикой;

Изучение технологии дополненной реальности (AR);

Анализ возможностей использования редактора Unity;

Реализация программы.

Методы исследования:

Анализ литературы;

Метод моделирования.

Теоретическая значимость данной работы заключается в том, что приобретенный мною опыт на всех этапах разработки данного мобильного приложения позволит в будущем гораздо увереннее ставить перед собой цели по разработке более сложных проектов и достигать их. На мой взгляд, благодаря объединению печатных полиграфических форм и мобильного приложения с технологией дополненной реальности, это пособие будет иметь ряд преимуществ:

Доступность, благодаря широкой распространённости мобильных устройств;

Повышенная привлекательность, благодаря игровой форме обучения;

Наглядность через яркую 3D-модель;

Оживление предмета изучения при помощи анимации;

Озвучивание предметов изучения;

Прямое взаимодействие с пользователем;

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

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

ГЛАВА 1. ОПИСАНИЕ ИНСТРУМЕНТОВ РАЗРАБОТКИ ДЛЯ СОЗДАНИЯ МОБИЛЬНОГО ПРИЛОЖЕНИЯ В UNITY

Язык программирования С#

C# (произносится как "си шарп") — простой, современный объектно-ориентированный язык программирования, но поддерживает также и компонентно-ориентированное программирование.

Разработка современных приложений все больше тяготеет к созданию программных компонентов в форме автономных и самоописательных пакетов, реализующих отдельные функциональные возможности. Важная особенность таких компонентов — это модель программирования на основе свойств, методов и событий. Каждый компонент имеет атрибуты, предоставляющие сведения о компоненте, а также встроенные элементы документации. C# предоставляет языковые конструкции, непосредственно поддерживающие такую концепцию работы. Благодаря этому C# отлично подходит для создания и применения программных компонентов [5][6].

Вот несколько функций языка C#, обеспечивающих надежность и устойчивость приложений:

Сборка мусора автоматически освобождает память, занятую уничтоженными и неиспользуемыми объектами; 

Обработка исключений дает структурированный и расширяемый способ выявлять и обрабатывать ошибки; 

Строгая типизация языка не позволяет обращаться к неинициализированным переменным, выходить за пределы массива или выполнять неконтролируемое приведение типов.

В C# существует единая система типов. Все типы C#, наследуют от одного корневого типа object. Таким образом, все типы используют общий набор операций, и значения любого типа можно хранить, передавать и обрабатывать схожим образом [15][2].

1.2 Платформа Unity

Unity — межплатформенная среда разработки компьютерных игр. Unity позволяет создавать приложения, работающие под более чем 20 различными операционными системами, включающими персональные компьютеры, игровые консоли, мобильные устройства, Интернет-приложения и другие [8].

Выпуск Unity состоялся в 2005 году и с того времени идёт постоянное развитие. Изначально Unity предназначался исключительно для компьютеров Mac, но потом постепенно выходили обновления, позволяющее работать под Windows и другие ОС.

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

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

Редактор Unity имеет простой Drag&Drop интерфейс, который легко настраивать, состоящий из различных окон, благодаря чему можно производить отладку игры прямо в редакторе.  Движок поддерживает два скриптовых языка: C#, JavaScript (модификация).

Проект в Unity делится на сцены (уровни) — отдельные файлы, содержащие свои игровые миры со своим набором объектов, сценариев, и настроек. Сцены могут содержать в себе как, собственно, объекты (модели), так и пустые игровые объекты — объекты, которые не имеют модели («пустышки»). Объекты, в свою очередь содержат наборы компонентов, с которыми и взаимодействуют скрипты. К объектам можно применять коллизии (в Unity т. н. коллайдеры — collider). В редакторе имеется система наследования объектов - дочерние объекты будут повторять все изменения позиции, поворота и масштаба родительского объекта. Скрипты в редакторе прикрепляются к объектам в виде отдельных компонентов.

При компиляции проекта создается исполняемый(.exe) файл игры (для Windows), а в отдельной папке — данные игры (включая все игровые уровни и динамически подключаемые библиотеки) [3].

1.3 Среда разработки MonoDevelop

MonoDevelop IDE (интегрированная среда разработки) (http://monodevelop.com) - свободная мультиплатформенная среда разработки, предназначенная для создания приложений на языках C#, C, C++, Java, Visual Basic.NET, CIL, Nemerle, Boo. Встроен в дистрибутив Unity3D как средство написания скриптов [7].

Возможности:

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

Сворачивание кода, или фолдинг (англ. folding) — одна из функций текстового редактора, позволяющая скрывать определённый фрагмент редактируемого кода или текста, оставляя лишь одну строку.

К примеру, фолдинг функции приводит к сворачиванию всего кода функции в одну строку таким образом, что будет видно только название функции. Обычно, чтобы свернуть фрагмент, нужно нажать на символ «−» слева от него. Чтобы увидеть весь фрагмент, то есть развернуть его, нужно нажать на символ «+», появляющийся у свернутых фрагментов.

Автодополнение кода — функция в программах, предусматривающих интерактивный ввод текста (редакторы, оболочки командной строки, браузеры и т. д.) по дополнению текста по введённой его части.

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

- узнавать текущие значения переменных;

- выяснять, по какому пути выполнялась программа.

Модульное тестирование - единичное тестирование, или модульное тестирование (англ. unit testing) — процесс в программировании, позволяющий проверить на корректность единицы исходного кода, наборы из одного или более программных модулей вместе с соответствующими управляющими данными, процедурами использования и обработки.

Идея состоит в том, чтобы писать тесты для каждой нетривиальной функции или метода. Это позволяет достаточно быстро проверить, не привело ли очередное изменение кода к регрессии, то есть к появлению ошибок в уже оттестированных местах программы, а также облегчает обнаружение и устранение таких ошибок [7].

1.4 Платформа дополненной реальности Vuforia

Vuforia — это платформа дополненной реальности и инструментарий разработчика программного обеспечения дополненной реальности (Software Development Kit — SDK) для мобильных устройств, разработанные компанией Qualcomm. 

Vuforia предоставляет интерфейсы программирования приложений на языках C++, Java, Objective-C, и .Net через интеграцию с игровым движком Unity. Таким образом SDK поддерживает разработку AR (augmented reality) - приложений для iOS и Android, в то же время предполагая разработку в Unity, результаты которой могут быть легко перенесены на обе платформы. Приложения дополненной реальности, созданные на платформе Vuforia, совместимы с широким спектром устройств, включая iPhone, iPad, смартфоны и планшеты на Android [9]. 

Чтобы что-то добавить в реальный мир, нужно в этом мире “зацепиться” за какой-либо объект. Именно для этой цели и служат мишени (targets). Другими словами, мишень – это некий реальный объект, зная который мобильное приложение может расставить виртуальные объекты в нужных местах и соответствующих пропорциях. При просмотре через камеры мобильных устройств виртуальный объект ориентируется на реальном образе так, чтобы точка зрения наблюдателя относилась к ним одинаковым образом для достижения главного эффекта — ощущения, что виртуальный объектявляется частью реального мира.
Основные примеры использования AR дополненной реальности c помощью Vuforia:

Статические и динамические 3D модели. Мы можем добавить любой 3D объект начиная от любимого всеми чайника и заканчивая сложной анимацией. Vuforia активно поддерживает возможность интеграции с Unity, что еще сильнее развязывает нам руки. Ограничены мы только фантазией и мощностью смартфонов/планшетов.

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

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

Изменение фона, помимо всего прочего, вы можете изменять и саму картинку полученную с камеры. Другими словами, мы можем не только дополнять картинку, но и оперировать с ней самой [10].

1.5 Графический редактор Adobe Photoshop CS6

Adobe Photoshop — многофункциональный графический редактор, разработанный и фирмой Adobe Systems. В основном работает с растровыми изображениями, однако имеет некоторые векторные инструменты. Продукт является лидером рынка в области коммерческих средств редактирования растровых изображений и наиболее известным продуктом фирмы Adobe.

В настоящее время Photoshop доступен на платформах macOS, Windows, в мобильных системах iOS, Windows Phone и Android [415].

ГЛАВА 2. ОПИСАНИЕ МОБИЛЬНОГО ПРИЛОЖЕНИЯ

Актуальность проекта

Наш век – век возможностей - эра глобализации. Для нас открывается в буквальном смысле весь мир: путешествия, друзья, работа, чтение книг и просмотр фильмов в оригинале – все становится доступным, когда ты владеешь иностранным языком.

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

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

Общая постановка проекта

Основной целью данного проекта является разработка мобильного приложения на Unity на языке программирования С# с использованием технологии дополненной реальности (AR) для обучающего пособия по английскому языку для детей дошкольного возраста. При этом будет использоваться такое инструментальное программное обеспечение, как среда разработки MonoDevelop, графический редактор Adobe Illustrator CC 2017, графический редактор Adobe Photoshop CS6, платформа дополненной реальности (AR) Vuforia.

Назначение программного продукта

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

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

Комплекс технических средств

Для работоспособности игрового приложения приведены минимальные системные требования:

Android 4.4или выше;

Процессор 1.2 GHz или лучше;

Память 1 GB RAM или выше;

Свободное место 100 Мб.

Выполнение проекта

Запустить приложение. После запуска на экране появляется окно с главным меню программы (Приложение 1, Рисунок 1), которое содержит 4 кнопки:

Начать – после ее нажатия открывается окно видеокамеры непосредственно для самого процесса обучения;

Обучение – после ее нажатия открывается окно с инструкцией по работе с данным приложением;

Карточки для обучения – кнопка используется для возможности скачать и распечатать карточки для обучения. После ее нажатия происходит переход по ссылке из приложения в файлообменник, где хранятся файлы с карточками (.jpg).

Звук вкл/выкл – включение/выключение фоновой музыки приложения;

После нажатия на кнопку “Обучение” открывается окно с инструкцией по работе с приложением (Приложение 1, Рисунок 2), которое содержит подробное описание работы приложения. В нем содержится 2 кнопки:

Возврат в главное меню – происходит выход в главное меню;

Попробовать – после ее нажатия открывается окно видеокамеры.

После нажатия на кнопки “Начать” в главном меню, или кнопки “Попробовать” в окне обучения открывается окно видеокамеры, где непосредственно производится процесс обучения ребенка (Приложение 1, Рисунок 3 - Рисунок 5). Выйти из окна видеокамеры можно нажав на кнопку “Возврат в главное меню”.

Как работает приложение

Для работы с приложением обязательным условием является наличие специальных красочных карточек для обучения, каждая из которых содержит изображение того слова, которое Вы будете изучать вместе с ребенком. То есть сначала пользователь должен пройти по ссылке, скачать и распечатать данные карточки (Приложение1, Error: Reference source not found).

Теперь, после прохождения небольшого обучения и открытия окна видеокамеры мы можем приступить непосредственно к процессу обучения ребенка.

Видеокамеру мобильного устройства необходимо навести на предмет, изображённый на карточке. Приложение распознает данное изображение и в реальном времени покажет трехмерную модель данного предмета (Приложение1, Рисунок 3 - Рисунок 5). При нажатии на трехмерную модель на экране, она будет взаимодействовать с пользователем и выполнять определенные действия:

- анимация предмета (не всех);

- озвучивание – название предмета на карточке произносится вслух на английском и русском языках.

Заключение

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

В результате мною было создано приложение с элементами дополненной реальности для мобильного устройства, которое в данный момент работает на ОС Android. Я надеюсь, что созданный мною обучающий продукт будет полезен и интересен для использования как родителями, при самостоятельной работе с детьми, так и на уроках по изучению английского языка в детских садах.

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

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

Список использованной литературы

ДжонШарп. Microsoft Visual C#. Подробное руководство. – 8-е издание – СПб: Издательство «Питер», 2017. – 836 с.;

Краткий обзор языка C#: [Электронный ресурс] // Microsoft – 2016 // Режим доступа: https://docs.microsoft.com/ru-ru/dotnet/csharp/tour-of-csharp/ (Дата обращения: 17.09.2018);

Руководство пользователя Unity (2017.3): [Электронный ресурс] // Unity. Documentation – 2017 // Режим доступа: https://docs.unity3d.com/Manual/index.html (Дата обращения: 03.09.2017);

Adobe Photoshop: [Электронный ресурс] // Википедия - свободная энциклопедия, 2018 // Режим доступа: https://ru.wikipedia.org/wiki/Adobe_Photoshop (Дата обращения: 18.10.2018)

С#: [Электронный ресурс] // Прогопедия — свободная энциклопедия языков программирования. – 2018 // Режим доступа: http://progopedia.ru/language/csharp/

C Sharp: [Электронный ресурс] // Википедия - свободная энциклопедия. - 2018 // Режим доступа: https://ru.wikipedia.org/wiki/C_Sharp (Дата обращения: 17.09.2018);

MonoDevelop: [Электронный ресурс] // Википедия - свободная энциклопедия, 2016 // Режим доступа: https://ru.wikipedia.org/wiki/MonoDevelop / (Дата обращения: 28.09.2018);

Unity (игровой движок): [Электронный ресурс] // Википедия - свободная энциклопедия. - 2018 // Режим доступа: https://ru.wikipedia.org/wiki/Unity_(игровой_движок) (Дата обращения: 28.09.2018);

Vuforia: [Электронный ресурс] // Википедия – свободная энциклопедия, 2018 // Режим доступа: https://ru.wikipedia.org/wiki/Vuforia (Дата обращения: 17.10.2018);

Vuforia: немного магии в нашей реальности: [Электронный ресурс] // Сайт Harb // Режим доступа: https://habr.com/post/198862 (Дата обращения: 17.10.2018);

Приложение 1. Скриншоты.

Рисунок 1. Главное меню

Рисунок 2.Окно обучения работы с приложением

Рисунок 3. Загрузка карточек для обучения

Рисунок 3. Изучение слов с элементами дополненной реальности: “Кошка”

Рисунок 4. Изучение слов с элементами дополненной реальности: “Зеленый”

Рисунок 5. Изучение слов с элементами дополненной реальности: “Квадрат”

Просмотров работы: 175