Технологии проектного обучения и разработки видеоигр для подготовки студентов ИТ-направлений в условиях зарождения цифровой экономик
Автор: Чеботарв Сергей Сергеевич
Журнал: Современная высшая школа: инновационный аспект @journal-rbiu
Рубрика: Актуальные проблемы управления качеством образования
Статья в выпуске: 3 (37), 2017 года.
Бесплатный доступ
В статье рассматриваются возможности образовательных подходов, направленных на улучшение качества практической подготовки выпускников вузов в области информационных технологий и программирования в условиях действия новых компетентностно-ориентированных образовательных стандартов и становления цифровой экономики. Выявлены противоречия между ожиданиями рынка труда, возможностями выпускников и образовательными технологиями высших и средних специальных учебных заведений. Вы-явлены противоречия между уровнем мотивации учащихся младших курсов и сложностью образовательной программы на ИТ-направлениях. Предложен вариант решения проблемы с применением технологий проектной работы и разработки видеоигр. Представлены достоинства и недостатки подходов, даны рекомендации по их внедрению. Рассматриваются вопросы выбора основного языка программирования, инструментов разработки и некоторые приёмы и методы обучения разработке компьютерных игр.
Проектная работа, программирование, ит, разработка видео игр, мотивация к учёбе
Короткий адрес: https://sciup.org/142228842
IDR: 142228842 | DOI: 10.7442/2071-9620-2017-9-3-47-56
Текст научной статьи Технологии проектного обучения и разработки видеоигр для подготовки студентов ИТ-направлений в условиях зарождения цифровой экономик
Технологии проектного обучения и разработки видеоигр для подготовки студентов ИТ-направлений в условиях зарождения цифровой экономики
С.С. Чеботарёв
Современная экономическая ситуация в России характеризуется высокими темпами информатизации и автоматизации всех отраслей хозяйства. Стремительный рост объемов информации, расширение масштабов человеческой деятельности приводят к формированию нового информационного пространства и цифровой среды обитания, что накладывает определённые новые требования и к человеку, вынужденному жить в таких условиях.
Одновременно с этим давно назрела необходимость для государства «слезть с сырьевой иглы» и начать построение новой – цифровой и инновационной экономики, основанной на коммерциализации креативных научно-технических идей и цифровых решений, способных дать мощный толчок к развитию промышленности, науки и сельского хозяйства.
По причине предъявления высоких требований к качеству и количеству специалистов в области информационных технологий эти факторы вызывают необходимость реформирования общества и образования, что, в свою очередь, может быть обеспечено только существенными изменениями в системе подготовки кадров в средних и, особенно, высших учебных заведениях.
Таким образом, сегодня и в ближайшие годы особенно актуальной становится качественная подготовка специалистов в области информационных технологий и разработки программного обеспечения (ПО).
Однако на протяжении последних лет при длительном взаимодействии с работодателями мы наблюдаем общее недовольство уровнем практической подготовки выпускников ИТ-направлений вузов. Процесс внедрения в высшее образование новых компетентностно-ориен-тированных образовательных стандартов пока не смог изменить ситуацию к лучшему. Представители ИТ-бизнеса отмечают у выпускников недостаток практических навыков: умений разрабатывать и применять сложные алгоритмы, умений работать в команде и общаться с заказчиком, умений согласовывать работу с дизайнерами, навыков проектирования и построения надёжной и масштабируемой архитектуры программного обеспечения. В целом, современный рынок труда уже сейчас диктует высокие требования к уровню сформированности профессиональных компетенций выпускников и актуальности их знаний, умений и навыков.
Также стоит отметить, что обучение по техническим специальностям и ИТ-направлениям, в частности, является достаточно сложным для нынешних поколений выпускников школ, особенно в условиях гуманитаризации и общего падения качества естественнонаучной подготовки в общем образовании.
В этих условиях возрастает потребность в разработке методик, изменяющих подход к образовательной деятельности и благоприятствующих формированию профессиональных компетенций у будущих выпускников ИТ-направлений.
Для достижения достойного результата в направлениях подготовки «Программная инженерия», «Прикладная информатика», «Информатика и вычислительная техника» и др. необходимо усилить практическую подготовку студентов по ключевым профильным дисциплинам, начиная с первого курса. Для создания прочного фундамента в образовании программистов необходимо обратить особое внимание на компетенции, формируемые дисциплинами «Программирование», «Структуры и алгоритмы обработки данных» и «Объектно-ориентированное программирование» (которые, по нашему мнению, необходимо включать в учебный план первого курса по всем направлениям подготовки, связанным с программированием!).
С другой стороны, мы можем отметить, что обучение разработчиков ПО и так достаточно сложное и насыщенное специальными дисциплинами. Изучение процесса разработки программного обеспечения является трудной задачей и сложность программных систем может быть сравнима со сложностью наиболее сложных из современных технических систем [6; 7].
Для решения задачи повышения качества подготовки, усиливая нажим на студентов (нагружая новыми дисциплинами или углубляя существующие), мы рискуем добиться прямо противоположного результата, снижая и без того зачастую слабую мотивацию к учёбе.
Таким образом, совершенно явно обнаруживается целый клубок противоречий между ожиданиями современного рынка труда и нового будущего цифровой экономики, с одной стороны, и возможностями выпускников и образовательными технологиями высших и средних специальных учебных заведений – с другой.
Для разрешения этих противоречий на всех курсах и семестрах мы предлагаем использовать в учебном процессе в обязательном порядке особую форму обучения – проектную работу [1; 2; 5]. Проектная форма обучения, популярная во многих мировых университетах, пока стала частью программ лишь в некоторых образовательных институциях России.
Отличительной особенностью действующего федерального стандарта высшего профессионального образования (ФГОС 3) является его направленность не только на накопление знаний, но и на формирование умения применять знания на практике, на развитие определенных компетенций и личности обучающегося. С этими задачами отлично справляется проектный подход.
Метод проектов разрабатывался как американскими, так и русскими педагогами ещё в начале прошлого столетия. Современный образовательный проект - это дидактическое средство активизации самостоятельной познавательной и творческой деятельности [3]. Этот метод органично сочетается с групповыми методами и всегда предполагает решение какой-то проблемы.
Изучение каждого значительного теоретического раздела в профильных дисциплинах (как минимум – один раз в семестр), по нашему мнению, должно завершаться выполнением студентами большой и цельной практической работы – проекта по разработке программного обеспечения, поскольку одним из наиболее серьезных недостатков в подготовке студентов является недостаточное понимание общих принципов создания ПО, технологий проектирования и опыта работы с реальными проектами [6; 7].
Перечислим основные требования к такому проекту:
-
1) наличие значимой задачи или проблемы, требующей конкретного решения (предпочтительно – наличие реального заказчика из бизнеса);
-
2) проект должен иметь выраженный прикладной характер;
-
3) для работы должна быть сформирована команда (предпочтительно, хотя польза однозначно будет и в режиме индивидуальной работы);
-
4) работа над проектом должна выполняться в рамках жизненного цикла любого проекта (исследование предметной области, сбор требований, анализ существующих решений, формирование технического задания (ТЗ), стадия проектирования, разработки и др.);
-
5) результатом работы обязательно должен быть функционирующий программный продукт, решающий поставленные в ТЗ задачи.
-
6) завершаться проектная работа должна публичной защитой с презентацией результатов и демонстрацией работающего продукта.
Программирование, как никакой другой предмет, может быть удачным как для индивидуального обучения, так и для работы в команде.
Подавляющая часть современных программных систем разрабатывается в группах, и именно командная работа представляет наибольшие трудности для
Технологии проектного обучения и разработки видеоигр для подготовки студентов ИТ-направлений в условиях зарождения цифровой экономики
С.С. Чеботарёв
начинающих инженеров. Поэтому проектную работу в вузе, конечно, предпочтительно проводить в командах.
Студенты, участники проектов, группируются в творческие коллективы по 2-5 человек. Каждому проекту помогает руководитель, который поможет сформулировать задачи и развить тематику проекта, организовать команду и задействовать методы ТРИЗ (например, мозговой штурм), спланировать сроки и наметить индивидуальную работу для каждого участника.
Руководителем может быть:
-
1) преподаватель (один или два) профильного направления или даже гуманитарного;
-
2) студент (один или несколько) старшего курса – тьютор;
-
3) представитель работодателя (из частного бизнеса или государственной структуры).
Совсем идеальный случай (к которому сложно, но нужно стремиться), когда в одном проекте могут принимать участие студенты разных курсов и разных специальностей (программисты, дизайнеры, менеджеры и т.п.).
Завершаться проектная работа обязательно должна публичной защитой с презентацией результатов и демонстрацией работающего продукта. На защиты можно приглашать студентов младших и старших курсов, представителей работодателей, а также родителей студентов. Процесс публичной защиты проекта сам по себе представляет большую ценность, поскольку позволяет получать объективную оценку, обратную связь и повышает прозрачность учебного процесса для основных заказчиков – экономики региона и родителей студентов.
Цель проектного обучения состоит в том, чтобы создать условия, при которых студенты, работая в различных группах, приобретают не только необходимые профессиональные компетенции, но и важные коммуникативные умения; учатся пользоваться приобретенными теоретическими знаниями для решения практических задач; самостоятельно и охотно приобретают недостающие знания из разных источников; развивают у себя исследовательские умения (умения выявления проблем, сбора информации, наблюдения, проведения эксперимента, анализа, построения гипотез, обобщения), развивают системное мышление и социальную смелость.
Технология проектного обучения, конечно, неидеальна, и к её неизбежным недостаткам можно отнести следующее:
-
1) сложность подбора подходящих темизадачдляпроектов: работанад реальными проектами для бизнеса может потребовать нереально большой объем времени, ресурсов и ответственности, а мы ограничены сжатыми учебными сроками и часто слабо мотивированными студентами;
-
2) сложности подбора и мотивации руководителей проектной работы;
-
3) различные организационные проблемы: совмещение с учебным процессом, человеческий фактор и т.д.;
-
4) распределение ролей в командной работе приводит к разной ответственности за ход и результаты работы по проекту;
-
5) выполнение участниками разных ролей снижает вероятность получения полного опыта работы на всех этапах проекта (этот недостаток должен быть компенсирован многократным участием студента в разных проектах на разных ролях);
-
6) возможность некоторыми студентами решения своих задач, возникающих в ходе выполнения проекта, за счет более инициативных участников команды;
-
7) разработку адекватной методики оценки проекта в целом;
-
8) сложность оценки вклада каждого члена группы в коллективный результат.
Тем не менее, несмотря на сложности и недостатки подхода, нами был проведён эксперимент по внедрению и осуществлению непрерывной проектной работы, начиная с первого семестра и на протяжении всего периода обучения студентов на ИТ-направлениях.
Результаты следует признать успешными. Проектная работа способна поддерживать высокую мотивацию к учёбе у большинства учащихся, она обеспечивает формирование реальных практических навыков работы, в том числе и в команде, формирует социальную смелость, уверенность в собственных силах и все основные профессиональные компетенции.
Помимо этого, важнейшим положительным результатом непрерывной проектной работы в вузе является индивидуальное портфолио проектов каждого студента. Портфолио проектов в идеальном случае может являться доказательством профессионального стажа при поиске работы нашим выпускником [4], что является отличным решением одной из известных проблем на рынке труда: когда работодатель хочет взять в штат опытного работника (стаж не менее 3х лет), а выпускнику негде взять опыт – ведь его не берут на работу!
Отдельным вопросом, заслуживающим обсуждения, является проблема подбора тем для проектной работы. Темы должны иметь практическую значимость, достаточную сложность и сформулированы с учетом теоретических и практических материалов, изученных на занятиях. Мы можем выделить следующие источники тем: непосредственно преподаватели специальных дисциплин (формируют списки тем, руководствуясь личным опытом); внутренние задачи по автоматизации процессов в образовательном учреждении; задачи по разработке мультимедийных приложений для сопровождения учебных занятий; реальные проекты для представителей бизнеса, готовых к сотрудничеству в образовательном процессе; собственные идеи студентов. Темы для проектной работы и соответствующие технические задания можно дополнительно проработать с помощью технологий мозгового штурма и командной работы, с привлечением менторов из среды профессиональных разработчиков ПО.
Несколько слов стоит сказать о выборе языка программирования и инструментов разработки. Несомненно, начинать знакомство с программированием следует с языка простого, но популярного и имеющего перспективы реального применения на рынке труда. Помимо внешней простоты, первый язык программирования должен предоставлять учащимся на следующем этапе своего освоения мощные объектно-ориентированные возможности, удобные библиотеки классов для решения повседневных задач и возможность реализации любых поставленных целей (будь то разработка бизнес-приложений, компьютерных игр, веб-сайтов или мобильных приложений).
В настоящее время в пятёрку самых популярных и востребованных языков программирования входят: Java, C, C++, C#, PHP. Эти языки достаточно близкие и имеют общие синтаксические конструкции, но, по нашему глубокому убеждению, лучшим выбором из этой группы является Microsoft Visual C#.
Как средство обучения программированию C# обладает рядом несомненных достоинств. Он хорошо организован, строг, большинство его конструкций логичны и удобны. Развитые средства диагностики и редактирования кода делают процесс программирования приятным и эффективным, а мощная библиотека классов платформы .NET берёт на себя массу рутинных операций, что даёт возможность решать сложные задачи, используя готовые «строительные блоки». Всё это позволяет расценивать C# в качестве перспективной замены языков Pasсal, Basic и C++ при обучении программированию. В то же время C# является профессиональным языком, предназначенным для решения широ-
Технологии проектного обучения и разработки видеоигр для подготовки студентов ИТ-направлений в условиях зарождения цифровой экономики
С.С. Чеботарёв
кого спектра задач, в первую очередь, в быстро развивающейся области создания распределённых приложений. Этот язык программирования является одним из самых молодых и перспективных на сегодняшний день: простой для освоения, строго типизированный и абсолютно безопасный (благодаря отсутствию адресной арифметики и наличию системы автоматической сборки мусора), он вобрал в себя всё самое лучшее из всех прочих существующих языков программирования. C# довольно близок к языку Java, который возглавляет мировой рейтинг популярности языков программирования , но его объектно-ориентированные возможности и особенности (такие как, например: свойства, делегаты, события, лямбда-выражения и интегрированный язык запросов LINQ) дают ему преимущества в яркой простоте и выразительности языковых средств.
Что касается инструментов разработки и многоцелевого использования, то и здесь язык может похвастаться богатым набором возможностей: на операционной системе Microsoft Windows для разработки бизнес-приложений есть замечательная среда Visual Studio – один из самых известных инструментов профессиональных разработчиков ПО; на других системах (Linux, MacOS) – среды разработки MonoDevelop и Xamarin Studio. Популярные игровые движки Unreal, CryEngine и Unity поддерживают разработку игр на языке C#. Платформа Microsoft ASP .NET позволяет разрабатывать на C# самые сложные веб-сайты и веб-сервисы. Платформа Xamarin предоставляет возможности разработки мобильных приложений для популярных мобильных операционных систем Google Android и Apple iOS.
Таким образом, по нашему мнению, язык C# идеально подходит для обучения. Базовый курс программирования, построенный на основе C#, позволит быстрее достичь уровня востребованного специалиста-профессионала.
На начальных этапах C# предоставляет для изучения простые элементы структурного программирования, такие же понятные и строгие, как в Pascal, но гораздо более удобные и лаконичные. На следующем этапе – при освоении принципов объектно-ориентированного программирования – C# демонстрирует все необходимые базовые элементы, не уступающие C++ или Java, но превосходящие их по удобству за счёт элементов «синтаксического сахара» – свойств, делегатов, индексаторов, событий, лямбда-выражений, встроенного языка запросов (LINQ), механизма рефлексий (отражений) и многого другого. Для типовых задач при разработке многоцелевых проектов C# опирается на огромную, продуманную библиотеку классов платформы .NET Framework.
Наиболее сложный и ответственный этап включения студентов в проектную работу приходится, естественно, на первый курс и частично на второй. Это время, когда учащимся необходимо адаптироваться к новой для них образовательной среде и непривычной информационной нагрузке. Поэтому особенно важно в этот период увлечь ребят интересной проектной работой, которая, с одной стороны, способствует формированию прочного и глубокого фундамента для профессиональных компетенций, а с другой – поддерживает высокую мотивацию к учёбе, позволяет весело и с удовольствием заниматься сложным, интеллектуальным трудом.
Для решения вышеописанных задач мы предлагаем использовать в проектной работе для студентов первого, и, может быть, второго курсов – направление разработки компьютерных игр [6; 7; 8].
Общеизвестно, что все люди играют в игры, только не все любят в этом признаваться. Игра – самое серьезное и глубокомысленное занятие ребенка. Более того, игра для ребенка – естественное состояние. Существует мнение, что игры не должны занимать ведущую роль в учебном процессе потому, что учеба – это подготовка к жизни, а жизнь – серьезная штука. На самом деле для ребенка нет более серьезного занятия, чем игра. Именно в играх человек познает мир, вырабатывает свой кодекс чести и т.д. Объявляя свою жизнь серьезной и недоступной для игр, мы сами делаем ее скучной и для себя, и для детей.
Не секрет, что современные школьники и студенты увлекаются компьютерными играми, и среди тех, кто поступает на ИТ-направление в высшее или среднее специальное учебное заведение, таких не менее 80%. Поэтому процесс разработки игр представляет для большинства студентов особый интерес и даже удовольствие и помогает поднять мотивацию к учёбе на новый уровень.
На мотивацию также очень сильно влияет трудность решаемых задач. Действительно, при слабой мотивации обучаемому необходимо давать не слишком сложные задачи, способные укрепить в нем веру в свои силы и таким образом увеличить мотивацию. Слишком трудная задача на этом этапе обучения способна отбить у ученика желание заниматься предметом и свести к нулю даже тот незначительный интерес, который изначально был. При слишком сильной мотивации также следует избегать трудных заданий, так как неудача в этом случае может перерасти в трагедию и нанести слишком серьезную психологическую травму. Определить этот самый средний – оптимальный для данного ученика уровень заинтересованности всегда считалось искусством педагога, и здесь применение компьютерных игр позволяет в определённой степени сглаживать углы и точнее находить оптимальный уровень совместно со студентом.
Кроме простой функции повышения мотивации, процесс разработки компьютерных игр содержит также большое количество аспектов, формирующих основные профессиональные и общепрофессиональные компетенции. Проектирование игр требует умений анализа требований к программной системе, зна- ния методологий проектирования ПО, навыков программирования, особенностей технических средств и сред разработки, требует знаний в области разработки алгоритмов, проектирования и разработки интерактивных приложений, двумерной и трехмерной компьютерной графики, кроссплатформенном программировании и т.д. Использование игр в качестве объекта проектирования позволяет изучить все этапы процесса проектирования ПО на реальных задачах и довести этот процесс до стадии реализации системы.
Использование процесса разработки игр в обучении разработчиков ПО имеет ряд важных преимуществ в сравнении с другими подходами [6; 7]. Во-первых, цель разработки такого ПО понятна и близка большинству студентов. Во-вторых, многие из них хорошо знакомы с этой областью и могут сформулировать адекватные требования к таким программным системам. И также очень важно то, что разработка компьютерных игр требует командной работы. Разработка компьютерных игр развивает такие необходимые в работе навыки, как управление командной разработкой, выставление приоритетов и планирование, решение конфликтных ситуаций [8].
Логично использовать проектную работу в этом направлении на первом курсе, сразу после (или, может быть, во время) изучения специальных дисциплин «Программирование», «Структуры и алгоритмы обработки данных» и «Объектноориентированное программирование». Процесс разработки игр необычайно богат сложными, разнообразными задачами для программиста и межпредметными связями для студента и включает:
̶ множество математических знаний и навыков по тригонометрии, векторной алгебре, элементам математического анализа (матрицы, уравнения прямых и кривых), дискретной математике, элементам комбинаторики и теории вероятностей, вычислительной геометрии;
Технологии проектного обучения и разработки видеоигр для подготовки студентов ИТ-направлений в условиях зарождения цифровой экономики
С.С. Чеботарёв
-
̶ физику (как минимум знания по кинематике точки и динамике твёрдого тела);
-
̶ все доступные навыки анализа требований и проектирования программного обеспечения;
-
̶ использование большого количества разнообразных структур данных: массивы, списки, очереди, стеки и деревья;
-
̶ навыки программирования базовых задач работы с файловой системой, базами данных и сетевой передачей данных;
-
̶ программирование сложных алго
ритмов, таких как: поиск кратчайшего пути, проверка столкновений объектов, сортировки и различные виды поиска, элементы искусственного интеллекта и системы принятия решений;
-
̶ необходимые знания в области компьютерной графики и архитектуры вычислительных систем;
̶ необходимые знания и умения для построения большой системы взаимосвязанных объектов со сложной архитектурой на основе принципов объектно-ориентированного программирования и паттернов проектирования, таких как: система пользовательского интерфейса, система управления ресурсами, система управления игровыми объектами и т.д.
Для успешного применения разработки игр в проектной работе помимо языка программирования нужно правильно выбрать инструменты. Выбирать необходимо между готовым игровым движком или графическим фреймворком, а разница между ними заключается в подходах.
Игровой движок предоставляет обширный инструментарий, в котором уже решены почти все сложные и интересные вопросы и остаётся рутинная работа по созданию игрового контента и программированию специфических для выбранного игрового жанра задач. Среди популярных и удобных игровых движков, предоставляющих к тому же бесплатную версию, можно выделить Unreal, CryEngine и Unity.
Графический фреймворк для создания игр предоставляет только базовый набор высокоуровневых функций для работы с графикой и оставляет большой простор для разработчика по программированию всего необходимого функционала игрового движка. Среди популярных и удобных фреймворков, можно выделить: libGDX, Xna Game Studio, MonoGame, Cocos2d.
По нашему мнению, начинать разработку игр на первом курсе лучше всего с использования графического фреймворка. Идеальным выбором для языка C# является кроссплатформенный фреймворк с открытым исходным кодом MonoGame. Этот инструмент позволяет работать с графикой на всех популярных операционных системах: Windows, Linux, MacOS, Android и IOS и оставляет необходимый простор для самостоятельной разработки всех элементов игрового движка в рамках проектной работы.
На первом этапе обучения студенты самостоятельно разрабатывают игровой движок и простейшую игру на базе выбранного графического фреймворка. Такая работа прекрасно формирует профессиональные компетенции и к тому же даёт необходимое представление о типовой архитектуре игрового движка. В качестве первой игры стоит рекомендовать реализацию ремейка одной из классических игр 80-х или 90-х годов.
На следующем этапе (второй курс) студентам можно переходить к профессиональной работе на полноценном игровом движке, например, Unity. В этом случае можно предлагать к реализации более сложные и оригинальные идеи для игр, задействовать не только двухмерную спрайтовую графику, но и, по возможности, трёхмерную.
Unity – это инструмент для разработки двухмерных и трёхмерных игр. Созданные с помощью Unity приложения работают под операционными системами
Windows, OS X, Windows Phone, Android, Apple iOS, Linux, а также на игровых приставках Wii, PlayStation 3, PlayStation 4, Xbox 360, Xbox One. Также этот игровой движок позволяет запускать игры в браузерах с помощью специального подключаемого модуля Unity Web Player и технологий WebGL.
Исходя из возможностей учебного заведения можно рекомендовать включать в проектные команды студентов направления графического дизайна, которые помогут с созданием графического контента и игрового дизайна. Совместная работа программистов и дизайнеров в настоящее время является обычной практикой в области разработки веб-сайтов, мобильных приложений и компьютер -ных игр.
В нашем эксперименте по внедрению проектной работы в учебный процесс практика разработки игр на первом и втором курсе прекрасно себя зарекомендовала. Анализ результатов применения разработки игр для обучения показал, что студенты, участвующие в проектах, отлично сформировали профессиональные компетенции в области разработки программного обсечения и получили знания и навыки, выходящие за рамки учебной программы.
Список литературы Технологии проектного обучения и разработки видеоигр для подготовки студентов ИТ-направлений в условиях зарождения цифровой экономик
- Боков Л.А. Технология группового проектного обучения в вузе как составляющая методики подготовки инновационно-активных специалистов // Современные проблемы науки и образования. - 2013. - № 6. С. 1-10.
- Бреднева Н.А. Проектная деятельность студентов в условиях междисциплинарной интеграции: автореф. дис.. канд. пед. наук. - М.: Ун-т Рос. акад. образования, 2009. - 25 с.
- Дьюи Дж. Демократия и образование. Перевод с анг. - М.: Педагогика Пресс, 2000. - 384 с.
- Панченко Т.В. Электронное портфолио как аутентичная технология оценивания компетенций будущих педагогов в условиях организации конкурсов педагогических проектов // Современная высшая школа: инновационный аспект. - 2017. - №1. С. 101-108.
- Панчук Т.А. Формирование готовности к проектной деятельности студентов факультетов технологии и предпринимательства: автореф. дисс. … канд. пед. наук. - Новокузнецк: Кузбас. гос. пед. акад., 2004. - 23 с.
- Шабалина О.А. Разработка комплекса средств для обучения алгоритмизации и языкам программирования с использованием игрового подхода // Единое образовательное пространство славянских государств в XXI веке: проблемы и перспективы: мат. III Международной научно-практической конференции в г. Брянск, 2-3 апреля 2009. - Брянск: Изд-во Брянского гос. технического ун-та, 2009. - 322 с.
- Shabalina O., Vorobkalov P., Kataev A., Tarasenko A. Educational Games for Learning Programming Languages // Information Science & Computing: International Book Series. No. 6. Methodologies and Tools of the Modern (e-) Learning. Supplement to International Journal "Information Technologies and K nowledge". - 2008. - Vol. 2. - Soa: ITHEA, 2008. P. 79-83.
- Шабалина О.А. Применение компьютерных игр для обучения разработке программного обеспечения // Открытое образование. 2010. - №6. С. 19-26.