Scratch что это за язык программирования

Содержание
  1. Scratch — язык программирования для детей
  2. Что такое Scratch
  3. Примеры приложений
  4. Как начать разработку на Скретч
  5. Scratch для «продвинутых»
  6. Клонирование и переменные в Scratch
  7. Имена объектов как их идентификаторы
  8. Подводим итоги
  9. Что такое Scratch?
  10. Содержание:
  11. Что такое Scratch?
  12. Для какого возраста подходит Scratch?
  13. Кто придумал Scratch?
  14. Какие существуют версии Scratch?
  15. Откуда взять Scratch?
  16. Онлайн-версия программы Скретч
  17. Скретч (язык программирования)
  18. Содержание
  19. Программирование
  20. Исходный код
  21. Модификации и дальнейшее развитие
  22. BYOB (Snap!)
  23. Panther
  24. Механизм Mesh
  25. Slash
  26. StarLogo TNG
  27. Скретч 2.0
  28. App Inventor
  29. «Scratch — ненастоящий язык программирования»: чему учат в кружках
  30. Что думают родители про Скретч
  31. Что предлагают кружки
  32. Чем полезны учебные языки программирования
  33. Примеры сложных проектов в среде Скретч
  34. Скретч как среда для развития мышления
  35. Очное обучение в группе сейчас полезнее индивидуального
  36. Увидеть склонности ребенка можно только по его проектам
  37. Резюмируем

Scratch — язык программирования для детей

Применения визуального языка программирования Scratch и возможности его использования.

Тенденция на повышение компьютерной грамотности и освоение технологий с самого раннего возраста привела к тому, что все больше родителей хотят обучать детей основам программирования с раннего возраста. Создание сайтов или своих проектов в привычных средах разработки вряд ли заинтересует 7-летнего ребенка, и для решения этой проблемы в 2003 году в MIT появился первый прототип языка Scratch, специально предназначенного для обучения школьников младших и средних классов основам создания собственных игр, анимаций и совместной работы над проектами.

Что такое Scratch

Скретч создан как продолжение идей языка Лого и конструктора Лего. Скретч 1.4 был написан на языке Squeak, Скретч 2.0 и 3.0 ориентированы на работу онлайн. Скретч 2.0 был переписан на Flash и ActionScript. Скретч 3.0 (текущая версия) является улучшенной версией Скретч 2.0 и сделана на HTML5, используя движок WebGL, что даёт ему возможность работать на мобильных устройствах и планшетах. Скретч разрабатывается небольшой командой программистов для детей в Массачусетском технологическом институте. Текущая версия — Скретч 3.0, выпущена в январе 2019 года.

Scratch — это визуальная объектно-ориентированная среда программирования. В ней ученики управляют объектами-спрайтами. Для них задается графическое представление, которое может быть импортировано из любого источника изображения, и скрипт действий, который составляется из блоков по принципу drag-and-drop. Эти блоки бывают нескольких видов:

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

Примеры приложений

Вот несколько примеров проектов, созданных при помощи платформы:

Как начать разработку на Скретч

Пользоваться Scratch можно полностью бесплатно как в онлайн-версии, так и в офлайн-редакторе. В 2014 году также вышла версия Scratch для детей младшего возраста под названием ScratchJr. Это мобильное приложение для Android и iOS, в котором дети так же управляют спрайтами, только в более упрощенной форме. В блоках не используется текст, поэтому дети могут учиться программировать до того, как научатся читать, и им доступен ограниченный набор действий: простые движения спрайтов и работа со звуками и изображениями.

Источник

Scratch для «продвинутых»

Клонирование и переменные в Scratch

Моему ученику нравилась игра — «Зомби против растений». И ему было интересно самому запрограммировать её. Давайте вспомним как данная игра работает? С правой стороны у нас есть шеренга растений, которая расстреливает приближающихся зомби.

Есть множество решений данной задачи, но на мой взгляд более элегантное решение — задействовать минимально возможное количество спрайтов, т.е. использовать клонирование.

Как сделать так, чтобы у каждого отдельного клона был собственный уровень жизни? Что выбрать переменные или списки? Сделали попытку использовать списки, но после более детальной проработки поняли, что данная структура данных не помогает решить проблему. У переменных и списков, в Scratch есть 2 типа видимости для каждого типа данных — это «для всех спрайтов» или «только для этого спрайта». Пришлось проверять область видимости. Начали мы с переменных.

Дойдя до рабочего варианта переменной с областью видимостью «только для этого спрайта». В классических языках программирования такой тип видимости называют — локальным или приватным в зависимости от контекста.

