Целью данной статьи является рассмотрение подхода к отбору содержания при обучении алгоритмизации и программированию учащихся основной школы на основе создания компьютерных игр в рамках дополнительного образования. Опыт обучения алгоритмизации и программированию в рамках дополнительного образования показывает, что учащиеся проявляют интерес к изучению этого раздела информатики даже за рамками школьной программы [1]. Они готовы к более глубокому погружению в предмет. Стандартный курс информатики зачастую охватывает лишь основы работы с компьютером, базовые алгоритмы и программирование на начальном уровне, тогда как некоторые дети стремятся изучать сложные языки программирования и разрабатывать собственные проекты.
Использование компьютерных игр в обучении алгоритмизации и программированию обладает рядом преимуществ [2]:
·Высокая мотивация – разработка игр делает процесс обучения более увлекательным, повышая интерес учащихся к программированию.
- Практическая направленность – разработка игр требует применения алгоритмических концепций на практике, что способствует лучшему усвоению материала.
- Развитие креативности – создание игровых механик и визуальных элементов стимулирует творческое мышление.
- Постепенное усложнение – игровые проекты позволяют адаптировать уровень сложности к подготовке учащегося, обеспечивая дифференцированный подход, важный в условиях смешанных групп дополнительного образования.
- Формирование предметных навыков – работа над играми развивает логическое мышление, умение работать с кодом, анализировать и исправлять ошибки.
Игра как учебная задача – это прием, при котором процесс разработки игры используется в образовательных целях для формирования и закрепления знаний, умений и навыков учащихся. В контексте обучения информатике и программированию игровая задача представляет собой структурированную проблему, решение которой требует применения алгоритмических, логических и творческих методов.
Игры можно разделить на два основных класса – обучающие и проектные. Главная цель обучающих игр – освоение нового материала и закрепление старых понятий. Главная цель проектных игр – синтез учеником новых идей и реализация творческих способностей. Таким образом если обучение программированию строится на разработке игр, то успех освоения базовых понятий будет зависеть от выбранного содержания обучающих игр-задач.
Рассмотрим основные этапы разработки игры и соответствующие им навыки, которые формируются в процессе [3]:
- Анализ и разбор аналогичной игры – изучение структуры заданного преподавателем игрового проекта, выделение и классификация объектов и событий. На этом этапе развивается аналитическое мышление.
- Создание концепции и сюжета собственной игры – формирование игровой идеи, разработка сценария, что способствует развитию креативности и воображения.
- Создание игровых объектов – работа в графических редакторах для разработки визуальных элементов игры, что развивает творческие способности и навыки самовыражения.
- Программирование сценариев движения объектов – проектирование логики передвижения игровых элементов, что способствует пониманию алгоритмизации и освоению математического аппарата.
- Обработка игровых событий – программирование реакций на действия игрока и изменения в игровом процессе, что закрепляет конструкции используемого языка программирования и углубляет понимание программных проектов.
- Проектирование дополнительных уровней – разработка новых игровых пространств и механик, что стимулирует абстрактное мышление и творческое самовыражение.
Не все вышеперечисленные этапы необходимы для создания обучающих игр, так как зачастую они проще, чем проектные. Также некоторые этапы могут быть пропущены для облегчения задачи и дифференциации сложности разработки игры.
При создании игр используется множество понятий из школьного курса информатики и выходящих за его пределы. Обучающие игры можно разделить по изучаемым при их разработке понятиям.
Таблица 1. Классификация игр
Категория игр | Примеры игр | Понятия школьного курса информатики | Понятия, выходящие за пределы школьного курса |
Игры с ветвлением | Камень, ножницы, бумага | Переменная, Условие, Ветвление, Ввод, Вывод | Логические операции |
Циклические игры | Угадай число, Текстовый квест | Цикл, Вложенный цикл | Случайные числа |
Игры со словарями | Виселица, Города | Процедура, Массив, Строка, Файл | Чтение файлов, Словарь |
Игры с графическим интерфейсом | Кликер, Шахматы [4] | Пиксель, Координаты, Управление с ожиданием | Класс, Окно, Виджет, Событие |
Игры с персонажем | Арканоид | Анимация, Управление по требованию | Столкновение |
Отдельно стоит рассмотреть тему оценивания игр. Поскольку, в отличии от обычных программ, у игр нет правильности ответа или точности выполнения алгоритма в критериях оценивания важно учитывать все аспекты разработки. Критерии оценивания игр в рамках курса программирования дополнительного образования могут включать следующие аспекты:
- Точность реализации алгоритма – многие игры в своей основе предполагают выполнение конкретных элементов программирования (циклы, условия, функции, массивы и др.).
- Работоспособность и стабильность – корректность работы игры, отсутствие критических ошибок.
- Игровая механика – реализация ключевых игровых процессов (управление персонажем, взаимодействие с игроком, обработка событий).
- Качество кода – читаемость, структурированность и соблюдение принципов хорошего программирования.
- Графика и интерфейс – уровень визуального оформления, удобство управления, понятность интерфейса.
- Оригинальность и креативность – степень уникальности идеи, новизна игровых механик, творческий подход.
- Самостоятельность выполнения – уровень участия учащегося в разработке, степень использования готовых решений.
- Презентация и объяснение кода – умение объяснить свою работу, данный пункт используется только для проектов с презентацией.
Эти критерии позволяют комплексно оценивать как технические, так и творческие аспекты игровых проектов, помогая учащимся не только освоить программирование, но и развивать креативное и логическое мышление.
В качестве примера приведем разработку игры Space Defender в соответствии с приведенными выше этапами. На первом этапе необходимо проанализировать оригинальную игру и выявить главные игровые объекты – космический корабль и метеориты. Далее необходимо визуализировать игровые объекты – подобрать изображения, цвета и шрифты. Затем следует изучение новых концепций – движение метеоритов по изначально заданной траектории и движение игрока по нажатию клавиш. После объяснения ученикам необходимо реализовать программу для управления этими объектами. Самая сложная часть игры – взаимодействие между метеоритами и игроком. При их столкновении у игрока должны уменьшаться жизни. После изучения коллизии ученики дополняют программу необходимым кодом. В качестве дополнительных заданий для усложнения могут быть предложены игровые механики стрельбы, таймера и увеличения метеоритов с течением времени. Это позволит дифференцировать сложность игры для учащихся с разным уровнем успеваемости. Ниже представлен один из проектов, созданных учениками.