Ускорение работы с блочным кодированием

Итак, для тех, кто убежден в преимуществах, как начать работу с блочным кодированием?

Если вы еще этого не сделали, ознакомьтесь с моим Введением в блочное кодирование.

Доступно несколько вариантов кодирования на основе блоков, и выбор будет зависеть от заинтересованных лиц: их возраста, их предыдущего опыта, того, какая структура им будет полезна, и их целей. Двумя наиболее хорошо зарекомендовавшими себя вариантами являются Scratch и Code.org.

Что такое Scratch?

Scratch — это ответ MIT Media Lab на блочное кодирование. Ди-джеи «скретчат», когда они объединяют записи для создания различных звуковых эффектов и музыки, и аналогичным образом пользователи Scratch смешивают медиафайлы, такие как графика или звуки, для создания и создания ремиксов таких проектов, как видеоигры и анимация. Пользовательский интерфейс разделен на «сцену» (где происходят эффекты кода), «палитру блоков» (показывающую доступные параметры блоков для перетаскивания) и «область кодирования» (в которую помещаются блоки для создания код). Щелчок по самому коду или зеленый флажок запускает программу. Программы в основном сосредотачиваются на «спрайтах», которые можно выбрать из библиотеки, нарисовать или создать на основе загруженного изображения. Блоки команд применяются к каждому спрайту путем перетаскивания блоков в его область кодирования. Например, чтобы создать эффекты и изменить внешний вид спрайта, перейдите на вкладку «Костюмы» палитры блоков, а чтобы прикрепить к спрайту музыку, перейдите на вкладку «Звуки».

Scratch с самого начала представляет все варианты блоков кодирования и очень быстро приступает к работе. Я использовал его при знакомстве с разработкой программного обеспечения для людей с другим опытом в качестве практического занятия, чтобы начать ценить то, как вы должны думать, чтобы начать программировать, и в таких ситуациях это было хорошо воспринято. Просто выбрав имя пользователя и зарегистрировавшись с помощью электронной почты, вы можете сразу начать перетаскивание. При первом использовании пользователям доступны все блоки, поэтому их основным ограничением является их собственное творчество. По этой причине я бы рекомендовал Scratch тем, кто хочет взяться за дело и изучить возможности. Это дает волю творчеству, но в Интернете также есть много идей для тех, кто борется за вдохновение. Популярные идеи включают воссоздание популярных игр, таких как кошки-мышки или пинг-понг, написание собственных историй и проведение викторин.

Подводя итог, я бы рекомендовал использовать Scratch для:

  • Дать кому-то первый опыт программирования
  • Вдохновение группы или отдельного человека
  • Развитие творчества в кодировании
  • Запуск ограниченного по времени действия
  • Побуждать детей идти как можно дальше

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

С чем сравнить Code.org?

Code.org предоставляет больше, чем просто блочную среду кодирования. Он предлагает несколько структурированных курсов, которые помогают учащимся накапливать знания. Для этого обсуждения мы будем использовать Третий курс в качестве примера. Учащийся начинает с более простых задач, и по мере продвижения они усложняются. Курсы разбиты на главы, каждая из которых состоит из дюжины или около того уроков. Темы задач непрерывны на протяжении всей главы, например, перемещение по лабиринту, сбор меда с цветов и приготовление меда, и в каждом уроке обычно есть одна задача. Есть также обучающие видеоролики, объясняющие или знакомящие с ключевыми понятиями, которые дают известные технические деятели и дети, обеспечивая баланс между вдохновляющими ораторами и родственными голосами. Объяснения четкие и краткие, включая аналогии с повседневными понятиями. Эта четкая структура означает, что учащиеся открывают блоки один за другим, получая полное представление о возможностях каждого из них, прежде чем двигаться дальше.

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

Проводя группу через Третий курс Code.org в рамках нашего базового курса в Code Your Future, мы добились больших успехов в поощрении независимого обучения, начав работать в парах для совместного решения задач (как путем объединения учащихся, так и объединения со старшими разработчиками). ), живые примеры кодирования для группы и проведение сеансов поддержки по возникающим вопросам.

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

Я бы порекомендовал Code.org для:

  • Человек, желающий начать работу с блочным кодированием без существующей сети поддержки — Code.org предоставляет достаточно инструкций для самостоятельного обучения.
  • Или структурирование группового обучения на этапе введения в программирование.

Дальше, каковы ограничения блочного кодирования?

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