Оказывается, что если эта переменная с данной областью видимости используется в клоне, то в клоне создается экземпляр переменной, принадлежащий конкретному клону и который используется для внутренних вычислений/работы клона. В нашем случае, у каждого клона есть своя «жизнь». Если стало интересно, то советую обратиться к справочнику. А вот картинка, которая показывает, как спрайты или клоны работают с переменными разных типов видимости.


Переменная с областью видимости «для всех спрайтов» (рисунок слева) — одна на всех. Кстати, здесь вы можете с детьми посмотреть работу с критическими секциями и что такое гонка за ресурс. А если область видимости переменной — «только для этого спрайта», то у спрайта и у его клонов появляется собственная переменная с тем же именем, с которой они работают (рисунок с права). И клоны не имеют доступа к переменной оригинала и переменной другого клона.
Это стало неожиданным и приятным открытием свойств Scratch для создания подобных алгоритмов.

ВАЖНО: Переменная — это очень мощный инструмент настоящего программиста, поэтому я сразу учу детей правильному именованию переменных, так как этот навык поможет им в проектах разной сложности.

Имена объектов как их идентификаторы

ВАЖНО: все переменные с зоной видимостью «только для этого спрайта».

Данный инструмент для меня стал совсем неожиданным. Давайте начнем с истории о том, как мы с учеником наткнулись на данную особенность языка. Мой ученик решил, создать игру с «искусственным интеллектом». Игра представляет звездные войны на космических кораблях и у игрока есть возможность управлять одним кораблем, в то время как противники гоняются за вами и за друг другом. Чтобы они могли преследовать вас или друг друга, им нужно как-то принимать решение о том, кого преследовать. Данную задачу можно решить в лоб и задать очередность преследования кораблей, но игра потеряет свою интеллектуальность и быстро наскучит. Поэтому ученик решил настроить интеллект таким образом, чтобы корабли с интеллектом преследовали ближайшего противника. Давайте посмотрим, как он начал решать данную задачу.

На мой взгляд хорошее решение для создания быстрого прототипа. Но какие ограничения здесь есть? Первое, усложнение кода по мере добавления новых кораблей. Следовательно, сложность кода повышается и не исключены мутации кода из-за усложнения. Время поиска ошибки и отладки алгоритма будет расти. И конечно, никто не отменял такую прикольную метрику, как старение кода (advance level SW Development). Что же делать? А делать необходимо следующее, нужно сделать обобщеный алгоритм, который будет динамично приспосабливаться к увеличению или уменьшению количества кораблей.

Читайте также:  Древнерусский язык бледно лиловый светло голубой

Для данного алгоритма нам и понадобиться свойство языка — имя как идентификатор объекта. Пришло время больших изменений и здесь вы, как учитель, можете рассказать про такое явление как рефакторинг. Это последовательное изменение кода, улучшение его структуры и его оптимизация. А главное, чтобы каждое изменение не ломало работу программы, и объем изменений тоже должен очень аккуратно подобран. Слишком много изменений — плохо, слишком мало — долго. Сформированный навык рефакторинга даст преимущество и эффективность работы программиста. Но для формирования навыка нужно работать головой, а не просто тыкаться. У меня получилось сделать 4 изменения в первоначальной программе и результат не изменился.

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

Заметили? Сейчас в блоке «повернуться к …» стоит переменная и эта штука работает. Т.е. мы минимальными усилиями проверили, что данный подход работает. Это просто круто. Теперь мы можем начать писать алгоритмы, которые позволят определять объект преследования ближайшего корабля.

Что нам пригодится? Это из структур данных — это переменные и списки. Из алгоритмов — это нахождение минимального числа (расстояния) в списке. Еще нам необходим алгоритм, который определит имя объекта для преследования по минимальному расстоянию.

Сейчас будет написано много кода. Но для того, чтобы потом не захлебнуться и не запутаться в куче скриптов, нам необходимо использовать еще одну классную функцию, а именно создание собственных блоков. Эта функция очень мощная, но ее редко используют школьники, да и некоторые программисты, а ведь она позволяет создать понятный с первого прочтения алгоритм программы. Кстати, можете почитать про приемы создания понятного кода в книге Мартина Фаулера «Рефакторинг. Улучшение существующего кода»

Как и перед любым масштабным строительством нам необходимо все спланировать. Давайте спланируем в каком порядке будем разрабатывать блоки:

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

