Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

9HunO5hF9L

.pdf
Скачиваний:
2
Добавлен:
15.04.2023
Размер:
2.41 Mб
Скачать

УДК 378.147

О.И. Ляш, С.Т. Петрина

МЕТОДИКА ОБУЧЕНИЯ СТУДЕНТОВ РАЗРАБОТКЕ МОБИЛЬНЫХ ИНТЕРАКТИВНЫХ ПРИЛОЖЕНИЙ

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

Android.

Ключевые слова: программирование, мобильные интерактивные при-

ложения, Android.

Oleg Lyash, Sofia Petrina

METHODS OF TEACHING STUDENTS THE DEVELOPMENT OF

MOBILE INTERACTIVE APPLICATIONS

Annotation. The article includes a brief overview of the methodical providing of training students to methods of programming interactive applications. Describes the experience of implementation of the developed teaching methods, students develop an interactive mobile application for Android.

Keywords: programming, mobile interactive applications, Android.

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

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

41

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

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

Бурное развитие информационных технологий в последнее время привело к тому, что появилось много новых устройств и технологий, таких как: планшеты, смартфоны, нетбуки и другие гаджеты. Мир все больше стал уходить от понимания компьютера как исключительно стандартного персонального компьютера. Смартфоны и прочие гаджеты все более прочно входят в нашу жизнь и становятся привычным делом. Лидирующей платформой среди подобных устройств на сегодняшний день является ОС Андроид. И в последнее время она еще больше укрепляет свое лидерство [2].

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

Android является полнофункциональной операционной системой, основанной на ядре Линукс и использующей библиотеки на языке Java. Но поскольку аппаратные возможности гаджетов, по сравнению с настольными компьютерами, более ограничены, то это потребовало от компании Google по сути пересоздать вирутальную машину Java (JVM) в виде виртуальной машины Dalvik. Dalvik VM принимает сгенерированные файлы классов Java и объединяет их в один или несколько исполняемых файлов Dalvik Executable (.dex). Основное предназначение виртуальной машины Dalvik – оптимизировать выполнение кода Java применительно к свободному пространству и заряду батареи. Поэтому в отличие от десктопных компьютеров финальные исполняемые файлы для операционной системы Android будут состоять не из стандартного байт-кода для JVM, а из специальных файлов с расширением .dex [1].

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

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

42

каждый процесс может использовать до 16 Мб (иногда 24 Мб) оперативной памяти [1].

Приложения для Android в своей работе используют окна (аналогично Windows), однако в данной системе вышеуказанные окна носят иное название – Activity. Как и в Windows, каждое окно имеет свой жизненный цикл и свои особенности. При создании нового окна вызывается метод onCreate(). При разработке данный метод переопределяется и в нем происходит инициализация приложения и его компонентов. Далее вызываются методы onStart() и onResume(). Оба метода вызываются перед отображением окна при его создании, либо восстановлении (при переключении из другого приложения, при разворачивании свернутого приложения и т.п.). При сворачивании вызываются методы onPause() и onStop(). При закрытии приложения и окна вызывается onDestory(), в данном методе можно сохранить пользовательские данные и параметры [4].

Разработка приложений под Андроид обладает следующими преимуществами:

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

открытая платформа даёт возможность приложениям, предназначенным для Android, ограничиваться исключительно аппаратными средствами используемого устройства;

установка любых разработанных приложений под Android может осуществляться как магазином приложений Google Play, так и другими внешними источниками;

Android ориентирован в первую очередь на разработчиков;

Android – мощная и интуитивно понятная платформа для разработки, и, благодаря этому, программисты, которые никогда не имели дела с разработкой программного обеспечения для мобильных устройств, могут легко и быстро начать создавать собственные полноценные приложения под Android [3].

Android – молодая динамично развивающаяся операционная система, которая уже сегодня успешно конкурирует с такими программными про-

дуктами как Apple iOS и Windows Phone. OS Android используют в своей продукции такие мобильные гиганты, как: Samsung, LG, Sony Ericsson, HTC, Motorola [6].

К основным преимуществам платформы относят общедоступность, открытость и массовость. Именно это стало причиной роста популярности мобильных приложений под Android.

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

43

разработке мобильных интерактивных приложений имеет следующие преимущества:

данная методическая система позволяет сформировать у студента понимание особенностей технологии программирования;

позволяет приобрести студентам навыки использования основных средств программирования Java;

позволяет приобрести студентам навыки практического решения задач на Java [5].

