Программирование теперь входит в школьную программу в Англии и во многих других странах. Хотя это не обязательно является основной целью курса информатики, программирование может быть той областью, которую учителям сложнее всего преподавать. Появляется всё больше данных из исследований о том, как преподавать программирование, особенно из проектов с учащимися университетского уровня. Именно поэтому я недавно написал отчёт, суммирующий более 170 статей по педагогике программирования: Teaching programming in schools: A review of approaches and strategies.

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

Мой подход к суммированию исследований

Сжать выводы из более чем 170 научных статей в 34 страницы — задача не для слабонервных. Я не смог бы взяться за это без предыдущего опыта написания похожих, более небольших обзоров; участия во множестве исследовательских проектов; и подготовки отчётов о исследованиях для самых разных аудиторий.

Мне нравится читать о преподавании информатики. Это вызывает у меня сильные эмоции: то радость, то любопытство, то восхищение, то тревогу, иногда раздражение. Когда я суммирую работы других исследователей, я очень осторожен в выборе того, что включить, а что опустить, чтобы отдать должное труду авторов и в то же время не приукрашивать и не вводить в заблуждение читателей. Иногда статьи трудно понять: там много жаргона и статистики. В других статьях выводы имеют множество ограничений: проект, описанный в статье, не дал достаточно надёжных данных, чтобы сделать ясное, обобщаемое заключение. Академическая честность и недопущение искажения чужой работы имеют первостепенное значение. И, разумеется, статей о преподавании программирования гораздо больше, чем 170, но где‑то нужно было остановиться. Всё это делает суммирование исследований сложной задачей, к которой нужно подходить чрезвычайно аккуратно.

Ещё один важный аспект суммирования исследований — это вопрос группировки статей. Длинный список «эта статья сказала это», «та статья сказала то» был бы неудобен для восприятия и не выделял бы общие темы. Часто исследования охватывают сразу несколько тем. То, что может быть полезной группировкой для одного читателя, может быть неинтересно другому.

Для этого отчёта я сгруппировал статьи в три раздела:

  • Классные стратегии: сюда я включил хорошо изученные методы преподавания, которые учителя могут применять для обучения программированию в школах.
  • Контексты и среды для обучения программированию: здесь я изложил исследования, связанные с возможностями для преподавания программирования, включая разные языки программирования и контекст классной работы.
  • Поддержка обучающихся: здесь я суммировал исследования, помогающие учителям поддерживать учащихся, особенно тех, у кого возникают трудности с программированием.

Почему вам, как учителю, стоит читать обзоры исследований

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

Процесс трансляции исследований в практику — область, которую я и исследовательская команда особенно хотим изучать. Мы с нетерпением ждём работы с учителями, чтобы это исследовать.

Фонд Raspberry Pi регулярно публикует обзоры исследований в форме:

  • онлайн‑семинаров и их материалов;
  • кратких педагогических сводок через Национальный центр по обучению информатике;
  • статей в журнале Hello World и эпизодов подкаста.

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

Для чего предназначено образование в области информатики? Некоторые точки зрения

Как мы помогаем вам с методиками преподавания информатики

Первое специальное издание Hello World уже здесь!

Внедрение культурно‑отзывчивого обучения информатике в школах Англии

Code Club в Уэльсе с переводами, обучением учителей и общенациональным совместным кодированием

Распечатайте на 3D‑принтере собственный репликатор корпуса Astro Pi

Как человек, который активно занимался преподаванием программирования самой разной аудитории нетрадиционных учащихся, включая интенсивные курсы при моём собственном фонде, обучение кодированию молодёжи с ограниченными возможностями в Юго‑Восточной Азии, а также в США и Канаде; как человек, который в настоящее время участвует в разработке программы по созданию игр и развитию технических навыков в Камбодже — моей собственной инициативе и совместно с Ассоциацией ИТ этой страны; и как человек с десятилетиями опыта в роли ведущего разработчика и основателя нескольких технологических стартапов — я прочёл этот отчёт и могу лишь выразить недоумение по поводу его полной бесполезности.

Вы не задаёте те вопросы, которые нужно задавать, и принимаете худшие исходные предположения. Я хорошо знаком с тем, как проявляется тревога ИТ‑индустрии: она по‑прежнему находится в слабой переговорной позиции по отношению к программированию, форме «нечто недостижимого», что полностью ломает представление о несимметричном преимуществе корпораций над работниками, после десятилетий ожидания, что искусственно созданный избыток программистов восстановит желаемый баланс.

Эта тревога неизменно проявляется в умах и словах тех, чьё представление о профессионализации образования создаёт именно те методы и препятствия, которые мешают эффективному обучению коду. Соглашение о том, кто должен учиться программировать, что такое программирование и какова его сущность, суммировано в вашем утверждении о методах обучения: «вы используете множество педагогических приёмов, и их применение при обучении кодированию беспроблемно» (парафраз).

Нет, вы ошибаетесь. Это вовсе не беспроблемно, и то, что вы описываете, — только первый шаг для легионов, чьи навыки никогда не дадут им рыночного преимущества: в лучшем случае вы ориентируетесь на развитие навыков, которые нужны менеджерам программистов: поверхностного понимания, раздутого чувства компетентности и пренебрежения к тому, что делает программирование тем, чем оно является на текущем этапе технического развития. Это уже многократно пробовали, были и другие неэффективные попытки обобщить и снизить фундаментальную проблемность характера программирования аналогичными академически ограниченными авторами. Они потерпели неудачу, о чём свидетельствует сохраняющееся экономически особое положение программиста: его считают инженером, но ему не требуется сертификация; важна лишь способность исполнять и реализовывать абстракции крупных социальных, экономических и финансовых движений до того, как о них будет сказано в другом месте. Как любые переводы, ценность здесь в нюансах, а не в буквальности, а вы описываете мир кода без нюанса: иначе говоря, пустую трату ресурсов.

Большое спасибо за ваш ответ на наш блог об отчёте по педагогике программирования.

Как разработчик, проработавший в индустрии, в банках и других крупных учреждениях 20 лет, прежде чем стать учителем, а затем исследователем, я лично очень хорошо понимаю ваше разочарование по поводу того, как мы создаём поток эффективных разработчиков.

Приятно слышать, что вы так активно занимаетесь этой проблемой через своё преподавание.

Педагогический отчёт — это синтез исследований в области образования по информатике, и эта область всё ещё развивается.

Преподавать программирование трудно. Исследования в этой области дают некоторые идеи о том, как помочь преподавателям сделать это менее трудным. Но нам ещё предстало провести много исследований, и мы вкладываем много времени и усилий в поддержку этой работы в рамках нашего Центра исследований по обучению информатике при Raspberry Pi.

Спасибо за исследовательский отчёт, он показался мне очень полезным! В настоящее время я провожу исследование онлайн‑курсов по программированию, поэтому я наткнулся на ваш отчёт. Без сомнения, даже после завершения полного курса по программированию с высшими оценками человек не может сразу стать хорошим программистом в какой‑нибудь софтверной компании: требуется обучение на рабочем месте и много экранного времени, опыт накапливается постепенно.

Мне приходит на ум следующая цитата: «Твой единственный предел — твоя душа. Я говорю правду — любой может готовить… но только бесстрашные могут стать великими.» — Шеф Густо, «Рататуй».

Мы здесь, чтобы научить любого кодировать… но не каждый станет великим разработчиком.

Привет из Кейптауна, Южная Африка.

Пожалуйста, рада слышать, Нэнси! Здорово, что вы занимаетесь исследованиями в области образования по информатике!