ИСПОЛЬЗОВАНИЕ ТЕХНОЛОГИИ WORKED EXAMPLES ПРИ ПРОПЕДЕВТИКЕ ОБЪЕКТНО-ОРИЕНТИРОВАННОГО ПРОГРАММИРОВАНИЯ

Статья опубликована в рамках: Международной научно-практической интернет-конференции «Актуальные проблемы методики обучения информатике и математике в современной школе» (Россия, г.Москва, МПГУ, 22 — 26 апреля 2019г.)

ИСПОЛЬЗОВАНИЕ ТЕХНОЛОГИИ WORKED EXAMPLES ПРИ ПРОПЕДЕВТИКЕ ОБЪЕКТНО-ОРИЕНТИРОВАННОГО ПРОГРАММИРОВАНИЯ

Бутарев Кирилл Викторович,
студент,
Московский педагогический
государственный университет

Аннотация: В статье рассматривается использование готовых и неготовых примеров в процессе обучения; приводятся результаты иностранных исследований, посвященных изучению влияния примеров и задач на развитие когнитивных способностей учащихся; рассказывается про опыт разработки пропедевтического курса, посвященного изучению основ объектно-ориентированного программирования учащимися 5-6 классов, с использованием примеров; демонстрируется использование примеров в контексте рассматриваемого курса.

Ключевые слова: Worked Examples, Incomplete Examples, Example-Problem Pairs, объектно-ориентированное программирование, Greenfoot, обучение, пропедевтика, информатика.

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

Использование примеров решения задач в процессе обучения подразумевает под собой умение решать задачи, полученное через использование описанных примеров. По мнению ряда специалистов оно может быть более эффективным, чем умение решать задачи, полученное в результате традиционного обучения [5]. Отмечается также, что совмещение традиционной технологии обучения с использованием технологии обучения на готовых примерах может стать основой для повышения успешности обучающихся, что подтверждается работами Renkl A., Atkinson R. K. и Maier U. H. [3]. Эти специалисты описывают два способа совмещения обучения на примерах и решения задач:

  1. предоставляемый пример для разбора не подразумевает под собой полного решения, то есть, нуждается в доработке учащимися (Incomplete Examples);
  2. разобранный пример сопровождается альтернативной задачей, которую необходимо решить учащимся (Example-Problem Pairs).

Оба описанных способа хорошо зарекомендовали себя в современной педагогике. Так исследование Stark R., посвященное изучению влияния Incomplete Examples [4], показало, что данный способ помогает процессу обучения за счет получения и развития когнитивных навыков обучающихся. Про способ Example-Problem Pairs было сказано, что это «самый эффективный способ предоставить материал, предназначенный для приобретения навыка» [6].

При этом, чаще всего при демонстрации примера решения задачи используют инструкции, которые описывают совершение необходимых для решения задачи действий (Worked Examples). Подобная технология подразумевает под собой следующий состав: постановка задачи, описание шагов решения задачи и само решение. Данный подход к подаче материала позволяет развить первичные умения, необходимые при решении задач и способствует «когнитивной гибкости» при демонстрации большого количества аналогичных примеров с разными способами решения задач [1], особенно в хорошо структурированных областях, таких как математика, физика и программирование [7].

Данные способы давно укоренились в отечественной и зарубежной практике. Так, при рассматрении современных учебников и самоучителей по программированию, часто встречаются словосочетания «на примерах» или «на примерах и задачах»; если иллюстрировать – «Microsoft Visual C# в задачах и примерах» [16], «C++. Освой на примерах» [14], «PHP в примерах» [19], «Python на примерах. Практический курс по программированию» [12], «Программирование на JavaScript в примерах и задачах» [13] и т. д. В описанных выше изданиях есть примеры кода на языках программирования с подробными комментариями и заданиями, связанными с изменением представленного кода или написанием своего, порой по инструкции. Как мы видим, использование метода обучения, основанного на разборе примеров, довольно популярно в процессе обучения программированию. Между тем школьные учебники в настоящее время используют традиционную модель обучения, не обращаясь к работе с готовыми примерами.

В 2017-2018 учебном году группой в составе Павлова Д. И. и Бутарева К. В. под научным руководством Горячева А. В. была проведена апробация базового курса обучения основам ООП в среде Greenfoot, созданного разработчиками Greenfoot [2], в 5-6 классах [10].

По результатам апробации были определены следующие направления работы [17]:

  • «экспериментальная апробация адаптированных и авторских разработок в области обучения основам ООП в 5-6 классах;
  • подготовка авторских, русскоязычных проектов по освоению основ ООП на базе Greenfoot для 5-6 классов;
  • подготовка учебной программы, методических материалов и учебных пособий по реализации программы освоения основ ООП в 5-6 классах, с использованием технологии геймификации, на базе Greenfoot».

