Сегодня компьютерная грамотность стала важным навыком для школьников. Тем не менее, программирование по-прежнему сложно освоить, поскольку оно включает в себя концепции и процедуры, которые являются абстрактными.

При изучении программирования учащиеся «должны представить… множество абстрактных терминов, не имеющих эквивалентов в реальной жизни». >Например, учащимся может быть трудно понять, как «переменная, тип данных или адрес памяти связаны с реальным объектом». [2]

А процедуры в вычислениях часто представляются как абстракция (например, цикл). То есть шаги в процедурах не показаны. Это затемняет и делает процедуры абстрактнымидля новичков.

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

Кодирующая полоса

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

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

Но поскольку это новая идея, мы не знаем, как ее разработать и как ее можно использовать для поддержки обучения и изучения концепций программирования. Таким образом, мы провели исследование, чтобы ответить на эти два вопроса.

Мы разработали процесс и инструменты проектирования, а затем провели два семинара по дизайну, один со студентами, а другой с учителями, чтобы (1) проверить, эффективны ли наши процессы и инструменты проектирования в поддержке дизайна кодирующей полосы и (2) в каким образом студенты и преподаватели хотели бы использовать его для обучения и преподавания.

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

Процесс разработки

Мы обнаружили, что проектирование полосы кодирования включает в себя три высокоуровневых этапа:

формулирование концепции –› развитие сюжета –› комическая иллюстрация

При формулировании концепции нам нужно провести мозговой штурм, какие идеи (или аспекты концепции) мы можем обсудить для данной концепции. Например, если заданным понятием является цикл, мы можем говорить о том, для чего оно используется: «цикл используется для повторения чего-либо. пока выполняется определенное условие».

Затем мы придумываем историю, иллюстрирующую эту конкретную идею (развитие истории); история может быть такой: «Генри ел хлопья Capt’n Cruch каждый день в течение 100 дней в качестве испытания».

На заключительном этапе (иллюстрация в виде комикса) вы набрасываете историю в виде комикса.

Инструменты дизайна: Триггер/Сценарий/Дизайн-карты и Дизайн-доска

Каждый этап требует от нас мозгового штурма идей, связанных с концепцией (формулировка концепции), историей (развитие истории) и дизайном комикса (комическая иллюстрация). Поэтому мы разработали карточки с идеями для поддержки задач по формированию идей на каждом этапе: 16 карточек-триггеров для формулирования концепции, 19 карточек-сценариев для развития сюжета и 30 карточек дизайна. strong> для комической иллюстрации. Некоторые из них представлены ниже — полный список карт и его печатную версию можно найти на нашем сайте с кодировкой.

Мы также разработали доску для проектирования, чтобы поддерживать этапы проектирования.

Простота процесса проектирования

После того, как участники участвовали в нашем процессе проектирования, они заявили, что наш процесс проектирования и инструменты полезны и что процесс проектирования полосы кодирования очень увлекательный — один из участников-учителей даже предложил использовать его как учебную деятельность (например, как часть учебной деятельности в условиях вертикального класса).

Также, к нашему удивлению, участники в большинстве случаев смогли сами проиллюстрировать комиксы. (Мы наняли по 2 художника на каждый мастер-класс на тот случай, если участникам понадобится помощь с иллюстрацией комикса, но на самом деле они не нужны). Это может быть отчасти потому, что мы предоставили им карточки с дизайном, а также потому, что участники участвовали в нескольких итерациях рисования комиксов с помощью простых фигурок (как часть разминки) перед началом процесса дизайна. В любом случае, это было приятное открытие, потому что это означало, что наш процесс проектирования и инструменты могут помочь практически любому в разработке кодирующих полос.

Шаблоны проектирования для кодирующих полос

Анализ сгенерированных полос кодирования показал, что в полосах кодирования может быть 3 шаблона сопоставления панели с исполнением.

Что это за шаблоны? Шаблон1-to-1 означает, что панель 1 сопоставляется с этапом выполнения 1, 1-to-many панель 1 на многие шаги и панели многие-к-1многие на а один шаг выполнения.

Что мы можем сделать с этими шаблонами? Основываясь на нашей цели, он может информировать о том, как нам следует проектировать кодирующие полоски. Как правило, сопоставление 1-к-1 может подойти, если вы хотите пошагово описать действие, чтобы помочь учащимся понять процедуру 1-to. - многиесопоставления могут быть полезны, когда вы хотите помочь учащимся лучше усвоить концепции высокого уровня, создавая осмысленные, понятные абстракции для шагов выполнения (обратите внимание, как 3 панели иллюстрируют только начало, середину, и последний шаг цикла вместо выделения каждого шага в приведенном выше примере 1-to-many). Наконец, сопоставление многие-к-1 может быть правильным решением, если вы хотите выделить определенные свойства концепции, используя несколько панелей на одном этапе выполнения.

Использование кодирующих полос

Студенты и преподаватели предложили несколько сценариев использования, включая, помимо прочего:

  • Использование проектной деятельности, чтобы побудить учащихся спланировать дизайн программы, прежде чем приступить к письменной работе.
  • Использование кодирующих полосок для представления понятий/кода
  • Включение их в качестве дополнительного ресурса в учебники («для объяснения абстрактных структур данных и алгоритмов, [которые] трудно визуализировать с помощью кода»)
  • Использование их для оценки обучения учащихся (например, путем проверки того, могут ли они угадать/написать алгоритм и код, лежащие в основе кодирующих полосок)

Следующие шаги

Есть так много интересных вещей, которые можно сделать, чтобы развить эту работу, например, разработать инструмент для разработки, облегчающий создание полосок для кодирования. Кроме того, я уверен, что этот процесс проектирования и инструменты (после некоторых настроек) можно использовать для разработки комиксов для концепций в других областях (например, машинное обучение, наука о данных и т. д.). Я уже начал работать над ними и не могу дождаться, чтобы поделиться работой, как только закончу!

Чтобы узнать больше о работе, пожалуйста, найдите статью здесь.

Подтверждение

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

Ссылки

[1] С. Сух, М. Ли, Г. Ся и Э. Лоу, «Coding Strip: педагогический инструмент для обучения и изучения концепций программирования с помощью комиксов»

[2] Л. М. Жирафа, М. К. Мораес и Л. Уден, «Обучение объектно-ориентированному программированию на курсах бакалавриата первого года обучения с использованием виртуальных классов»

[3] С. Су, «Содействие осмысленному обучению путем поддержки взаимодействия в рамках лестницы абстракции»