И теперь мы готовы описать 1 часть программы. Все пишем для 1-ого корабля. Запускаем отдельно данный скрипт и смотрим результат. Поехали!

Если мы добавим новый корабль, нам нужно изменить в данном алгоритме лишь одну циферку. Клево? Клево!

Погнали дальше. А давайте научим его 2 алгоритму. Смотрим, что получилось. Это сразу конечный результат со вспомогательными функциями.

Ура! Работает. Проверить это можно следующим образом, должен быть обязательно 0 одним из значений в списке расстояний. Если у вас это не так, ищите ошибку.

Едем дальше! Поиск минимального расстояния. Заметили, что расстояние всегда положительно. И всегда будет минимальное число — 0. Ай-я-яй! Вывод — искать минимум, но не ноль. Можете попробовать свои силы и оптимизировать код самостоятельно, чтобы не делать расчет расстояния от корабля 1 до корабля 1 (это не опечатка).

Обучаем спрайт новой функции и получаем.

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

Мы написали все, что необходимо, теперь главное правильно использовать данные функции.

Если у вас все работает правильно, то вы должны увидеть следующее:

Заметили, что корабль с «искусственным интеллектом» разрывается между разными противниками. Вы можете усовершенствовать программу и усложнить принятие решения. Например, если у преследуемого корабля осталось мало жизни, то он добивает его, а если он нашел, ближе и с еще меньшим здоровьем, то добить сначала слабейшего.

Кстати, в данной программе можно уменьшить количество действий и усовершенствовать алгоритмы. Попробуйте свои силы. Взять данную программу можно здесь.

Подводим итоги

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

Это лишь малая часть инструментария программиста, но она являет очень важной. А в Scratch это объяснить становится чуточку легче.

Источник

Что такое Scratch?

Содержание:

Заканчивая в середине 90-х общеобразовательную школу, я и понятия не имел, что такое программисты и программирование. Да, у нас был одни год предмет под названием «информатика», но понять что-то без желания и компьютера было невозможно. Сейчас, по прошествии такого большого периода времени, понимаю, что в моей жизни всё могло бы быть по-другому, если бы в наше время была возможность пройти обучение на Скретч. Итак, приступим баловаться изучать основы этой занимательной среды программирования! Заранее желаю всем успехов в этом направлении информатики!

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

Что такое Scratch?

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

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

Для какого возраста подходит Scratch?

После изучения Scratch вы сами сможете нести его в массы и быстро научить его азам свою бабушку или младшего брата (сестру). Образовательная среда Скретч объединяет всех школьников в мире, поэтому вы сможете делиться своими программами с детьми живущих на других материках.

Кто придумал Scratch?

В 2003 году небольшой группой исследователей под предводительством Митчела Резника из MIT Media Lab решила создать понятный для многих визуальный язык программирования. В результате их стараний в 2007 году появился Скретч. Поэтому создавать компьютерные программы могут уже даже дошкольники.

Какие существуют версии Scratch?

За время своего взросления Скретч развивался и сменил несколько версий.

