Парное программирование. Как использовать на занятиях?
Роли учащихся
Из названия методики следует, что над задачей работают два учащихся за одним компьютером. Недостаточно посадить двух человек за один компьютер и ожидать, что они самостоятельно решат, что им нужно делать. Заранее нужно объяснить учащимся, как взаимодействовать между собой и какая роль у каждого человека в паре.
Роль водителя - управлять мышью и клавиатурой. Водитель отвечать за набор кода программы. Учащийся концертирует внимание на качестве и точности набора кода и снимает часть умственной нагрузки с штурмана.
Роль штурмана - направлять действия водителя, следить за корректностью выполняемых за компьютером действий. Также штурману необходимо обдумывать альтернативные алгоритмы решения и читать учебные материалы, которые предоставил преподаватель, чтобы понять, как быть с возникающими трудностями. Умственная нагрузка выше, но внешняя когнитивная нагрузка уменьшается для обоих человек.
Учащиеся должны меняться ролями, примерно раз в 10 минут.
Так как над программой работают два человека, то и ошибки заметить в два раза проще. В коде их становится меньше, появляются интересные решения. В публикациях говорится, что больше всего пользы парное программирование приносит учащимся, которые пока не уверены в своих знаниях и навыках.
Распределение по парам
Разбивать на пары учащихся необходимо преподавателю, так как он должен знать, какие ученики общаются друг с другом. Стоит обратить внимание на следующие факторы:
- личностные качества и социальные навыки; ученикам должно быть комфортно работать в паре, иначе все положительные эффекты пропадают из-за плохой коммуникации.
- текущий уровень знаний и навыков; в паре должен быть человек с высокой и средней или низкой успеваемостью; другие комбинации - оба ученика с высокой успеваемостью, или оба с низкой не будут так эффективны.
Оценивание
Оценивать необходимо как парную так и индивидуальную работу учащихся. Не рекомендуется итоговую оценку основывать только на групповой работе. Нужно сразу сказать ученикам, что вес индивидуальной оценки больше чем за их совместные проекты.
Ещё немного о когнитивной нагрузке
О теории когнитивной нагрузки я уже писал в этом посте. В записи рассказывается о том, почему проработанные и затухающие примеры снижают когнитивную нагрузку.
Полезность парного программирования объясняется одним из эффектов, который описан в теории когнитивной нагрузки - эффект коллективной рабочей памяти. За основу для описания эффектов беру следующий источник.
Эффект коллективной рабочей памяти
Суть: элементы задачи распределяются между рабочей памятью тех, кто её решает.
Рекомендации:
- использовать парное программирование, что бы нагрузка на кратковременную память каждого из учеников стала меньше;
- если общение в паре не наладится, польза от эффекта не проявится.
Эффект разделения внимания
Суть: учащимся приходится комбинировать информацию из разных источников, что увеличивает когнитивную нагрузку.
Рекомендации:
- связанная между собой информация не должна располагаться далеко друг от друга; если учащийся видит график или диаграмму, то короткие пояснения к ним нужно разместить рядом или на самом рисунке, а не на другой странице;
- в тексте программ нужно оставлять комментарии, которые разделяют решение на осмысленные блоки, например - ввод, вычисления, вывод. Комментариями нужно обозначить промежуточные задачи.
Эффект избыточности
Суть: учащийся тратит время и умственные усилия на то. чтобы отфильтровать избыточную и повторяющуюся информацию.
Рекомендации:
- избегать лишней информации на диаграммах, слайдах и рисунках при объяснении материала;
- использовать понятный и доступный язык;
- сокращать количество шаблонного кода в задачах по программированию.
Эффект переходной информации
Суть: если объяснение только устное или происходит с помощью видео, презентации или аудио, то такую информацию учащемуся придётся держать в рабочей памяти.
Рекомендации:
- дать учащемуся шпаргалку (cheatsheet)1 с коротким содержанием изучаемой темы;
- составить самостоятельно или с учащимися концепт-карту, которая будет каркасом для новых знаний.
Эффект модальности
Суть: визуальная и вербальная информация обрабатываются отдельно.
Рекомендации:
- комбинировать статичные изображения, анимацию и устное объяснение;
- во время моделирования процесса или живого программирования нужно озвучивать ход своих мыслей, чтобы сделать его наглядным для учащихся.
Этот пост - своеобразный конспект прочитанного. Думаю со временем получится опробовать методику самому, чтобы понять какие трудности возникают и как их устранять. Учитывая сколько есть публикаций о парном программировании в школе, можно посоветовать эту технику и студентам, которые пойдут на педагогическую практику.