Любая методика должна отвечать на вопрос «Как учить?», то есть, иметь набор форм, методов и средств обучения. Тогда, рассматривая вопрос «Как учить объектно-ориентированному программированию (ООП) учащихся 5-6 классов?», стоит сказать, что форма обучения (внеурочная) и средства обучения (GREENFOOT, Java), а также частично – методы обучения (геймификация), были обоснованы и описаны ранее [11, 18].

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

Разрабатываемый курс нацелен на ознакомление учащихся с идеями ООП. На настоящий момент созданы два учебных модуля, нацеленных на знакомство со средой программирования Greenfoot, языком программирования Java и основными понятиями ООП. Каждый модуль состоит из восьми занятий. При чем первые 6 занятий в обоих модулях имеют безкомпьютерные и компьютерные задания. Для выполнения компьютерных заданий учащимся предоставляется код частично написанной компьютерной программы, который учащиеся должны завершить самостоятельно (Incomplete Example). Система заданий так же содержит описание решения какой-либо проблемы (Worked Examples) и ряд аналогичных проблем, решение которых может немного отличаться от примера (Example-Problem Pairs). Решение данных задач и будет завершать написание кода программы учащимся.

Например, занятие три из первого модуля. Учащийся открывает код программы – компьютерной игры, в которой главный персонаж Бегун (Бегун может быть мышью, енотом или хомяком) перемещается по игровому пространству и ест Еду (сыр, хлеб или орех). В коде программы имеется блок с описанными константами – скорость Бегуна, вид Бегуна, количество Еды в игровом пространстве, вид Еды и т. д. Все константы в коде имеют подробные комментарии, чтобы учащиеся не могли запутаться. Так, учащимся демонстрируется, как с помощью изменения значения специальной переменной изменить управление Бегуна (Стрелки на клавиатуре –> клавиши WASD), после чего идёт система заданий, связанная изменением других констант.

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

Реализация первых шести занятий и седьмого в совокупности является более ярким примером использования Example-Problem Pairs. Седьмое занятие является диагностическим и проверяет наличие умений, формируемых на протяжении первых шести занятий. Учащимся предоставляется код новой программы и задания, аналогичные уже выполненным.

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

Таким образом видно, что авторы используют разные способы организации метода, основанного на использовании примеров и задач в совокупности – Incomplete Examples и Example-Problem Pairs и технологию Worked Examples.

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

