DOI 10.7442/2071-9620-2017-9-4-122-132
УДК 378.147 ББК 74.480.26
С.С. Чеботарёв
(Русско-Британский Институт Управления, г. Челябинск, Россия)
АКТУАЛЬНЫЕ АСПЕКТЫ ПОДГОТОВКИ СТУДЕНТОВ ПО ПРОГРАММИРОВАНИЮ С ПРИМЕНЕНИЕМ МЕТОДА ПРОЕКТОВ И ОРИЕНТАЦИЕЙ НА СТАНДАРТЫ WORLDSKILLS В КОМПЕТЕНЦИИ «РАЗРАБОТКА ВИДЕОИГР И МУЛЬТИМЕДИЙНЫХ ПРИЛОЖЕНИЙ»
Актуализируется проблема подготовки студентов ИТ-направлений с учетом применения метода проектов и ориентацией на стандарты WorldSkills в компетенции «Разработка видеоигр и мультимедийных приложений». Указывается, что проведенный теоретический анализ исследований в данной области и собственный опыт практической деятельности обнаруживает противоречия в профессиональном образовании студентов обозначенного направления подготовки. Согласно позиции автора данное противоречие устранимо путем применения на учебных занятиях технологии проектной работы и разработки видеоигр, краткое содержание которой представлено в настоящем исследовании. Приводится план подготовки студентов на первом курсе обучения, содержащий перечень рекомендуемых актуальных тем, задач и проектов. Делается вывод о том, что приведенная технология гарантирует формирование минимального фундамента профессиональных компетенций разработчика программного обеспечения, в частности компетенции «Разработка видеоигр и мультимедийных приложений», включенной в перечень компетенций WorldSkills Russia.
Ключевые слова: проектная работа, программирование, ИТ, разработка видеоигр, мотивация к учёбе, C#, MonoGame, ООП, структурное программирование.
ш
ср го н о
ю ф
IT
о
О
S.S. Chebotaryov
(Russian-British Institute of Management, Chelyabinsk, Russia)
RELEVANT ASPECTS OF THE TRAINING OF STUDENTS IN PROGRAMMING USING THE TECHNOLOGY OF PROJECT-BASED LEARNING AND THE ORIENTATION TOWARDS WORLDSKILLS STANDARDS IN THE COMPETENCE «DEVELOPMENT OF VIDEOGAMES AND MULTIMEDIA APPLICATIONS»
The problem of training IT students via project based learning and focus on WoldSkills standard in the competence «Development of video games and multimedia applications»is brought up to date. The theoretical analysis of the researches in the area and author's practical experience
reveal contradictions in the professional training of the students in this program. It is believed that this contradiction can be overcome through using project based learning technology and videogame development presented in this article. The plan for training first year students with the list of the recommended topical themes, tasks and projects is proposed. It is concluded that the proposed technology guarantees the formation ofprofessional competence of software developer andprovides a goodfoundation for new skill of WorldSkills Russia «Development of video games and multimedia applications».
Keywords: Project work, development of video games, IT, motivation to learn, C#, MonoGame.
В настоящее время рядом современных исследователей (А.Е. Шухманом, Э.Ф. Морковкиной [9], А.А. Ворониным,
A.А. Васильченко, А.В. Зеновичем, С.А. Солодковым, Т.В. Штельмах, ОН. Масюковой [3], С.В. Жарым [4],
B.В. Жилкиным [5], Н.В. Балашовой [2] и др. отмечаются сложности в подготовке специалистов ИТ-направлений.
Теоретический анализ указанных исследований и собственный опыт практической деятельности позволили обнаружить противоречия между ожиданиями рынка труда, возможностями выпускников и образовательными технологиями высших и средне-специальных учебных заведений, а также противоречия между уровнем мотивации учащихся младших курсов и сложностью образовательной программы по ИТ-направлений [8]. Выявленные противоречия обусловили выбор варианта решения проблемы - применение технологий проектной работы и разработки видеоигр.
Как считают В.Е. Жужжалов, Д.С. Ковалев, есть достаточно эффективные способы подготовки студентов-разработчиков программного обеспечения (ПО) в соответствии с требованиями компе-тентностно-ориентированных образовательных стандартов [6; 7]. В связи с этим нам бы хотелось детальнее рассмотреть особенности формирования профессиональных компетенций на примере обучающихся первого курса направлений подготовки «Бизнес-информатика» и «Прикладная информатика» (но вполне применимых и для других направлений).
Приведённая ниже технология проектной работы и разработки видеоигр
в процессе подготовки студентов ИТ-направлений проверена временем и основана на большом опыте преподавания (с применением метода проектов) специальных дисциплин, связанных с программированием по указанным направлениям на всех курсах обучения, а также может быть направлена на индивидуальную подготовку обучающихся разного уровня с применением методов дистанционного образования.
Несомненно, что начинать глубокое погружение в программирование необходимо на первом курсе с первого же семестра (желательно, не менее восьми часов в неделю). В качестве первого языка программирования отлично подходит Java или C# - это современные высокоуровневые языки программирования (ЯП), которые на ранних этапах освоения ничуть не уступают по простоте таким классическим академическим языкам, как Паскаль (Pascal) или Бейсик (Basic). Однако при своей (первоначальной) простоте эти языки занимают ведущие позиции (в списке вакансий) на российском и международном рынке труда и входят в пятёрку самых популярных ЯП согласно индексу TIOBE [1].
По нашему убеждению, на формирование правильного мышления программиста крайне пагубно влияет выбор в качестве первого любого скриптово-го языка программирования с динамической слабой типизацией такие, как: JavaScript, PHP, Visual Basic. Упомянутые языки могут быть достаточно хороши и удобны в своей нише для решения некоторых прикладных задач, но не позволяют обучать некоторым важнейшим
га
о
m
о 12 « ф >s о s
а. I
ф
*
о с;
го ч о
н ф
Ср с X _0
ф
^ 5
5 §•
ГО Im s
0 о ü ф s ч
1 m
Êû
о о
а ю
а го
° &
1= го
m CL
о «
ф SÎ
* I
° I
О ш
ЧТ (Л
о = i=
Ê 1
ф .о
0
го ф
_0
1 _0
го
концепциям, правилам и дисциплине программирования. Одним из важнейших аспектов на начальных этапах
обучения программированию, по нашему мнению, является формирование понимания типа данных!
Таблица 1. Рейтинг языков программирования TIOBE, ноябрь 2017
Ноябрь 2017 Ноябрь 2016 Изменения an Рейтинг Изменения %
1 1 Java 13.231% -5.52%
2 2 C 9.293% +0.09%
3 3 C++ 5.343% -0.07%
4 5 Л Python 4.482% +0.91%
5 4 V C# 3.012% -0.65%
6 8 Л JavaScript 2.972% +0.27%
7 6 V Visual Basic .NET 2.909% -0.26%
8 7 V PHP 1.897% -1.23%
9 16 Delphi/Object Pascal 1.744% -0.21%
10 9 V Assembly language 1.722% -0.72%
m
Œ
го н о ю
<D IT
ci ci
Другой крайностью нам видится выбор в качестве первого языка C (си) или C++. Несомненно, это отличный язык системного программирования и разработки сложного программного обеспечения, но предоставляющий слишком большую свободу для работы на низком уровне: адресная арифметика, указатели и т.д., а с большой свободой в комплекте всегда идёт и большая ответственность - нелёгкий труд контроля за объектами в динамической памяти.
Также нам кажется крайне важным начинать изучение основ только со структурного (процедурного) программирования, не смешивая его с объектно-ориентированным (ООП). И уж совсем неоправданным мы считаем методику знакомства новичков в программировании с понятиями класса и объекта.
В нашем случае, основным языком программирования мы выбираем Microsoft Visual C# по целому ряду причин, которые указанных в предыдущих наших исследованиях [8], и, соответственно, в качестве среды разработки Microsoft Visual Studio (промышленный стандарт для профессиональной разработки приложений).
И, наконец, о типе проектов. По нашему убеждению, начинать нужно толь-
ко с разработки в консольном режиме, ни в коем случае не стоит начинать сразу с Windows Forms, Unity или графических фреймворков!
Негативные последствия неверного выбора, сделанного вначале пути, мы не раз наблюдали у коллег и студентов в разных образовательных учреждениях. Наши наблюдения стали ключевым фактором создания и применения технологии проектной работы и разработки видеоигр в процессе подготовки студентов ИТ-направлений.
В начале первого семестра необходимо сосредоточить все силы на формировании знаний (о важности и значимости) и практических навыков использования:
1) переменных (правила объявления, использования, именования);
2) базовых встроенных типов данных (их назначение и характеристики);
3) основных операторов и операциий;
4) области видимости переменных;
5) основных этапов решения задачи на ЭВМ (ввод данных, обработка данных, вывод результатов);
6) приведения типов;
7) главных управляющих структур (следование, ветвление, цикл).
Практические задачи, используемые на этом этапе, должны быть умеренно простые, интересные, имеющие некоторую практическую значимость, а также близкие и понятные каждому учащемуся. Например, определение знака зодиака для входных данных - номер месяца и дня; определение животного по китайскому календарю для произвольного года; решение квадратного уравнения; метод половинного деления для нахождения корня уравнения и т.п. Завершением данного блока обязательно должно быть решение индивидуального пакета задач.
На следующем этапе рассматриваем:
1) одномерные массивы;
2) методы (процедуры и функции) и способы передачи параметров;
3) основные алгоритмы обработки данных;
4) организацию полного перебора вариантов;
5) двумерные массивы;
6) рекурсию.
Понимание принципов работы с массивами, навыки решения задач с применением декомпозиции на процедуры и функции необычно важны и являются необходимым фундаментом для развития всех профессиональных компетенций разработчика ПО. Уровень сложности практических задач на этом этапе возрастает.
Группы задач:
1) определение дня недели для произвольной даты (без использования готовых решений); некоторые алгоритмы численных методов;
2) копирование произвольного количества элементов из определённой позиции в одном массиве в определённую позицию в другом массиве с проверкой граничных случаев; вставка и удаление элемента массива с созданием нового массива; слияние массивов, реализация различных выборок и фильтров;
3) обязательные алгоритмы (такие, как поиск минимального/макси-
мального элемента,
линейный
поиск, суммирование элементов, сортировка, бинарный поиск и другие);
4) преобразование произвольного числа в массив, элементами которого будут цифры исходного числа и обратная операция; выполнение основных математических операций над двумя операндами, каждый из которых является массивом, содержащим цифры; преобразование числа в произвольной системе исчисления в любую другую систему исчисления;
5) задачи на организацию перебора вариантов (такие, как генерация сочетаний и перестановок (коммивояжёр, рюкзак с предметами и т.п.));
6) двумерные массивы: задачи с матрицами (вычисление определителя, транспонирование, перемножение матриц и т.д.); использование массива для хранения изображений (вывод в консоли); операции с такими изображениями (масштабирование, обрезка, поворот на произвольный угол и т.п.);
7) обязательные задачи на рекурсию: Ханойская башня, расстановка восьми ферзей на шахматной доске, обход конём шахматной доски, вычисление размера всех файлов в директории на жёстком диске, включая все подпапки; поиск пути для выхода из лабиринта и т.д.
Завершением данного блока также обязательно должно быть решение индивидуального пакета задач.
Следующий блок тем:
1) операции со строками;
2) методы обработки текстовой информации;
3) для сильных групп студентов можно рассмотреть простые задачи на динамическое программирование;
4) отображение в консоли элементов графического интерфейса пользо-
га
О
СО
о
¡5 « ф
о ^
О. I
ф
* О
с;
го ч о
н ф
с X .0
ф
^ 5
5 §■
I а.
ГО 1-
ш ^
о О а. ф
^ ч
и * ^
о о а. ю
1= го
° &
1= го
ш О.
о «
ф 5
* I
е I
О ш
Ч (Л
0 = 1=
1 1
Ф .о
0
го ф
.0
1 .0
го
m
ü го н о
ю ф
Iг О
с;
вателя с помощью символов псевдографики;
5) приёмы организации диалога с пользователем;
6) операции с файлами (чтение и запись текстовой и бинарной информации).
Группы задач для этого блока:
1) работа с текстом: генерация случайного текста; построение частотного словаря для текста; подбор слов для составления кроссвордов; методы поиска подстроки; поиска текста по маске (возможна частичная реализация регулярных выражений); элементы синтаксического анализа (например, задача вычисления математических выражений, записанных в строке);
2) подготовка процедур (методов) для вывода в консоли элементов пользовательского интерфейса (можно ориентироваться на Norton Commander, Far Manager);
3) реализация в консоли собственных методов взаимодействия с пользователем: ввод текста с ограничением по количеству символов, по группе символов (русские буквы, английские, только цифры), по маске (телефонный номер и т.п.); организация горизонтального и вертикального меню в консоли, позволяющего выбирать из списка предложенных значений и т.д.
4) реализация в консоли редактора игровых карт, сохранение их в файл и загрузка;
5) реализация в консоли элементов для простейших игр: работа с цветом и положением объектов; перемещение объекта по экрану и методы анимации; проверка столкновений объектов и т.п.
На этом блоке завершается первый семестр и освоение основ структурного (процедурного) программирования. Студенты выполняют индивидуальную
проектную работу для закрепления всего изученного материала.
Приводим для примера несколько тем данной проектной работы. Каждый проект состоит из модулей. Переходы между модулями нужно организовать через меню. Данные должны храниться в текстовых файлах (информацию сохраняем и загружаем), по каждой группе нужно заполнить базу не менее чем 20 объектов.
Тема. Информационная система «КИНОТЕАТР»
а) Модуль «Администратор» позволяет создавать кинотеатры и производить:
- заполнение данных о кинотеатре (количество, номера и вместимость залов);
- заполнение данных о зале (количество мест, рядов, конфигурация);
- заполнение данных о фильмах (название фильма, ключевые слова, жанр, продолжительность, актеры, и т.д.); заполнение данных о сеансах
(даты, время, кинозал, стоимость) для каждого фильма; б) Модуль «Кассир» позволяет производить:
- выбор сеанса и просмотр «занятых мест» в соответствующем зале;
- выбор места (необходимо построить на экране «сетку» из рядов и кресел в зале);
в)
подсчет стоимости;
- формирование билетов на фильм (отдельный экран с полной информацией по билетам);
Модуль «Афиша» позволяет производить:
- поиск фильма по части названия, по ключевым словам, по жанрам;
- просмотр списка фильмов;
- применение фильтров (по жанрам, годам, актерам); просмотр детальных сведений по любому фильму (таблица);
просмотр списка текущих сеансов в кинотеатре. Тема. Информационная система «ШКОЛЬНОЕ РАСПИСАНИЕ»
а) Модуль «Директор» позволяет производить создание/редактирование информации об имеющихся в школе:
- учителях (ФИО), предметах, классах,
- кабинетах,
- время звонков для разных смен;
б) Модуль «Завуч» позволяет:
- формировать расписание вручную по классам на каждый день недели (на каждый урок -учитель, предмет и кабинет);
в)
формировать расписание автоматически (усложнение темы путём введения для каждого учителя ограничений на предпочитаемые кабинеты, время уроков и т.д.); Модуль «Информер» позволяет производить:
выдачу расписания для выбранного класса на выбранный день или всю неделю; выдачу расписания для выбранного учителя; - выдачу графика занятости кабинета на выбранный день или всю неделю.
Тема. Информационная система «ПОЛИКЛИНИКА»
а) Модуль «Главный Врач» позволяет производить запись/редактирование сведений об участках, которые относятся к поликлинике, о расписании работы участковых врачей, информацию о врачах, а также карточки пациентов. Карточка имеет номер, в нее заносятся сведения о каждом посещении поликлиники пациентом: дата посещения, жалобы, предварительный диагноз, назначения, выписан или нет больничный
лист, и, если выписан, то на какой срок, имя врача. В карточке на первой странице указаны также фамилия, имя, отчество пациента, его домашний адрес, пол и возраст, номер страхового полиса, дата заполнения карточки. В расписании работы врачей указывается, на каком участке работает врач, дни и часы приема, номер кабинета. б) Модуль «Регистратура» позволяет осуществлять:
просмотр пациентов, просмотр врачей;
выдачу пациенту талона на посещение врача; Модуль «Врач» позволяет производить:
в)
просмотр списка пациентов; просмотр карточки пациента; запись данных в карточку пациента.
После выполнения проекта студенты готовят краткий отчёт о проделанной работе, который включает: описание предметной области, анализ существующих на рынке программных решений в данной сфере, описание структуры разработанной программы, хранимых данных и интерфейса пользователя. Завершается работа подготовкой презентации по проекту и публичной защитой с демонстрацией работающего решения.
Второй семестр первого курса (также не менее восьми часов в неделю) посвящаем изучению и отработке принципов объектно-ориентированного программирования.
Первый блок тем:
1) основы ООП: объекты, классы (поля и методы - члены класса), инкапсуляция (модификаторы доступа), наследование, полиморфизм;
2) углубление в ООП: абстрагирование; методы для доступа к защищенным полям (акцессоры и мутаторы / геттеры и сеттеры); раннее и позднее связывание при
га
а о
со о
¡5 « ф
о ^ а. I
ф *
о с;
го ч о
н ф
а с X .0
ф
^ 5
5 §■
I а
ГО I-
ш ^
0 О а ф ^ ч
1 * ^
о о а. ю
1= го ° &
1= го ш 0-
о «
ф 5
* I
о ш
Ч (Л
0 = 1=
1 1
Ф .о
0
го ф
.0
1 _0
го
m
:<u ср го н о ю <u IT
с; b
полиморфизме; виды наследования (одиночное и множественное); построение иерархических связей при наследовании (обобщение и специализация);
3) особенности ООП в C#: особые синтаксические конструкции -свойства (properties) и индексаторы; делегаты и события;
4) класс object - операции boxing и unboxing; переопределение метода ToString();
5) основные коллекции (списки, стеки, очереди);
6) универсальные (обобщенные) классы, generic коллекции;
7) сериализация (бинарная и XML).
Этим блоком заканчиваем разработку приложений в консоли. Для закрепления начальных знаний навыков в области ООП строим иерархический набор классов - фреймворк - для построения удобного пользовательского интерфейса в консольных приложениях. Все элементы должны быть представлены классами, хранящими состояние, необходимый функционал и набор событий. Используя полученную систему, студенты должны разрабатывать индивидуальный или командный проект - информационную систему на заданную тему. Для экономии времени (если это необходимо) можно выполнить рефакторинг (глубокую переработку кода) предыдущего проекта, выполненного с использованием структурного подхода в объектно-ориентированную архитектуру.
Следующим этапом погружения в ООП может стать изучение платформы Microsoft .NET Framework. Необходимо рассмотреть её назначение, архитектуру и базовую библиотеку классов BCL (Base Class Library). Эта платформа отлично демонстрирует достоинства объектно-ориентированного подхода к программированию.
Более подробно во втором семестре стоит также остановиться на рассмотрении технологии Windows Forms, которая позволяет строить приложения с графи-
ческим интерфейсом пользователя для ОС Windows, с применением принципов визуального и событийно-управляемого программирования. Помимо изучения основных элементов управления (кон-тролов Windows Forms), имеет смысл с помощью этой технологии разобрать со студентами базовые алгоритмы для работы с графикой:
1) растровая графика: свойства пикселя и растра, цветовые модели (RGB, CMYK, HSB);
2) алгоритм растеризации основных примитивов - отрезок и окружность - алгоритм Брезенхема и его модификации;
3) алгоритмы растеризации многоугольников: алгоритм со списком рёберных точек, алгоритм со списком активных рёбер, заполнение областей с затравкой (алгоритм короеда);
4) элементы цифровой обработки изображений: цвето-коррекция, гамма-коррекция, фильтрация и т.п.;
5) параметрические кривые: огибающая, Безье, кубические сплайны;
6) элементы векторной графики: создание и хранение сложных фигур, аффинные преобразования (параллельный перенос, поворот и масштабирование);
7) элементы вычислительной геометрии: триангуляция, построение выпуклой оболочки, определение принадлежности одного объекта другому, поиск их пересечения и т.д.
Закрепляем этот этап, как обычно, выполнением большого проекта. Это может быть разработка информационной системы, системы автоматизации процессов, графического редактора (растрового или векторного) или простейшей оконной видеоигры (например: «Сапёр», «Косынка», «Морской бой» и т.п.).
После знакомства с основами Windows Forms второй семестр завершаем изучением фреймворка для разработки видеоигр. Не стоит в этот период сразу переходить к использованию пол-
ноценного игрового движка (Unity или Unreal). Игровой движок предоставляет обширный инструментарий, в котором уже решены почти все сложные и интересные вопросы и остаётся рутинная работа по созданию игрового контента и программированию специфических для выбранного игрового жанра задач.
Графический фреймворк предоставляет только базовый набор высокоуровневых функций для работы с графикой и оставляет большой простор для разработчика по программированию всего необходимого функционала игрового движка. Среди популярных и удобных фреймворков, можно выделить: libGDX, Xna Game Studio, MonoGame, Cocos2d.
Для разработчиков на языке C# отлично подходит фреймворк MonoGame, который является объектно-ориентированной обёрткой для графических библиотек Microsoft DirectX и OpenGL, благодаря чему на нём можно создавать видеоигры для всех популярных систем: Windows, Linux, MacOS, Android, iOS, Xbox One, PlayStation. MonoGame предоставляет набор удобных классов для работы с графикой и оставляет большой выбор для решения разнообразных задач по программированию.
Рекомендуемые темы для занятий:
1) архитектура класса Game: основные методы и свойства;
2) работа с контентом (MonoGame Pipeline), загрузка текстур;
3) класс SpriteBatch, метод Draw -перегрузки метода;
4) вывод на экран спрайтов, манипуляции спрайтами;
5) разработка класса GameObject, инкапсулирующего спрайт, положение и скорость объекта на экране;
6) разработка классов, обеспечивающих пользователю возможности управления игровым объектом с помощью клавиатуры, мыши, геймпада;
7) перемещение игрового объекта с учётом его ориентации (угла наклона) в пространстве;
8) разработка контроллера - класса, управляющего группой игровых объектов;
9) класс для реализации спрайтовой анимации с поддержкой времени (GameTime);
10) разработка класса, обеспечивающего автоматическую загрузку игровых ресурсов;
11) разбор алгоритмов проверки столкновений спрайтов (метод ограничивающего прямоугольника, метод группы прямоугольников, метод многоугольников, попик-сельная проверка);
12) реализация системы «Сетка игровой сцены» для проверки видимости объектов и проверки множества столкновений;
13) класс для вывода графических примитивов (линии, прямоугольники, окружности и т.п.)
14) класс для работы с текстом и шрифтами;
15) разработка системы классов, реализующих стандартные элементы графического интерфейса пользователя (кнопки, меню, списки, окна, текстовые поля, и т.д.)
16) разработка класса «User Interface System», использующего собы-тийно-управляемый подход для взаимодействия с пользователем;
17) разработка системы классов для управления игровыми экранами (экран настроек, экран главного меню, игровой экран и т.д.);
18) разработка редактора игровых уровней;
19) система загрузки и переключения игровых уровней;
20) система сохранения и загрузки статистики игрового процесса (с помощью сериализации на платформе .NET Framework);
21) класс-контроллер для реализации системы частиц;
22) классы для работы с игровыми слоями и реализации эффекта параллакс;
га
ср о
m
о 12 « ф >s о s
CP I ф
*
о с;
го ч о
I— ф
ср а X _0
ф
^ 5
5 §•
I СР ГО L-Ш S
0 о а. Ф s ч
1 m
ÊÛ о о CP ю 1= го О & 1= го m CL о «
ф
SÎ
* I
° I
О ш
ЧТ (Л
о = i=
Ê 1
ф .о
m
a го н о
ю ф
Iг О
с;
23) графические эффекты: скроллинг фона, изменение прозрачности спрайтов, пиксельные шейдеры;
24) основы физики в игровом движке;
25) использование сторонней физической библиотеки (Farseer Physics Engine);
В процессе разбора этих тем получится сборник рецептов, на основе которого может быть построена большая и сложная объектно-ориентированная система для игрового движка. В результате учащиеся получат колоссальный опыт разработки сложных алгоритмов, систем связанных классов и событийно-ориентированной архитектуры.
Завершаем второй семестр и первый курс обучения выполнением индивидуальных или командных проектов по разработке видеоигр (желательно с привлечением студентов направления подготовки «Графический дизайн» для подготовки игровых ресурсов).
Приводим для примера несколько тем данной проектной работы. Каждый проект состоит из игрового движка, контента, набора уровней и системы игровых модулей.
Примерные темы для видеоигр (на самом деле, это классические игровые жанры):
1) платформер;
2) аркада;
3) стратегия реального времени;
4) пошаговая стратегия;
5) гонки;
6) ролевая игра;
7) раннер.
После выполнения проекта студенты готовят краткий отчёт о проделанной работе, который включает: описание выбранного жанра и основных идейных вдохновителей, описание архитектуры игрового движка (дерево классов), описание интересных алгоритмов и решений, структуру проекта и игрового контента. Завершается работа подготовкой презентации и публичной защитой с демонстрацией работающего решения.
Итак, по итогам первого курса, у студентов формируются основы базовых профессиональных компетенций разработчика программного обеспечения (например, для направления подготовки «Прикладная Информатика»):
- способность использовать основные законы естественнонаучных дисциплин и современные информационно-коммуникационные технологии в профессиональной деятельности;
- способность решать стандартные задачи профессиональной деятельности на основе информационной и библиографической культуры с применением информационно-коммуникационных технологий и с учетом основных требований информационной безопасности;
- способность разрабатывать, внедрять и адаптировать прикладное программное обеспечение;
- способность проектировать ИС в соответствии с профилем подготовки по видам обеспечения;
- способность документировать процессы создания информационных систем на стадиях жизненного цикла;
- способность проводить описание прикладных процессов и информационного обеспечения решения прикладных задач;
- способность программировать приложения и создавать программные прототипы решения прикладных задач.
В целом, описанная в данном исследовании технология проектной работы и разработки видеоигр устраняет противоречия между уровнем учебной мотивации обучающихся и сложностью образовательной программы по ИТ-направлениям.
В дальнейшем нами предполагается рассмотрение особенностей подготовки в рамках данной технологии обучающихся на следующих курсах.
Библиографический список:
1. TIOBE Index for November 2017. November Headline: What happened to the scripting languages? [Электронный ресурс] // TIOBE software BV. - Режим доступа: https://tiobe.com/tiobe-index/
2. Балашова Н.В. Реализация практи-ко-ориентированного обучения через использование методов активного обучения на занятиях специальных дисциплин // Новые информационные технологии в образовании: материалы VI междунар. науч.- практ. конф., Екатеринбург, 12-15 марта 2013 г. - Екатеринбург: ФГАОУ ВПО РГППУ, 2013. - С. 19-24.
3. Воронин А.А., Васильченко А.А., Зе-нович А.В., Солодков С.А., Штельмах Т.В., Масюкова О.Н. Анализ содержания университетской подготовки ИТ-специалистов на основе федеральных государственных образовательных стандартов с позиций профессиональных ИТ-стандартов // Вестник ВолГУ. - Серия 6. - Вып. 14. - 2013. С. 50-61.
4. Жарый С.В. Особенности подготовки студентов в области информационных технологий в непрофильном вузе // Человек и образование. - 2009. -№3 (20). С. 149-153.
5. Жилкин В.В. Концепция процесса инфосоциализации // Вестник ТГУ. Гуманитарные науки. Философия, социология и культурология. - Выпуск 1 (69). - 2009. С. 160-163.
6. Жужжалов В.Е. Совершенствование содержания обучения программированию на основе интеграции парадигм программирования: автореф. дис. ... доктора педаг. наук. - М.: Рос. акад. Образования, 2004. - 45 с.
7. Ковалев Д.С. Пользовательские интерфейсы при программировании и обучении программированию // Информационная среда образования и науки. Электронное периодическое издание. - 2012 . - №11. С. 21-25.
8. Чеботарёв С.С. Технологии проектного обучения и разработки видеоигр для подготовки студентов ИТ-направлений в условиях зарождения цифровой экономики // Современная высшая школа: инновационный аспект. - 2017. - Т. 9. - №3. С. 47-56.
9. Шухман А.Е., Морковина Э.Ф. Разработка структуры и содержания профессиональных компетенций 1Т-специалистов на основе профессиональных стандартов // Ученые записки ИИО РАО. - Вып. 25. - М., 2007. С. 113-119.
га
а о
ш
о 12 « ф >s о s
а. I
ф
*
о с;
го ч о
н ф
а с X _0
ф
^ 5
5 §■
Поступила 28.11.2017
I а ГО Im s
0 о а <и s ч
1 m ^
о о
а. ю
1= го
О &
1= го
m Q_
о «
Об авторе:
Чеботарёв Сергей Сергеевич, доцент кафедры математики и информатики, Частное образовательное учреждение высшего образования «Русско-Британский Институт Управления» (Россия, г. Челябинск), кандидат физико-математических наук, ведущий научный сотрудник, sergius2ch@yandex.ru
Для цитирования: Чеботарёв С.С. Актуальные аспекты подготовки студентов по программированию с применением метода проектов и ориентацией на стандарты WorldSkills в компетенции «Разработка видеоигр и мультимедийных приложений» // Современная высшая школа: инновационный аспект. - 2017. - Т. 9. - № 4. С. 122-132. DOI: 10.7442/2071-9620-2017-9-4-122-132
ф
5
* I
е I
О ш
ЧТ (Л
о = i=
S 1
ф .о
0
го ф
.0
1 .0
го
References:
1. TIOBE Index for November 2017. November Headline: What happened to the scripting languages? // TIOBE software BV. Available at: https://tiobe.com/tiobe-index/ [in Russian]
2. Balashova N. In. Implementation of practice-based learning through the use of methods of active learning in the classroom special subjects. New information technologies in education: proceedings of the VI Intern. scientific.- pract. Conf. Ekaterinburg, 12-15 March 2013. - Ekaterinburg: FGAOU VPO RGPPU, 2013. - P. 19-24. [in Russian]
3. Voronin A.A., Vasylchenko A.A., Zenovich, A.V., Solodkov A.S., Stellmakh, T.V., Ma-syukova O.N. The analysis of the content of University education it professionals on the basis of Federal state educational standards from the standpoint of professional it standards // Vestnik VolGU. - Series 6. - Vol. 14. - 2013. P. 50-61. [in Russian]
4. Zharyi S.V. features of the preparation of students in the field of information technology in non-profile Universit //. Chelovek i obrazovanie. - 2009. - №3 (20). P. 149-153. [in Russian]
5. Zhylkin V.V. The Concept of the process of infolocalization // Vestnik TSU. Humanities. Philosophy, Sociology and Cultural Studies. - Issue 1 (69). - 2009. P. 160-163.
6. Zhuzhzhalov V.E. Improving the content of teaching programming based on the integration of programming paradigms: Author's transcript. Dis. ... Dr. Sci. (Education). - M.: Rus. Acad. Education, 2004. - 45 p. [in Russian]
7. Kovalev D.S. User interfaces when programming and teaching programming // Informatsionnaia sreda obrazovanai i nauki. Electronic periodical. - 2012 . - No.11. P. 2125. [in Russian]
8. Chebotarev S.S. Technology project-based learning and development video game for training of students and other it areas in terms of the origin of the digital economy // Contemporary Higher School: Innovative Aspects. - 2017. - V. 9. - No.3. P. 47-56. [in Russian]
9. Shukhman A.E., Morkovina E.F. Development of the structure and content of professional competencies of IT specialists on the basis of professional standards // Uchenyie zapiski IIO RAO. Vol. 25. - M., 2007. - P. 113-119. [in Russian]
About the author:
Chebotaryov Sergey Sergeevich, Associate professor, Department of Mathematics and Computer Science, Russian-British Institute of Management (Chelyabinsk, Russia), Candidate of Sciences (Physics and Mathematics), sergius2ch@yandex.ru
For citation: Chebotaryov S.S. Relevant aspects of the training of students in programming using the technology of project-based learning and the orientation towards WorldSkills standards in the competence «Development of videogames and multimedia applications» // Contemporary Higher Education: Innovative Aspects. - 2017. - Vol. 9. - No. 4. P. 122-132. DOI: 10.7442/2071-9620-2017-9-4-122-132
m
:<u a ro
I—
о Ю <u IT
О О