К устаревшей можно отнести версию 1.4 (Скачать можно по этой ссылке http://scratch.mit.edu/scratch_1.4/ )

Современная версия имеет обозначение 2.0. Последнее обновление идёт под номером 451.

Откуда взять Scratch?

Онлайн-версия программы Скретч

В общем, плюсов великое множество, однако под рукой у вас всегда должен быть доступ в Интернет и ваш браузер должен поддерживать загрузку Flash-роликов. Кстати оффлайн-версия программы тоже даёт возможность загружать готовые проект на этот сайт через существующий аккаунт.

Читайте также:  Изучение английского языка по методу драгункина

Источник

Скретч (язык программирования)

Скретч создан как продолжение идей языка Лого и конструктора Лего. Скретч 1 был написан на языке Squeak, Скретч 2 ориентирован на работу онлайн и переписан на Flash и ActionScript. Скретч разрабатывается небольшой командой программистов для детей [2] в Массачусетском технологическом институте. Текущая версия — 2.0, выпущена 9 мая 2013 года.

Программы на Скретче состоят из графических блоков, подписи к которым зависят от выбранного для интерфейса языка. Может быть выбран один из 50 языков интерфейса, включая русский. Для подключения интерфейса на новом языке используются стандартные gettext-файлы.

Также недавно был создан Scratch 3.0 (А точнее его тест-версия). Попробовать её можно по здесь Команда Скретч заявила, что релизная версия будет доступна пользователям с января 2019 года.

Содержание

Программирование

Для программирования сценариев в Скретче используется drag-and-drop-подход: блоки из палитры блоков перетаскиваются в область скриптов.

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

Группа английское название Цвет Примечание
Движение motion синий управляют движением спрайта
Внешность looks сиреневый управляют внешностью спрайта
Звук sound розовый управляют звуком спрайта
Перо pen зелёный используется для черепашьей графики
События events жёлто-коричневый проверка наличия событий, отправка сигналов ко всем спрайтам
Контроль control жёлтый управляющие конструкции, заголовки обработчиков событий
Сенсоры sensing голубой опрос устройств ввода
Операции [4] operators салатовый арифметико-логические операции
Переменные variables оранжевый раздел для управления переменными и списками

У многих блоков имеется редактируемое белое поле для вводимых скретч-программистом параметров.

Блоки бывают трёх видов: блоки стека, блоки заголовков и блоки ссылок.

Блоки стека (большая часть блоков) (англ. Stack Blocks ) сверху имеют выемку, а снизу — выступ, с их помощью они объединяются в группу блоков, называемую стеком. Стеки можно копировать и перемещать как единый блок. Особой разновидностью блоков стека являются управляющие конструкции, такие как циклы — они имеют С-образную форму, и могут охватывать собой вложенный стек скретч-блоков.

Блоки заголовков (их также называют шапками) (англ. Hats ) имеют выпуклый верхний край и выступ для объединения снизу — они образуют заголовки скретч-стеков. К блокам-заголовкам относятся блоки «когда …» (англ. when … ) из группы «Контроль», позволяющие организовать обработчики сообщений: внешних — от клавиатуры и мыши, и внутренних — передаваемых между спрайтами и позволяющих объектно-ориентированное программирование в smalltalk-стиле.

Наконец, блоки ссылок (англ. Reporters ) предназначаются для заполнения внутренних полей других блоков.

Язык Скретч (как и Лого) оперирует числами, текстовыми строками, логическими значениями, а также списками, играющими роль динамических массивов.

Хотя архитектура скретч-программ в виде набора спрайтов Скретча, обменивающиеся друг с другом событиями, напоминает объектно-ориентированную, Скретч не является объектно-ориентированным языком: в нём (ни в каком виде) нет механизмов наследования (в последних версиях расширенного диалекта скретча BYOB введено прототипное наследование).

Исходный код

После выхода версии 1.4 исходный код Скретча был открыт на условиях Scratch Source Code License — представляющей собой простую копилефтную лицензию, с дополнительными ограничениями по неиспользованию оригинальных торговых марок (в более мягкой форме подобные ограничения включены, к примеру, в PHP License).

Распространяемый исходный код уже удовлетворяет данным условиям: в нём заменены логотип и спрайт с котом и удалён код сохранения Скретч-проекта на сайт.

Модификации и дальнейшее развитие

BYOB (Snap!)

Разработан в Университете Беркли. Основным расширением языка, которое было введено в BYOB, стала возможность построения составных пользовательских блоков — аналога процедур обычных языков программирования. Поддерживаются рекурсия, замыкания и лямбда-выражения. Также добавлены отладчик и возможность компиляции в исполняемые файлы, вложенные спрайты, многомерные списки, улучшенная работа со скроллингом и компиляция исполняемых файлов. Начиная с версии 3.1 в BYOB добавлена поддержка ООП — спрайты BYOB теперь позволяют наследование на основе прототипов. Для этого в язык, в частности, введён механизм клонирования спрайтов.

Panther

Panther — расширяет Скретч поддержкой drag-n-drop управления спрайтами, возможностью клонирования спрайтов (объектов), и подсистемой CYOB (которая, как и BYOB, позволяет создавать собственные командные блоки, но требует для этого знания языка Squeak (современный диалект Smalltalk, на котором написан Скретч и его модификации).

Механизм Mesh

Slash

Slash дополняет возможности BYOB 3.0 новыми возможностями Panther: клонированием и перетаскиванием спрайтов (объектов).

StarLogo TNG

Скретч 2.0

App Inventor

Ещё одной средой программирования, использующей стыковку визуальных логических блоков в стиле мозаики стал App Inventor — экспериментальная система визуального программирования для платформы Android.

Источник

«Scratch — ненастоящий язык программирования»: чему учат в кружках

Что думают родители про Скретч

Язык Скретч — это то, что рекомендуют использовать для знакомства детей от 7 лет с программированием.

При этом родители занимают две противоположных позиции.

Первые говорят следующее:

Вторые следуют рекомендациям преподавателей и методистов и ищут кружок, где изучают Скретч, но выбирают обычно по классическим параметрам — цена и удаленность от дома/школы.

Что предлагают кружки

На самом деле, с дополнительным образованием всё не так просто, как со школьным. Для школьных предметов есть стандарты и ЕГЭ с четкими критериями оценки. Потому изучение одного и того же школьного предмета в разных школах и у репетиторов может отличаться только глубиной и серьезностью подготовки.

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

Чем полезны учебные языки программирования

Например, в Инженерике мы не ставим задачей научить ребенка работать в программе Скретч. Это не самоцель. Скретч — действительно учебный язык и учебная среда для создания программ и игр, в настоящей разработке она не используется, но это не значит, что от нее сразу нужно отказываться. Вы же не станете сразу готовить блюдо по технологически сложному рецепту, не освоив базовые принципы готовки. А взяв профессиональное оборудование для приготовления вы не сможете использовать его на максимум. То же и с языками программирования. Общие принципы составления алгоритмов можно изучать и без компьютера, этому посвящены хорошие книги и упражнения (например, книги Дональда Кнута). Во взрослом возрасте синтаксис языка программирования (слова, на которых пишется код), изучаются за трое суток упорного погружения. В возрасте подростка изучить синтаксис языка можно за несколько лет. Для чего переусложнять этот опыт в самом начале? Тем более, если юный человек еще даже не определился, точно ли он хочет стать программистом.

Читайте также:  Вежливая форма обращения в итальянском языке

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

Примеры сложных проектов в среде Скретч

Посмотрите видео проектов, которые сделали ученики Инженерики (это индивидуальные и групповые проекты). Длительность создания такого проекта может достигать двух или трех месяцев. Это очень сложная работа при взаимодействии группы ребят, экспертов-консультантов и наставников. Не каждый взрослый смог бы довести подобный проект до конца, даже при том, что на отдельных упражнениях в алгоритмике показал бы себя наилучшим образом. Участие в подобных проектах не только позволяет применить знания к практике, но и развивает личностные качестве ребенка, те самые 4К-компетенции, о которых так много сейчас говорят — коммуникативность, умение работать в команде, креативность, критическое мышление.


Скретч как среда для развития мышления

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

Задача разработчиков не в том, чтобы писать код, как думают многие ребята, кто приходит на занятия. И не в том, чтобы создавать еще одну версию уже существующей игры (только собственную!). И не в том, чтобы делать копию программы, которая уже есть и всем известна. Любая программа появилась в компьютере не просто так. Ее создали разработчики, чтобы решать какую-то проблему человека, помогать ему в чём-то. Программу калькулятор и Excel создали, чтобы было легче считать, Word — чтобы делать красивые документы и сохранять шаблоны на будущее; Paint и Photoshop — чтобы создавать цифровые иллюстрации и легко изменять их; игры Майнкрафт и PUBG — чтобы отдохнуть, весело провести время с друзьями; движок Unity — чтобы самим создавать 3D-игры; а браузеры и социальные сети — чтобы получать нужную информацию и общаться с единомышленниками, не выходя из дома.

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

Очное обучение в группе сейчас полезнее индивидуального

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

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

Увидеть склонности ребенка можно только по его проектам

В Инженерике мы работаем с несколькими видами задач:

учебные упражнения — на них мы познаем принципы программирования, отрабатываем навыки, экспериментируем;

задания с четко обозначенным конечным результатом — через них мы учимся распознавать паттерны, следовать требованию, искать разные пути решения и находить оптимальные;

задания с четкими техническими требованиями и свободным конечным результатом — на них учимся соблюдать техническое задание, но при этом вкладывать частичку своего видения, креативить, выражать свои интересы;

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

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

Система дополнительного образования для 10-12 летних ребят и должна делать именно это — проявлять склонности, развивать качества характера и мышление, давать пробовать себя в деятельности, показывать возможности применения этих навыков в мире и будущей профессии. Совсем не обязательно, что после двух лет изучения программирования ребенок точно решит стать программистом. Но то алгоритмическое и вычислительное мышление, которое разовьется у ребенка под руководством наставника, используется во множестве самых разных областей и профессий.

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

Резюмируем

При выборе учебной программы уточняйте, какие навыки будут развиваться в ходе обучения и как именно. Через что можно будет увидеть результат.

Цена курса определяется количеством усилий, вложенных в разработку методики обучения, учебных материалов.

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

Не стоит думать, что если ребенок самостоятельно «разбирается с программой» или смотрит обучающие видео на YouTube, он научится программировать.

Источник

Мастерица
Adblock
detector