Учитывая малый объем времени, отведенный на изучение программирования в курсе «Информатика и информационно-коммуникационные технологии» и невозможность в рамках вузов изучить основы всех парадигм программирования, актуальной представляется разработка курса «Программирование на языке Java под Android», который послужит развитию студентов, поможет сформировать представление об основах объект- но-ориентированного программирования и позволит овладеть навыками самостоятельного создания сценариев для поддержки web-сайтов с помощью языка программирования Java под Android [3].

Основной целью разработанного курса является изучение технологии, языка, коллекций и средств разработки программного обеспечения Java, формирование у студентов навыков программирования и использования современных средств разработки программного обеспечения [2].

Базис для построения новой системы знаний составляют сформированные у студентов понятия, относящиеся к объектно-ориентированному программированию, знание основ алгоритмизации и программирования на основе структурного подхода, а также знание основ языка HTML [4].

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

исистемы «сборки мусора». Java предоставляет мощные объектноориентированные принципы разработки приложений, сочетая простой и ясный синтаксис с надежной и удобной в работе системой программирования, что позволяет быстро обучаться и создавать новые программы.

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

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

44

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

Курс программирования, основанный на изучении всех подходов к разработке мобильных интерактивных приложений, отвечает, с одной стороны, требованиям, заложенным как в компоненте образования, так и в компоненте обучения. С другой стороны, курс призван дать необходимые знания о различных языковых средствах и других инструментах программирования, лежащих в основе построения информационных технологий на современном этапе развития информатики [2].

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

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

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

Содержание любого учебного предмета – это всегда определенная информация о явлениях или методах деятельности, характерных для данной области[4].

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

45

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

Разрабатываемая учебная программа с разработкой мобильных интерактивных приложений должна удовлетворять следующим требованиям:

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

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

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

Реализация указанных требований достигается тщательным отбором учебного материала и выбором последовательности его прохождения в соответствии с целевым назначением курса информатики при подготовке специалистов в вузе [2].

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

Литература

1.Барнет Э. Eclipse IDE Карманный справочник / Пер. с англ. – М.:КУДИЦ-ОБРАЗ,

2012. – 160 с.

2.Казарин С.А., Клишин А.П. Среда разработки Java-приложений Eclipse: (ПО для объектно-ориентированного программирования и разработки приложений на языке Java): Учебное пособие. Москва 2013. – 77 с.

3.Ноутон П., Шилдт Г. Java 2. – CПб.: BНV-Санкт-Петербург, 2013. – 1072 с.

4.Харди Б., Филлипс Б. Программирование под Android. Для профессионалов. – СПб.:

Питер, 2014. – 592 с.

5.Хемраджани А. Гибкая разработка приложений на Java с помощью Spring, Hibernate

и Eclipse. – М.: Вильямс, 2013. – 352 с.

6.Шилдт Г. Полный справочник по Java. – М.: Вильямс, 2012. – 1040 с.

46

УДК 378.147

О.И. Ляш, А.Д. Титова

МЕТОДИЧЕСКИЕ АСПЕКТЫ ОБУЧЕНИЯ РАЗРАБОТКИ КОМПЬЮТЕРНЫХ ИГР В СТИЛЕ ВИЗУАЛЬНОЙ НОВЕЛЛЫ

Аннотация. Статья включает в себя краткий обзор методических аспектов обучения разработки компьютерных игр в стиле визуальной новеллы студентов. Описан опыт внедрения методического курса обучения программированию визуальных новелл.

Ключевые слова: разработка компьютерных игр, визуальные новеллы, программирование.

Oleg Lyash, Angelina Titova

METHODOLOGICAL ASPECTS OF STUDY DEVELOPMENT OF COMPUTER GAMES IN THE STYLE OF A VISUAL NOVEL

Annotation. The article includes a brief overview of the methodological aspects of study development of computer games in the style of a visual novel students. The experience of implementing methodological training programming visual novels.

Keywords: development of computer games, visual novel, programming.

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

ции» [3].

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

Компьютерные игры классифицируются как развивающие, обучающие, игры-эксперименты, игры-забавы, логические игры.

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

47

(или монологов) игровых персонажей. При этом повествование может быть нелинейным. То есть в зависимости от выбора игрока в нужные моменты игры ее сюжет будет изменяться [2].

Визуальная новелла пишется при помощи специального скриптового языка, базирующегося на Python’е. Рисунки для игры делаются в отдельном графическом редакторе [5].

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

Внастоящее время разработано значительное количество образовательных программ по программированию на языке Python для Ren’py. Следует отметить, что могут существовать более узконаправленные образовательные программы: по программированию, компьютерной графике и анимации, веб-технологиям и др. [4].

Конкретное содержание программы по программированию на языке Python может сильно варьироваться, учитывая разнообразие приложений и видов деятельности, в которых используется компьютер [1].

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

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

