Как выбрать идею проекта в Scratch
Хорошая идея проекта отвечает на 2 вопроса: интересно ли это самому автору и знает ли он хотя бы половину нужных блоков. Если да, проект будет доделан; если нет, лучше взять задумку на уровень проще.
Каждая идея ниже — это заготовка, а не инструкция. Её стоит менять под себя: вместо кота взять любимого героя, вместо яблок — снежки, вместо аквариума — космос. Митчел Резник из MIT Media Lab считает, что дети учатся лучше всего, когда работают над собственными проектами, которые им по-настоящему интересны[1]. Чужая идея, переделанная под себя, становится своей.
Все идеи проектов из этой подборки можно сделать в бесплатной браузерной версии: Scratch разрабатывает группа Lifelong Kindergarten в MIT Media Lab, а поддерживает Scratch Foundation. По справке Scratch Foundation, среда рассчитана прежде всего на 8–16 лет, поэтому задумки первых двух уровней подходят младшим школьникам, а последние — подросткам.
Уровни ниже условные. Ребёнок, который уверенно делает анимации, может сразу взять идею из третьей группы, если она его зажигает, — просто понадобится больше времени и вопросов. Обратная ошибка встречается чаще: взять сложную задумку для самого первого проекта и бросить её на середине. Поэтому сложные идеи для первого проекта брать не рекомендуется, даже если они очень нравятся.
| Уровень | Что умеет автор | Типичные идеи | Время на проект |
| 1 | Движение, костюмы, звук | Анимации, открытки | 1 занятие |
| 2 | События, условия, касания | Истории, простые игры | 1–2 занятия |
| 3 | Переменные, сообщения, клоны | Игры со счётом и уровнями | 3–5 занятий |
| 4 | Списки, вложенные циклы, перо | Симуляции, сложные игры | Несколько недель |
Уровень 1: анимации и открытки
Первые 5 идей не требуют ни переменных, ни условий: хватает блоков движения, внешнего вида, звука и цикла «повторить». Это хороший старт для 8–9 лет или для первой недели знакомства со средой. Переменные и условия для этих идей не нужны.
- Танцующий кот. Кот меняет костюмы под музыку и двигается из стороны в сторону. Блоки: «повторить», «следующий костюм», «изменить x на», «играть звук до конца».
- Открытка к празднику. Надпись выплывает, герой поздравляет, фон меняет цвет. Блоки: «плыть 1 секунд к x: y:», «говорить», «изменить эффект [цвет] на».
- Аквариум. Несколько рыбок плавают и разворачиваются у стенок. Блоки: «идти 5 шагов», «если касается края, оттолкнуться», «повторять всегда».
- Живое имя. Каждая буква имени — отдельный спрайт, который крутится или меняет цвет при щелчке. Блоки: «когда спрайт нажат», «повернуть на», «изменить эффект».
- День и ночь. Солнце садится, фон темнеет, появляются звёзды. Блоки: «переключить фон на», «ждать», «показаться», «спрятаться».
Главный навык этой группы — замечать повторение. Если кот делает одно движение пять раз, нужен цикл, а не пять одинаковых блоков. Любая из этих задумок собирается за одно занятие и сразу показывает результат, поэтому на первых порах лучше сделать три маленьких проекта, чем один большой.
Уровень 2: истории и первые игры
Во второй группе 5 идей, где программа впервые реагирует на действия человека: клики, клавиши, касания. Появляются события, условия «если» и одна-две переменные. Браться за эти идеи проектов стоит только после того, как ребёнок сделал хотя бы одну анимацию.
- Разговор двух героев. Персонажи говорят по очереди, а сцена меняется по ходу диалога. Блоки: «говорить … секунд», «передать … и ждать», «когда я получу».
- Пианино. Клавиши-спрайты звучат при щелчке. Блоки: «когда спрайт нажат», расширение «Музыка» и «играть ноту».
- Поймай яблоко. Яблоко падает сверху, корзина ловит его стрелками. Блоки: «изменить y на», «касается [Корзина]?», переменная «счёт».
- Кликер на время. Сколько раз успеешь щёлкнуть по мячу за 10 секунд? Блоки: «когда спрайт нажат», «изменить [счёт] на 1», «таймер», «ждать до».
- Рисовалка. Спрайт следует за мышью и рисует, пока кнопка нажата. Блоки: расширение «Перо», «перейти к указателю мыши», «мышь нажата?».
Идеи этой группы хорошо показывают, чем игра отличается от мультфильма: в игре есть выбор игрока. Для «разговора двух героев» пригодится подробный разбор «мультфильм в Scratch», где показано, как связать реплики сообщениями.
Уровень 3: игры со счётом и уровнями
Третья группа — 5 полноценных игр с переменными, сообщениями и проверкой победы или проигрыша. Каждая займёт несколько занятий, и для каждой на сайте есть пошаговый разбор. Начинать с этой группы не стоит, если ни одна игра второго уровня ещё не доделана.
- Лабиринт. Герой идёт по коридорам и не может пройти сквозь стены. Блоки: «касается цвета?», «клавиша нажата?», смена фонов-уровней. Разбор — в уроке «игра-лабиринт в Scratch».
- Викторина. Вопросы, ответы, подсчёт очков. Блоки: «спросить и ждать», «ответ», «=», списки.
- Платформер. Герой бегает, прыгает и собирает монеты. Блоки: переменная «скорость y», «касается цвета?», сложные условия. Разбор — «платформер в Scratch».
- Космический тир. Корабль стреляет по астероидам очередями. Блоки: «создать клон», «когда я начинаю как клон», «удалить клон». Подробно о копиях — в статье «клоны в Scratch».
- Пинг-понг. Мяч отскакивает от ракетки и стенок, пропуск — минус жизнь. Блоки: «повернуться в направлении», «выбрать случайное», «касается?», переменная «жизни».
В этих проектах ребёнок использует почти все понятия, которые Бреннан и Резник выделили в Scratch: последовательности, циклы, события, параллельность, условия, операторы и данные[2]. Если хотя бы одна игра из группы доведена до конца, можно смело переходить к четвёртому уровню или пробовать текстовый язык.
Уровень 4: симуляции и сложные проекты
Последние 5 идей — для тех, кто уверенно владеет переменными и хочет моделировать мир: падение мяча, жизнь животных, часы. Здесь важна не графика, а правила, которые придумывает автор. Без уверенного владения переменными такие идеи не получатся, поэтому их оставляют напоследок.
- Прыгающий мяч. Мяч падает с ускорением и после каждого отскока поднимается чуть ниже. Блоки: переменная скорости, умножение на 0,8 при ударе о пол.
- Зайцы и трава. Трава растёт, зайцы её едят и размножаются, если сыты. Блоки: клоны, «выбрать случайное», переменные «только для этого спрайта».
- Часы со стрелками. Стрелки показывают настоящее время. Блоки: «текущий [час]», «текущий [минута]», «повернуться в направлении», операторы. Подсказка: часовая стрелка поворачивается на 30° за час.
- Генератор узоров. Пользователь выбирает число лучей и цвет, программа рисует узор. Блоки: перо, вложенные циклы, «спросить и ждать». Основы — в уроке «рисование пером в Scratch».
- Тренажёр таблицы умножения. Случайные примеры, учёт ошибок и повтор трудных. Блоки: списки, «выбрать случайное», «объединить», переменные.
Симуляции часто открывают ребёнку связь программирования с математикой и природой: чтобы мяч отскакивал правдоподобно, нужно подумать о скорости, а чтобы зайцы не заполнили весь экран — о балансе. Создатели Scratch (Maloney и соавторы) называют это «высоким потолком»[3]: в той же среде, где делают танцующего кота, можно строить модели.
Как довести проект до конца
Чтобы проект был закончен, его делят на 3 версии: минимальная (главное действие работает), рабочая (есть начало и конец) и улучшенная (звук, графика, уровни). Каждую версию сохраняют и показывают. Не стоит переходить к улучшениям, пока не работает минимум.
- Запишите план. Одна-две строки: что делает проект и чем заканчивается.
- Сделайте минимум. Для «поймай яблоко» — одно падающее яблоко и корзина. Без счёта, без звука.
- Проверяйте после каждого шага. Нажали флаг, посмотрели, исправили. Так ошибка всегда в последних блоках.
- Покажите кому-нибудь. Зритель сразу находит то, что автор не заметил.
- Улучшайте по списку. Записывайте идеи улучшений и берите по одной.
В сообществе Scratch есть кнопка «Ремикс»: можно открыть чужой проект, посмотреть его блоки и сделать свою версию. Это нормальная практика, если указать, чей проект был основой. Возможность ремикса Maloney и соавторы описывают как важную часть сообщества Scratch: дети учатся, разбирая работы друг друга. Scratch бесплатен, его поддерживает Scratch Foundation, и публиковать проекты можно без оплаты.
Когда готовый замысел не подходит
Готовый вариант не подходит, если он не совпадает с интересами или навыками автора. Вот 4 признака, что стоит выбрать другой проект или упростить этот.
- Ребёнок не знает больше половины из 5–6 нужных блоков. Возьмите проект на уровень ниже или сначала разберите незнакомые блоки.
- Проект не продвигается 2 занятия подряд. Значит, он слишком большой: сократите до минимальной версии.
- Тема выбрана взрослым, а ребёнку она безразлична. Через 10 минут интерес пропадёт; пусть выберет сам из 3–4 вариантов.
- Ребёнку 5–7 лет. Большинство идей рассчитаны на тех, кто читает; младшим подойдут истории в ScratchJr.
Мифы о детских проектах
Миф о детских проектах обычно касается их «серьёзности» или пользы. Разберём 2 распространённых заблуждения.
Миф: «чем больше проектов, тем быстрее растёт мышление». Это не подтверждается: метаанализ Scherer и соавторов[4] показал, что польза программирования умеренная и зависит от того, как построены занятия, а не от числа сделанных работ.
Миф: «ремикс — это списывание». Такого правила в сообществе не существует: ремикс с указанием автора считается нормальным способом учиться у других, а изменения в нём — собственной работой.
Чего делать нельзя
Нельзя выбирать проект только по картинке результата, не посмотрев, какие блоки он требует. Остальные правила помогают не бросать начатое.
- Нельзя начинать сразу с улучшенной версии — сначала должно работать главное действие.
- Не стоит брать 3 проекта одновременно: ни один не будет доделан.
- Не следует копировать чужой проект блок в блок без изменений и выдавать за свой.
- Не стоит оценивать проект по красоте графики — важнее, как он устроен внутри.
- Нельзя публиковать в проекте личные данные: фамилию, адрес, школу, фотографии.
Источники
[1] Resnick M. Lifelong Kindergarten: Cultivating Creativity through Projects, Passion, Peers, and Play. Cambridge, MA: MIT Press, 2017.
[2] 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.
[3] Maloney J., Resnick M., Rusk N., Silverman B., Eastmond E. The Scratch Programming Language and Environment // ACM Transactions on Computing Education. 2010. Vol. 10, № 4. Article 16.
[4] Scherer R., Siddiq F., Sánchez Viveros B. The cognitive benefits of learning computer programming: A meta-analysis of transfer effects // Journal of Educational Psychology. 2019. Vol. 111, № 5. P. 764–792.
Вопросы и ответы
С чего начать новичку?
С танцующего кота или открытки: они собираются за одно занятие и не требуют переменных. После них — «поймай яблоко».
Где брать новые идеи проектов?
Из любимых игр, мультфильмов и школьных тем: «как сделать это в Scratch?» — лучший источник. Ещё помогает раздел сообщества с чужими проектами: посмотрите, как они устроены.
Сколько проектов нужно сделать, чтобы перейти к Python?
Число не главное. Ориентир — хотя бы одна игра третьего уровня, сделанная самостоятельно, с переменными и условиями.
Можно ли делать проекты вдвоём?
Да. Удобно поделить работу: один отвечает за героя, другой — за врагов или фоны. Обсуждать, как связать части, полезно само по себе: в подходе Резника сверстники — одна из четырёх опор творческого обучения.
Что делать, если проект надоел на середине?
Сократите его до минимальной рабочей версии и закончите. Законченный маленький проект лучше брошенного большого.
Подойдут ли эти проекты для урока?
Да, особенно первые два уровня: их можно сделать за урок и показать классу. Сложные проекты лучше вести как домашнюю работу на несколько недель.