ЛИТЕРАТУРА:
  1. Atkinson R. K. Derry S. J., Renkl A., Wortham D., Learning from Examples: Instructional Principles [Конференция] // Review of Educational Research. — 2000.
  2. Kölling M. Introduction to Programming with Greenfoot. Object-Oriented Programming in Java with Games and Simulations [Книга]. — [б.м.] : Pearson, 2010.
  3. Renkl A. Atkinson R. K., Maier U. H., From Studying Examples to Solving Problems: Fading Worked-Out Solution Steps Helps Learning [Конференция] // Proceedings of the 22 nd Annual Conference of the Cognitive Science Society. — 2000.
  4. Stark R. Lernen mit Lösungsbeispielen: Einfluss unvollständiger Lösungsbeispiele auf Beispielelaboration, Lernerfolg und Motivation [Статья] // Verlag für Psychologie. — [б.м.] : Hogrefe, 1999 г..
  5. Sweller J. van Merriënboer J. J. G., Paas F. G., Cognitive architecture and instructional design [Конференция] // Educational Psychology Review. — 1998.
  6. Trafton J. G. Reiser B. J., The contributions of studying examples and solving problems to skill acquisition [Конференция] // Proceedings of the Fifteenth Annual Conference of the Cognitive Science Society. — Hillsdale : Erlbaum, 1993.
  7. VanLehn K. Cognitive skill acquisition [Конференция] // Annual Review of Psychology. — 1996.
  8. Босова Л. Л. Как учат программированию в XXI веке: отечественный и зарубежный опыт обучения программированию в школе [Статья] // Информатика в школе. — 2018 г.. — 6.
  9. Босова Л. Л. Каплан А. В., Международная конференция по школьной информатике ISSEP 2018 [Статья] // Информатика в школе. — 2018 г.. — 9.
  10. Бутарев К. В. Greenfoot как инструмент обучения программированию с элементами объектно-ориентированного подхода [Конференция] // Актуальные проблемы методики обучения ин-форматике в современной школе – материалы международной научно практической конференции 24-26 апреля 2018 год. — Москва : МПГУ, 2018.
  11. Бутарев К. В. ГЕЙМИФИКАЦИЯ КАК МЕТОД ОБУЧЕНИЯ ОСНОВАМ ОБЪЕКТНО-ОРИЕНТИРОВАННОГО ПРОГРАММИРОВАНИЯ В ОСНОВНОЙ ШКОЛЕ [Конференция] // Информатизация непрерывного образования – 2018 . — Москва : РУДН, 2018.
  12. Васильев А. Н. Python на примерах. Практический курс по программированию [Книга]. — Санк-Петербург : Наука и Техника, 2016.
  13. Васильев А. Н. Программирование на JavaScript в примерах и задачах [Книга]. — Москва : Издательство «Э», 2017.
  14. Динман М. И. C++. Освой на примерах [Книга]. — Санкт-Петербург : БХВ-Петербург, 2006.
  15. Каплан А. В. Применение технологии геймификации в проведевтике программирования в начальной школе [Статья] // Информатика в школе. — 2018 г.. — 6.
  16. Культин Н. Б. Microsoft Visual C# в задачах и примерах [Книга]. — Санк-Петербург : БХВ-Петербург, 2009.
  17. Павлов Д. И. Бутарев К. В., Балашова Е. В., О ПЕРСПЕКТИВАХ ИСПОЛЬЗОВАНИЯ ТЕХНОЛОГИЙ ГЕЙМИФИКАЦИИ ПРИ РАННЕМ ОБУЧЕНИИ ОБЪЕКТНО-ОРИЕНТИРОВАННОМУ ПРОГРАММИРОВАНИЮ [Статья] // Международный научный журнал «Современные информационные технологии и ИТ-образование». — Москва : [б.н.], 2018 г..
  18. Павлов Д. И. Бутарев К. В., Пропедевтика объектно-ориентированного программирования с использованием среды GREENFOOT. Опыт разработки [Конференция] // Актуальные проблемы обучения математике и информатике в школе и вузе: материалы IV Международной научной конференции в двух томах. Т. 1. ФГБОУ ВО «Московский педагогический государсветнный университет» (МПГУ), 4-5 декабря. — Калуга : АКФ «Политоп», 2018.
  19. Хольцнер Стивен PHP в примерах [Книга]. — Москва : БИНОМ, 2007.
Подписаться
Уведомить о
guest
5 комментариев
oldest
newest
Inline Feedbacks
View all comments
Дмитрий Павлов
Дмитрий Павлов
4 лет назад

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

Кирилл Бутарев
Кирилл Бутарев
Reply to  Дмитрий Павлов
4 лет назад

Доброго времени суток, уважаемый Дмитрий Игоревич! Спасибо за вопрос! Можно утверждать, что занятие, направленное на диагностику полученных умений, прошло успешно с точки зрения результатов, которые показали ученики: в отведенное время занятия все задания выполнили большинство учащихся. В рамках разрабатываемого курса уделяется достаточно внимания синтаксису языка программирования Java, но все же, акцент делается на более общих понятиях самой объектно-ориентированной парадигмы программирования, в чем помогает сама среда разработки Greenfoot, например: необязательно писать код, чтобы создать объект. В теоретических частях многих занятий объясняются некоторые конструкции языка, с которыми учащиеся непосредственно не будут иметь дело (редактировать или репродуцировать), — это делается для того, чтобы… Read more »

Людмила Босова
Людмила Босова
4 лет назад

Уважаемый Кирилл Викторович!
Спасибо за интересный материал. По Вашему мнению, что может быть альтернативой используемым Вами в 5-6 классах Greenfoot и Java?

Кирилл Бутарев
Кирилл Бутарев
Reply to  Людмила Босова
4 лет назад

Доброго времени суток, уважаемая Людмила Леонидовна! Спасибо за вопрос! Говоря про язык, стоит отталкиваться от того, что в рамках нашего курса в самом начале учащиеся скорее редактируют существующий код, чем с нуля его создают, а подобный подход можно реализовать на любом языке программирования, который поддерживает объектно-ориентированную парадигму. И выбор языка программирования Java скорее обусловлен выбором среды разработки Greenfoot, у которой есть большое количество плюсов: написанные специализированные библиотеки с документацией внутри самой среды; ориентация на создание программ-игр; возможность использовать элементы визуального программирования, что по началу обучения может создать более комфортные условия для обучающегося, минимальное количество кнопок в интерфейсе, что позволяет учащемуся… Read more »

Александр
Александр
Reply to  Кирилл Бутарев
3 лет назад

А можно ли скачать код программ Бегуна и мыши?