Python достаточно просто устроен и рекомендуется для изучения в качестве первого языка программирования. От обучающихся, чаще всего, требуется знание ПК и архитектуры операционных систем, а также знание английского языка на уровне чтения технической литературы [3].

Разработанный нами курс представляет собой учебно-методический комплекс для студентов вузов. Цель комплекса – начальное знакомство студентов с основами алгоритмизации и приобретения ими базовых навыков программирования на языке Python для Ren’py.

Вразработанном нами курсе изложен теоретический материал. Тематическое планирование разработано в соответствии с ФГОС ВПО. Рассмотрены методы алгоритмизации задач и их практической реализации на

Python [там же].

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

48

Python позволяет разбивать программы на модули, которые затем могут быть использованы в других программах. Python поставляется с большой библиотекой стандартных модулей, которые Вы можете использовать как основу для Ваших программ или в качестве примеров при изучении языка. Стандартные модули предоставляют средства для работы с файлами, системных вызовов, сетевые соединения и даже интерфейсы к различным графическим библиотекам. Python – интерпре-тируемый язык, обычно расходуемого на компиляцию. Интерпретатор можно использовать интерактивно, что позволяет экспериментировать с возможностями языка, писать наброски программ или тестировать функции при разработке «снизу вверх» [6].

Основной целью курса «Основы программирования на Ren'Py, создания игр в стиле визуальной новеллы» является формирование базовых понятий структурного программирования, создания игр в стиле визуальной новеллы, развитие логики обучающихся [1].

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

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

Python – высокоуровневый язык программирования, именно на нем написан движок Ren'Py. Ren'Py – это кросс-платформенный движок, который поможет сделать сюжетную игру (визуальную новеллу). Визуальная новелла, история, рассказанная с помощью текста, изображений, звуков и музыки. Скриптовый язык Ren'Py позволяет писать визуальные новеллы просто и эффективно, профессиональный программист для создания игры не понадобится [4].

Симулятор можно написать на Ren'Py, используя поддержку языка Python. Движок сам позаботится о таких вещах, как постоянство и эффективный рендеринг, позволяя программисту сфокусироваться на интерфейсе и логике игры. Более того, скриптовый язык Ren'Py, на котором так просто писать визуальные новеллы, позволит добавить сюжетные вставки в симулятор.

Возможности визуализации и геймплея Ren'Py могут быть расширены пользователем и достаточны для создания любой двумерной сюжетной игры [2].

Хотя движок и его библиотеки являются opensource, лицензированными таким образом, что можно самим выбирать, будут ли у игры открытые исходники или нет. Для распространения игры на Ren'Py не придется платить создателям движка.

Движок может компилировать отдельные версии игр для всех этих платформ. Пользователю не придется ничего дополнительно скачивать – игры запустятся сразу.

49

В Ren'Py используется простой язык, основанный на тексте. Ren'Py позволяет назначить персонажам и изображениям переменные. С ними очень просто вносить изменения, не переписывая всю игру. Скрипт также позволяет добиться того, чтобы определенные изображения или текст оставались неизменными на протяжении всей игры [1].

Ren'Py по умолчанию включает все возможности, которые игрок ожидает от визуальной новеллы.

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

исконцентрироваться на определенных классах, некоторых отношениях между классами. «В основе любого подхода к программированию лежит понятие декомпозиции (разбиения на части) сложных систем с целью последующей реализации в виде отдельных небольших (до 40-50 операторов) подпрограмм» [4].

Современные визуальные новеллы обычно могут быть снабжены не только графическими изображениями и текстом, но также музыкой, видео

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

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

Литература

1.Бизли Д.М., Г. ван Россум. Язык программирования Python. Справочник (пер. с англ.) Киев: «ДиаСофт», 2010.

2.Жужжалов В.Е. Интеграционные методы изучения программирования в вузовском курсе информатики // Вестник МГПУ. Серия «Информатика и информатизация образования». – Москва, 2013. № 1 (1). – С. 53–54.

3.Иванова Г.С., Ничушкина Т.Н., Пугачев Е.К. Объектно-ориентированное программирование: Учебник для вузов. – 3-е изд., стер. / Под ред. Г.С. Ивановой. – М.: Изд-во МГТУ им. Н.Э. Баумана, 2012. – 368 с.

4.Лутц М. Программирование на Python. (пер. с англ.) СПб: «Символ Плюс», 2012.

5.Саммерфилд М. Программирование на Python 3. Подробное руководство (пер. с англ.) СПб: «Символ-Плюс», 2014.

6.Хахаев И. А. Практикум по алгоритмизации и программированию на Python: / И.А. Хахаев. – М.: Альт Линукс, 2011. – 126с.

50

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]