Что такое unplugged и зачем оно нужно
Unplugged — это способ изучать идеи информатики без устройств: через движение, рисунок, карточки и настольные игры. Ребёнок учит не кнопки, а сам принцип — команды выполняются строго по порядку и буквально.
Программирование без компьютера не нужно путать с «подготовкой к настоящему»: это та же работа с алгоритмами, только исполнитель другой. Главная трудность для начинающего программиста — понять, что компьютер не догадывается, чего от него хотят. Он делает ровно то, что написано. На бумаге и карточках это осознаётся быстрее, чем на экране: если папа-«робот» по команде «иди вперёд» упирается в шкаф, это смешно и наглядно, а ошибка в программе очевидна каждому. Исправить её можно тут же, переложив карточку. Для этого не нужны ни планшет, ни интернет, ни умение читать — только лист бумаги в клетку и набор карточек.
Сеймур Пейперт, автор языка Logo, заметил, что дети лучше понимают черепашку на экране, когда представляют себя на её месте и проходят маршрут своим телом[1]. Наблюдение Пейперта легко перенести на занятия без экрана: программирование без компьютера использует этот приём напрямую: ребёнок сам становится черепашкой, роботом или исполнителем. Позже, когда появятся Scratch и Python, он будет мысленно «проходить» код так же, как проходил маршрут по ковру.
Почему это работает в 5–8 лет
В 5–8 лет ребёнок учится прежде всего в игре и через тело, поэтому карточки и движение подходят ему лучше, чем объяснение у экрана. Ведущая деятельность дошкольника — игра, и занятия без компьютера встраиваются в неё естественно.
Даниил Эльконин описал смену ведущей деятельности в детстве: у дошкольника это сюжетная игра, у младшего школьника — учебная деятельность[2]. Ребёнок 5–7 лет охотно играет в «робота», но быстро устаёт от урока, где нужно слушать. Заставлять его сидеть за столом не стоит: карточки можно разложить хоть на ковре. Игры на бумаге позволяют сохранить правила алгоритма и при этом остаться в игре.
Марина Берс, одна из создательниц ScratchJr, предлагает видеть раннее программирование как игровую площадку: дети двигаются, спорят, пробуют и ошибаются вместе[3]. Берс описывает и работу с ScratchJr, созданным при участии MIT Media Lab, но её идеи о движении и общении легко перенести на бумагу и карточки, где это происходит само собой. Кроме того, у младших ещё не до конца сформирована мелкая моторика и навык чтения — на карточках со стрелками ни то ни другое не мешает.
- Наглядность. Ошибка видна сразу: фишка вышла за поле, «робот» уткнулся в стену.
- Движение. Ребёнок проходит маршрут сам и запоминает его телом.
- Общение. В парах дети объясняют друг другу, почему программа не сработала.
- Без экрана. Не нужно думать о времени у монитора и о технике: СанПиН ограничивает непрерывную работу детей с электронными средствами, а карточки ничем не ограничены.
Игра «робот-родитель»
«Робот-родитель» — это игра, в которой взрослый выполняет команды ребёнка буквально, как машина. Цель — довести «робота» до игрушки, двери или холодильника, отдавая только разрешённые команды.
- Договоритесь о командах. Для начала хватит трёх: «шаг вперёд», «повернись налево», «повернись направо».
- Поставьте цель. Игрушка на другом конце комнаты, между ней и «роботом» — стул.
- Ребёнок командует по одной. Взрослый выполняет ровно то, что сказано, без «догадок».
- Ошибка — повод исправить. Если «робот» упёрся в стул, ребёнок ищет, какая команда была лишней.
- Усложните. Теперь программу нужно записать заранее стрелками на листке и только потом запускать.
Последний шаг особенно важен, пропускать его не стоит. Пока ребёнок командует по одной, он исправляет маршрут на ходу. Когда программа записана заранее, ему приходится продумать весь путь в голове — это и есть составление алгоритма. Если запись не сработала, ищем ошибку: так ребёнок впервые встречается с отладкой.
Карточки команд и первый цикл
Карточки команд — это набор квадратиков со стрелками «вперёд», «налево», «направо», которые ребёнок выкладывает в ряд как программу. Через несколько игр в набор добавляется карточка «повторить», и появляется первый цикл.
Покупать готовые наборы не нужно — сделать карточки можно за 10 минут: вырежьте из картона 15–20 квадратов, нарисуйте на них стрелки, а на 3–4 карточках — круговую стрелку с цифрой. Ребёнок выкладывает карточки слева направо, а фишка или игрушка проходит маршрут по полю. Когда программа становится длинной — «вперёд, вперёд, вперёд, вперёд» — спросите, можно ли записать её короче. Ответ «повторить 4 раза: вперёд» и есть цикл.
Эти же три команды используются в тренажёре «Робот в лабиринте» в начале страницы. На уровнях 1–4 есть только блоки «вперёд», «повернуть налево» и «повернуть направо», а кнопка «▶ Запустить» показывает, как робот проходит путь. Если ребёнок уже знаком с буквами, после бумажных карточек можно сыграть в него вместе: связь между картонной стрелкой и блоком на экране становится очевидной.
| Карточка на столе | Блок в тренажёре или Scratch | Строка в Python |
| Стрелка вверх | «вперёд» | forward(50) |
| Стрелка налево | «повернуть налево» | left(90) |
| Стрелка направо | «повернуть направо» | right(90) |
| Круговая стрелка с цифрой 4 | «повторить 4 раза» | for i in range(4): |
Лабиринт и рисунок на клетчатой бумаге
Лист в клетку — это готовое поле для программирования без компьютера: на нём рисуют лабиринты для фишки и «закодированные» картинки, которые нужно нарисовать по командам.
Лабиринт. Это классика программирования без компьютера. Нарисуйте поле 6 на 6 клеток, закрасьте несколько клеток как стены, поставьте старт и клад. Ребёнок записывает маршрут стрелками под полем, потом проверяет карандашом. Чтобы было интереснее, поменяйтесь ролями: ребёнок рисует лабиринт и пишет программу, а вы проходите её и, может быть, «случайно» находите ошибку.
Рисунок по коду. Взрослый пишет программу вида «→ → ↓ ↓ ← ←» и говорит, что каждая стрелка — закрасить следующую клетку в этом направлении. Ребёнок выполняет и получает фигуру: квадрат, букву, сердечко. Затем задание наоборот — по готовому рисунку записать программу. Это первое знакомство с идеей, что картинку можно хранить как последовательность символов, то есть кодировать.
Ещё 4 игры на условия и данные
Если ребёнок освоил последовательности и циклы, можно переходить к условиям, сортировке и кодированию. Эти 4 игры тоже не требуют экрана и занимают 10–15 минут.
- «Если — то». Взрослый показывает карточку: красная — хлопнуть, зелёная — топнуть. Потом правило усложняется: «если красная и я поднял руку — присесть».
- Сортировка по росту. Несколько игрушек нужно выстроить от маленькой к большой, сравнивая только двух соседей за раз. Это настоящий алгоритм сортировки.
- Двоичные карточки. Пять карточек с 1, 2, 4, 8 и 16 точками: какие перевернуть, чтобы получилось 11? Так появляется двоичная запись числа.
- Найди ошибку. Взрослый пишет программу маршрута с одной неверной стрелкой, ребёнок находит и исправляет её.
Исследователи вычислительного мышления называют среди базовых понятий программирования последовательности, циклы, события, условия, операторы и данные[4]. Все они есть в перечисленных играх, только без экрана. Подробнее о том, что это за способ рассуждать, — в материале о вычислительном мышлении.
Когда от программирования без компьютера переходить к экрану
Переходить к экрану стоит, когда ребёнок уверенно записывает маршрут из 6–8 команд заранее, находит ошибку в своей программе и сам предлагает «повторить» вместо длинной цепочки.
Следующий шаг для 5–7 лет — ScratchJr на планшете: блоки там тоже почти без слов и похожи на карточки. Как устроено приложение и что в нём можно сделать, разобрано в статье про ScratchJr для дошкольников. Для детей постарше, которые читают, подойдёт тренажёр с роботом на этой странице, а затем Scratch. При этом бумагу бросать не стоит: план проекта удобно рисовать в тетради и в 10, и в 14 лет.
Общая картина ступеней по годам собрана в обзоре программирование по возрасту.
Мифы о занятиях без экрана
Миф об unplugged — это мнение, будто без компьютера программирования не бывает или будто бумажные игры обязательно развивают интеллект. Оба утверждения неверны.
«Без компьютера — это не программирование, а просто игра». Это не так: составить алгоритм, выполнить его и найти ошибку — суть программирования, а компьютер лишь один из исполнителей.
«Игры с карточками гарантированно развивают логику и повышают успехи в математике». Такая гарантия не подтверждается: перенос навыков на другие предметы не происходит сам по себе, его нужно специально строить.
Когда игра на бумаге не подходит
Игры на бумаге не подходят как основной формат, если ребёнок уже перерос их или если от них ждут больше, чем они дают. Вот 4 таких случая.
- Ребёнку 10–11 лет, и он уже делает проекты в Scratch. Карточки покажутся детскими; оставьте бумагу для планирования.
- Ребёнку меньше 4 лет. Ему пока сложно удерживать порядок из нескольких команд.
- Цель — подготовка к заданию 16 ОГЭ. Нужен текстовый язык и практика за компьютером.
- Играете 1 раз в месяц. Правила и команды будут забываться, и каждая игра начнётся с нуля.
Чего делать нельзя
Нельзя превращать игру в контрольную. Эти правила помогают сохранить интерес у младших.
- Нельзя «догадываться» за ребёнка: если команда неверная, «робот» должен её выполнить буквально.
- Не следует сразу показывать правильный маршрут — ребёнок должен найти ошибку сам.
- Не стоит давать больше 3–4 видов команд в первых играх.
- Нельзя ругать за «сломанную» программу: ошибка — обычная часть игры.
- Не следует растягивать игру дольше интереса: лучше закончить на успехе.
Источники
[1] Papert S. Mindstorms: Children, Computers, and Powerful Ideas. New York: Basic Books, 1980.
[2] Эльконин Д. Б. К проблеме периодизации психического развития в детском возрасте // Вопросы психологии. 1971. № 4.
[3] Bers M. U. Coding as a Playground: Programming and Computational Thinking in the Early Childhood Classroom. New York: Routledge, 2018.
[4] Brennan K., Resnick M. New frameworks for studying and assessing the development of computational thinking // Proceedings of the 2012 Annual Meeting of the American Educational Research Association. Vancouver, 2012.
Вопросы и ответы
Сколько длится одна игра?
Для 5–6 лет — 10–15 минут, для 7–8 лет — до получаса. Ориентируйтесь на интерес: если ребёнок сам просит «ещё уровень», можно продолжить.
Что нужно для игр?
Лист в клетку, карандаши, картон для карточек, фишка или маленькая игрушка. Ничего покупать не нужно.
Можно ли играть с несколькими детьми?
Да, и это даже лучше: один пишет маршрут, другой выполняет, третий проверяет. Потом роли меняются.
Подходит ли программирование без компьютера школьникам постарше?
Как основной формат — нет, но отдельные задачи полезны и в 10–12 лет: выполнить алгоритм сортировки руками или «прогнать» программу на листке перед запуском.
Как понять, что ребёнок готов к ScratchJr?
Он сам составляет маршрут заранее, находит ошибку и предлагает сократить запись повтором. Значит, идея алгоритма уже понята.
Нужно ли умение читать?
Нет. Карточки со стрелками и цифрами понятны без чтения, поэтому игры подходят даже пятилеткам.