Скетч программа для программирования
Когда сыну Артёму исполнилось 7 лет и он пошел в школу, мы ему подарили компьютер, чтобы он не отставал от жизни. Несколько месяцев он играл в разные игры, наслаждался, развлекался и т.п. Мне стало немного обидно, что такой дорогой и сложный прибор как компьютер используется только для развлечений, и я решил придумать, как использовать компьютер для обучения. А чему можно научиться на компьютере? Конечно, программированию! Тут я и вбил в «Яндекс» заветную фразу «обучение детей программированию».
Scratch нашёлся не сразу. Помню чувство, которое я испытал при первом запуске программы: «эх, жаль что в моем детстве этого не было». Быстренько пробежав по блокам Scratch, я высоко оценил его возможности. Полчасика потыкал в него и, переключив на русский язык, позвал ребёнка. После показа нескольких блоков, ребёнок попросил меня немного подвинуться, и продолжил самостоятельно. Через полчаса квартиру огласили дикие вопли Кота: «Ого, ребенок сам разобрался со звуками», — подумал я.
Артёму Скретч понравился, несколько месяцев он проводил с ним по несколько часов в день. Проекты вылетали как из пулемёта, их количество приближалось к сотне штук. Интересный момент: ребенок не хотел признавать переменные. Он считал, что можно обойтись и без них, и долгое время обходился. Я говорил ему, что переменные — это важная фишка, но он не верил. Пришлось сочинить ему задание, которое без переменных не решалось. В общем, весь первый класс ребенок игрался со Скретч и пытался рассказывать о нем в школе. Никто не понимал о чем он говорит, и ему стало обидно, что он не может делиться ни с кем своими проектами. Интернет я ему тогда еще не показывал, да и потом, когда показал, он сказал, что хочет общаться с реальными людьми, а не по интернету.
Я стал думать, как решать эту проблему. Первая мысль была такая: установить в классе на нетбуки Scratch, показать его учительнице, пускай на продлёнке дети занимаются. Учительница была не против. Я научил Артёма устанавливать Scratch с флешки; и вот, как-то вечером мы пошли «на дело». Устанавливали мы его на 26 нетбуков около 2 часов, устали от рутинной работы, после чего сын сказал, что не хочет быть системным администратором.
Организация кружка юных программистов на Scratch
К сожалению, во втором классе на группе продлённого дня Scratch так ни разу и не включили… Тогда я стал думать дальше. Это начинало напоминать крокодила Гену, который искал друзей для Чебурашки. В мультфильме друзья появились, когда начали общее дело. Мы тоже решили начать «дело» — организовать кружок Scratch. Ребенок уже ходил на рисование в молодежный клуб, к директору которого я и обратился.
Помещения, конечно же, не было, поэтому нам предложили заниматься в музыкальном классе по воскресеньям, когда там нет занятий. Так-как опыта ведения кружка у меня не было, в целях привлечения максимального количества потенциальных «друзей», занятия сделали бесплатными. Помню подозрительный взгляд директора и вопрос: «А зачем вам это надо?» Не помню, что я там мычал в ответ, но решили попробовать. Осталось набрать народ, для этого были проведены следующие мероприятия:
— объявление на стенде в клубе;
— реклама на местном форуме;
— раздача перед началом уроков в школе рекламы.
Поиск учебной литературы, подходящей для детей начальной школы, ничего не дал. Поскольку не было проектора, то я предварительно распечатал каждому по три листа — блоки скретч с описаниями.
На первое занятие пришли 8 детей 7-10 лет. Разместились, начали устанавливать Скретч — тут очень пригодились навыки Артёма по скоростной установке программы, полученные в школе. Среди пришедших детей одна девочка, у которой папа программист, уже знала как работать в Скретч. Она помогла нам показать ребятам как двигать блоки. Через 15 минут все освоились с интерфейсом и стали делать то, что написано в листочках. Как обычно, на первом уроке раздалось громогласное мяуканье. Но теперь творилось что-то невообразимое, одновременно орали 8 котов! Срочно изучили на ноутбуках кнопку уменьшения громкости. Занятие продолжалось 2 часа, дети были в восторге. Подробнее про восторги можете прочитать у Кодабры. Были пройдены основные блоки, и дети стали требовать игр. Мои объяснения, что надо немного подождать, и изучить ещё несколько блоков и координатную плоскость — не принимались. На совместном совещании с Артёмом было принято решение ускорить процесс обучения, так как все дети попались смышлёные. Изначально я планировал рассказать о координатах примерно на 5 занятии, однако без координат ни мультфильм, ни игру не сделать. Я был приятно удивлен, когда оказалось, что некоторые дети во 2-м классе уже знали, что такое координатная плоскость. Со словами: «мне папа объяснял» — дети сходу начали применять блоки с координатами.
Игру на втором занятии делать не стали, а сделали мультфильм.
Для запуска нажмите на зелёный флаг в центре экрана.
На второе занятие пришли ещё несколько новичков. Я раздал им первый урок, остальные проходили мультфильм. Быстро сделав мультик, начинали его видоизменять. Выбирали других персонажей, писали разные фразы, и все делали вид, что поняли, что такое координаты. Это я заметил через несколько занятий. Многим нравилось делать смешные игры, прикалываться и веселиться, а чтобы я не приставал со скучными объяснениями, говорили, что всё понимают. Не смотря на все мои усилия, некоторые дети координаты так до конца и не поняли. Кстати, те, кто не поняли координаты, через некоторое время кружок побросали. Остался костяк смышлёных учеников. Общая статистика после трёх полугодий обучения примерно следующая: те, кто занимаются всё это время, человек 10, это костяк. Всего ходило на занятия человек 40. Те, кто побросали — посетили примерно по 10 занятий каждый, поняли, что им это не интересно — и ушли.
Надо отметить, что у меня не хватало фантазии придумывать каждую неделю новый урок. В этом мне помогал Артём. Его хватило на два полугодия, а потом я стал придумывать сам. Это очень сложно, и детям нравились не все уроки. Я каждое занятие прошу детей придумать тему следующего занятия, за всё время они помогли мне 3-4 раза. В последнее время, в поисках вдохновения, я часто захожу на сайт scratch.mit.edu, там очень много классных примеров.
По образцу «Кодабры» попытаюсь сформулировать правила обучения.
1. Каждую минуту ребенку должно быть интересно. Если хотя бы одному не интересно, он включает постороннюю игру, или мультик на ноуте, и к нему тянутся остальные. Если ребенок заскучал, ему всегда можно показать новый прикол на Скретч, ведь это очень глубокая и мощная программа.
2. Все предложения детей по усовершенствованию игр — на конец занятия. Есть один мальчик, он не хочет делать по написанному, а сразу начинает генерировать идеи. В результате отходит от плана урока. Понаделает своих скриптов. У него ничего не работает, и он начинает отвлекать меня. А разобраться в чужом коде не всегда просто, даже если его писал 8 летний пацан.
3. Всегда иметь под рукой дополнительные задания. Некоторые дети очень смышлёные, у них сразу всё получается, а занятия длились по 2 астрономических часа. Если ребенок за час все сделает — надо дать ему ещё что-нибудь интересное.
4. Занятия дольше 1 астрономического часа проводить не следует. 40 мин, как в школе — оптимально. Дальше у детей реально ухудшается концентрация и они начинают хулиганить.
5. Берите с собой воду и печеньки. Поощрение печенькой реально работает. Я умилялся, когда это подтвердилось на практике.
Появление книги
В процессе создания уроков я постоянно мониторил интернет в поисках литературы по Scrath. К сожалению, книга уважаемого Евгения Патаракина написана не для начальной школы, а других книг на русском я не нашел. После первого полугодия занятий у меня накопилась куча материалов с уроками, и, совместно с Артёмом, мы решили сделать книгу. Писал и делал скриншоты, конечно, я. От Артёма были все идеи уроков, и пара историй про Котёнка Тесея и летучую мышь Rousettus aegyptiacus (которая, как оказалось, переносит вирус Эбола). Так-как издать книгу дело не дешёвое, было принято решение делать её в электронном формате epub.
Основные цели написания книги
Результат
1. На книжной ярмарке NonFiction 2013, где мы с Артёмом проводили мастер класс по Scratch, ему дали бэйджик — участник выставки и мы прошли в помещение без очереди, которая была 100 метров. Никогда я не видел ещё такого гордого выражения лица. И, потом, на мастер классе, он сиял уверенностью, и с огромным удовольствием показывал всем ребятишкам Scratch;
2. Книга на данный момент скачана более 4500 раз на русском и 1700 на английском языке. Есть несколько положительных отзывов. Надеюсь, некоторым детям она действительно помогла сделать первые шаги в Scratch;
3. Несколько человек написали что планируют сделать кружки Scratch;
4. Один очень уважаемый человек даже приезжал на наше занятие с дочкой перенимать опыт. Он уже тоже открыл кружок в Москве. В интернете всё больше людей попадаются со схожими интересами;
В процессе написания книги выяснилось, что электронные книги можно продавать. Так как в нашей стране никто покупать электронную книгу не будет, было решено перевести книгу на английский, чтобы протестировать схемы распространения электронных книг.
Заключение
Друзей у Артёма прибавилось. Многие из его класса приходили на кружок, и, хотя и побросали, авторитет ребенка вырос. Несмотря на то, что теперь он переключился на майнкрафт, я иногда спрашиваю у него совета по Scratch.
Очень надеюсь, через несколько лет в начальной школе будет предмет «основы программирования на Scratch».
Эта книга и еще две изданы в издательстве Ridero, и доступны по технологии «Печать по требованию».
По указанным ссылкам можно ознакомится с первыми 20% книг.
Сайт книги «Школа капитана Грампа»
Сайт книги «Scratch для учителей и родителей».
Сайт книги «Знакомьтесь, это Snap! Блочная среда программирования мощнее Scratch»
Кстати, Snap! — это реально мощная вещь. Основным отличием от Scratch являются расширенные возможности по построению собственных блоков, а также списки и функции первого класса. Эти мощные возможности позволяют использовать Snap! не только в начальной школе, но и для обучения старшеклассников и студентов. Мне бы очень хотелось чтобы он широко использовался в нашей стране.
upd 29.11.2017
Издан второй учебник по программированию на Scratch!
upd 18.05.2018
Запускаю с 1 июня 2018 два мощных онлайн курса
1. обучение программированию детей на Scratch
2. обучение программированию школьников в среде Minecraft
подробности на страничке educationforkids.online
А также я перевел еще пару итальянских книжек о программировании на Scratch
«Видеоигры на Scratch» и «Анимация на Scratch»
upd 30.06.2020
Приглашаю всех детей на недельные марафоны по программированию в Scratch, Minecraft, Roblox, CoSpaces, Python, Scratch JR, чтобы они могли под присмотром педагога познакомиться с этими языками программирования и бонусом получить навыки работы в Paint, Word, на google диске. codim.online/marafon
upd 09.03.2021
на платформе codim.online уже более 16 курсов по детскому программированию и куча недельных IT марафонов.
Я даже записал курс по Астрономии! Люблю ее с 6 лет, когда нашел на чердаке советский учебник астрономии за 10 класс.
А в 10 лет мне подарили вот эту книгу — зачитал до дыр.
Scratch — это среда для разработки интерактивных мультфильмов и игр, созданная в знаменитом Массачусетском технологическом институте (MIT), плюс онлайн-сообщество, в котором нажатием одной кнопки можно опубликовать свое творение на суд страждущей публики. Либо даже совершенно легально взять чужое произведение за основу для будущего «ремикса».
Школа кода!
Для программирования на «Скретч» не нужно писать исходный код — вся работа строится вокруг компоновки готовых блоков, как правило, состоящих из картинки и выбранного варианта «поведения» этой картинки — к примеру, движения, изменения размеров, цвета.
При этом для каждого из блоков предлагается множество настроек, что позволяет уникальным образом менять внешний вид объекта. Тем самым привнося оригинальность и неповторимость создаваемой игре или мультфильму. То есть, упрощенно говоря, добавляем на «холст» изображение котенка (это один блок), а также добавляем блок «звук» (с задорной песенкой) и блок «движение» — и вот наша киска уже побежала под классную музыку!
Такой подход позволяет начать программировать без серьёзных знаний в математике и теории алгоритмов. А игровой подход и крупное онлайн-сообщество позволяют подросткам не только тренировать навыки, которые помогут им в будущем при «взрослом» программировании, но и получать мгновенную оценку своих творений и обратную связь со зрителями, а также общение с такими же начинающими программистами.
Однако хотелось бы упомянуть тот факт, что «детское» программирование может создать и иллюзорно упрошенное восприятие будущей профессии. Как показывает практика, реальное программирование — это всё ещё скрупулезный и педантичный (пусть и хорошо оплачиваемый) труд, который выдержит в ежедневном режиме, к сожалению, не каждый.
Кстати, третью версию Scratch вполне можно назвать революционной:
- Появилась полная онлайн-версия данной среды программирования. Что позволило для разработки использовать практически любой компьютер с установленным на нём онлайн-браузером. В том числе любой планшет или смартфон;
- Появилась возможность создания расширений для Scratch 3 — например, новый вид блоков или новый сценарий поведения блоков. Но это уже под силу более опытным программистам, так как для этого применяется язык JavaScript (к примеру, подобное расширение мог бы написать преподаватель информатики для своих учеников);
Конечно, успех MIT в создании и распространении Scratch не мог остаться незамеченным среди конкурентов. Считается, что более развитым функционалом обладает среда под названием Snap!, созданная в Университете Беркли и одним из активных участником сообщества Scratch. Также существует и система ScratchJr, которая позволяет «писать программы» даже тем деткам, которые пока не умеют читать! Конечно, она менее сложная и работает, как правило, на планшетах.
Через «скретчи» к звёздам!
Любое изобретение становится действительно популярным тогда, когда оно доступно для большинства. И программирование — не исключение. Ведь ещё недавно оно ассоциировалось с исключительно строгим и инженерным подходом, а сегодня… с помощью Scratch ваш детёныш вполне способен открыть себе дорогу в мир высоких технологий. И не менее высоких зарплат
Где скачать?
Scratch 3 можно скачать прямо с нашего сайта — для этого нажмите на кнопку ниже и предоставьте своему ребенку доступ к крупнейшей онлайн-платформе «детского» интерактивного программирования!
Развитие IT-сферы подталкивает пользователей PC опробовать собственные силы в программировании или же поспособствовать обучению детей. Дабы несколько нивелировать рутинность и сложность занятий для молодого поколения, группой единомышленников из Массачусетского университета был создан Scratch – специальная платформа для создания мультимедийных проектов, призванная помочь в усвоении основных принципов визуального программирования.
Предназначение и особенности
Скретч является своеобразным наследником языка Logo, а процесс объединения блоков напоминает сборку 3D-пазлов и конструкторов Lego. С помощью структурированного набора команд пользователь волен создавать программные модели различной сложности, заставляя взаимодействовать объекты с заданными свойствами. Результатами работы могут стать, к примеру, анимационные ролики, интерактивные комиксы, аркадные или логические игры, простые вычислительные системы.
Scratch Offline Editor версии 2.0 позволяет вносить изменения в проекты без подключения к сети. По части доступных средств и инструментов скачиваемое приложение ничем не отличается от редактора, доступного онлайн на сайте разработчика.
Интерфейс и функциональные возможности
Программа разрабатывалась в первую очередь для детей, потому её интерфейс вышел достаточно простым и интуитивно понятным. После запуска вверху открывшегося окна можно увидеть стандартную горизонтальную панель для управления проектами. Чтобы все элементы редактора были на русском языке, необходимо нажать на иконку в виде глобуса и выбрать русский со списка.
Программная среда состоит из четырёх частей:
- Спрайты (каталог визуальных объектов, которыми можно управлять);
- Палитра блоков (большой набор разноцветных блоков-команд);
- Рабочая область скриптов (часть редактора, куда помещаются блоки для объединения в исходный программный код);
- Сцена (область, в которой можно наблюдать за результатами действий пользователя с объектами и блоками).
На панели со спрайтами изначально присутствует только мультяшный кот – символ Скретч, однако новые объекты легко добавляются из библиотеки, компьютера пользователя или создаются во встроенном графическом редакторе. Аналогичными способами можно подбирать подходящий фон для сцены.
Скриптовые команды формируются с помощью цветных блоков-пазлов, которые разбиты на 10 категорий. В области со скриптами находятся также вкладки с костюмами для персонажей и звуками.
Стоит заметить, что при наличии сетевого соединения пользователи могут делиться своими уникальными творениями с людьми со всего мира.
Каковы достоинства и есть ли недостатки?
К преимуществам данного приложения можно отнести:
- приятный интерфейс с поддержкой русского языка;
- богатый инструментарий для создания уникальных проектов разного типа;
- неплохой графический редактор;
- наличие подсказок;
- возможность корректировки проектов в офлайн-режиме.
Что касается минусов платформы, то они весьма относительны и в минимальном количестве:
- скромный выбор визуальных эффектов;
- встроенные подсказки только на английском языке;
- некоторые блок-команды сложны для детского восприятия.
Из альтернативных приложений, похожих на Скретч 2.0, на ум приходят Stencyl (более продвинутый вариант, но без поддержки русского языка), Alice (также англоязычная среда для создания 3D-проектов) и, конечно же, BYOB/Snap – изначально модификация рассматриваемой нами программы, переписанная в итоге на JavaScript.
Стоит ли попробовать?
Учитывая скудный выбор платформ для визуального программирования и внушительный арсенал возможностей Scratch, обратить внимание на данный редактор определенно стоит. С его помощью дети среднего и старшего возраста (впрочем, взрослым тоже запрета нет) смогут одновременно позаниматься увлекательным творчеством и получить солидный запас знаний. Другой вопрос, достаточно ли будет приобретённых умений для того, чтобы позже спокойно перейти к изучению более сложных языков программирования. Но об этом каждый пользователь узнает только на практике.
Скачайте Scratch на русском языке бесплатно для Windows
Scratch (Скретч) – событийно-ориентированная среда программирования, предназначенная для обучения детей. Позволяет работать с картинками и звуком, создавать анимации и динамические сцены, записывать в виде скриптов последовательности действий. Программа знакомит школьников с основами программирования, попутно помогая развивать их творческие данные, логику и мышление. Устанавливается на компьютеры, функционирующие под управлением ОС Windows, Mac и Linux.
Функционал программы
Scratch обучает детей программированию в игровой форме, что способствует их заинтересованности и облегчает восприятие нового материала. При создании проекта можно использовать готовые компоненты либо программировать их самостоятельно. Встроенный графический редактор помогает создавать картинки и фон, предусмотрены операции отладки и компиляции проектов в исполняемые файлы.
Основные возможности приложения:
- • разработка проекта с нуля;
- • добавление, удаление и редактирование программных компонентов;
- • использование готовых объектов;
- • написание скриптов;
- • сохранение проекта в виде локального файла;
- • размещение результата программирования в сети.
Окно приложения делится на три части, содержит список закладок, сценарий и область визуализации. Перемещаясь по закладкам первого блока, можно выбирать переменные, операторы, звуковое сопровождение, тип движения и другие параметры проекта. Во втором блоке размещается созданный сценарий, а в третьем производится его визуализация, обеспечивающая наглядное представление полученного результата. Предусмотрена возможность публикации в интернете или сохранения на компьютер выполненного проекта.
Особенности приложения
Scratch, по сравнению с другими средами программирования, отличается упрощенным, интуитивно понятным интерфейсом. Удобное расположение всех информационных блоков избавляет от необходимости переключения между вкладками, все необходимые инструменты становятся доступными сразу после загрузки приложения.
Среди преимуществ среды:
- • высокая эффективность обучения основам программирования;
- • возможность использовать готовые и создавать новые объекты;
- • наличие 10 готовых скриптов для создания игр и анимации;
- • поддержка русского языка;
- • бесплатная лицензия.
Среда программирования подходит для создания анимации, мультфильмов и игр. Существует собственная социальная сеть Scratch, где дети могут общаться и делиться проектами. В версии Scratch 3, выпущенной в 2016 году, была улучшена работа со скроллингом, пополнены библиотеки готовых объектов, добавлена опция клонирования спрайтов.
Многим знаком Scratch – детская среда программирования, обучение в которой обычно сводится к созданию творческих проектов по принципу «от простого к сложному». При этом «классический подход» к изучению программирования (переменные → ветвления → циклы → функции → структуры → объекты → …) в Scratch затруднителен.
Однако изменение последовательности изучения понятий (назовем их концепциями) структурного, объектно- и событийно-ориентированного программирования, их сокрытие за яркими спрайтами и интерактивной анимацией, не означает, что на концепциях не следует делать акцент. Особенно, если целью ставится не столько развитие творческих способностей, сколько обучение программированию. Эту идею я постаралась отразить в своем курсе.
Первым, с чем сталкивается начинающий скретчер, являются спрайты. Хотя в Scratch как такового объектно-ориентированного программирования нет, спрайты можно считать объектами. На этом этапе обучающийся видит, что в программе может быть множество объектов, поведением которых управляют внешние для них скрипты. Спрайты получают команды или по требованию передают информацию о своем состоянии, то есть программирование сводится к управлению объектами.
Вторым, что в Scratch сразу сваливается на голову юного программиста, является понятие о многопоточности. Каждый спрайт может иметь по несколько скриптов, выполняемых одновременно. Несколько спрайтов также могут выполнять свои программы одновременно друг с другом. Причем оказывается сложнее организовать последовательное выполнение.
Уже на первом занятии мы не можем избежать знакомства с циклами. Иначе кот особо не разбежится. На этом этапе знакомство приходится оставлять интуитивным и поверхностным. Мы ограничиваем его циклами «повторять всегда» и «повторить … раз», которые более просты для понимания. Цикл с условием изучается в уроке, специально посвященном циклам. Этот урок предполагает знание логических выражений и переменных.
Поскольку Scratch событийно-ориентированная среда, блоки условного оператора удобнее изучить до переменных. Условием могут выступать те или иные события.
На мой взгляд, такая последовательность лучше, так как за каждый урок мы вводим минимум понятий. Причем не абстрактных, а сразу видим их практическую пользу.
Если же сначала изучать переменные, то их назначение и пользу сложно продемонстрировать, поскольку до этого не изучен условный оператор, ввод данных и генерация случайных чисел.
В Scratch, не считая списков, программист сталкивается с тремя типами данных: числами, строками и булевым типом. При этом тип привязан к значению, а не переменной. Преобразовывать строки в числа и обратно не требуется. Строки в кавычки не заключаются.
Блок, возвращающий логическое значение и имеющих характерную для него угловатую форму, можно вставлять в округлые поля. Обратное не верно: там где предполагается логическое выражение, нельзя вставить обычную переменную.
Scratch реализован так, чтобы в процессе выполнения не возникало критических ошибок. Видимо поэтому, если попытаться использовать строку в арифметической операции, она заменяется нулем (см. первый скрин).
Программист должен знать, что возможности языков программирования расширяются библиотеками. Работая в Scratch, ученик может подключать дополнения, которые приводят к появлению в среде новых команд.
Функции в Scratch реализованы в разделе «Другие блоки», где с одной стороны вы создаете собственный блок, который можно вставлять в другие скрипты. С другой стороны – должны собрать функциональность этого блока, то есть то, что он будет делать.
Возврата значении из скретч-функции нет.
Таким образом, изучение концепций программирования в событийно-ориентированной среде накладывает свой отпечаток. По сути мы сначала изучаем более сложные и абстрактные понятия и, лишь углубляясь в процесс, переходим к элементам структурного программирования. Плюс это или минус для первого знакомства – вопрос спорный.
Читайте также: