ScratchDuino - учителю. Рабочая программа по внеурочной деятельности в 5 классе.

Добрый день! Успешность внедрения того или иного оборудования в школу часто определяется простым фактором - есть ли для данного оборудования уже готовые рабочие программы, по которым можно начинать работать? Ну а поскольку нам такие программы писать пришлось и апробацию они прошли в самых боевых условиях, то решил поделиться наработками, заодно может кто из коллег какие правки предложит (ох уж мне эти новомодные регулятивные, познавательные, метапредметные.... Ну да ладно, не об этом)))
Итак, далее - некоторые размышления о курсах роботехники в школе и, как вариант - готовая рабочая программа организации внеурочной деятельности в 5 классе на основе набора ScratchDuino. Впоследствии, надеюсь, дополним этот материал сборником проектных работ.

Введение в действие образовательных стандартов нового поколения, основанных на использовании активно-деятельностного подхода к образованию, повлекло за собой не только перестройку самой базовой основы используемых в школе технологий обучения, но и открыло перспективы появления в школьной программе принципиально новых предметов, таких как образовательная роботехника. И это выглядит крайне логичным – ведь в этом новом предмете великолепно сочетаются интеграция учебных знаний из различных образовательных областей, возможности организации исследовательской, проектной работы, использование соревновательных элементов. Сейчас можно спорить о том, в каком именно виде роботехника придет в школу, будет это внеурочная деятельность, отдельный предмет или какая-то область технологии, будет она введена с 1-2 или с 5-6 классов, но то, что широкое внедрение курса произойдет уже в ближайшем будущем - представляется бесспорным. Причем мы говорим не о роботехнике в рамках кружковой деятельности или элективного курса, а о возможности введении нового предмета базового изучения. Время такое. Нас окружают разнообразные электронные устройства, практически у каждого школьника есть смартфон или планшет, а роботехника позволяет понять и осуществить переход из виртуального экранного мира в реальный мир физических объектов, зримо представить структуру команд устройства, понять алгоритмы управления и использовать их для выполнения требуемых действий. Ну, а если вспомнить, что современное производство вообще немыслимо без роботов, а в наших домах уже работают роботы-пылесосы, оконные мойщики и другие роботизированные системы, то понятно – современный человек должен иметь представление о том, как все это работает.

При внедрении образовательных курсов по роботехнике важное место занимает выбор аппаратной основы курса, робоплатформы. В настоящее время существует несколько решений в данной области, мы же предлагаем использовать в качестве такой основы платформу ScratchDuino. И, в первую очередь, это связано с возможностью на базе данной платформы организовать курс пропедевтики, не только закладывающий основы для изучения информатики, организации проектной деятельности в различных предметных областях, но и подготавливающий учащихся к работе со схемами Arduino, все более распространенными в средней школе. Отметим особо, что все программные решения в данном случае основаны на использовании свободного программного обеспечения, что соответствует Распоряжению Правительства РФ от 17 декабря 2010 г. № 2299-р "О плане перехода федеральных органов исполнительной власти и федеральных бюджетных учреждений на использование свободного программного обеспечения ( 2011 - 2015 годы )" и другим нормативным документам, предусматривающим ориентирование образовательных учреждений на использование СПО в учебном процессе.

С учебной точки зрения платформа обладает следующими преимуществами:

1Конструктив и компоновка. Все датчики и платы находятся в крепких и безопасных пластиковых модулях, сборка осуществляется простым соединением, контакты датчиков – магниты.

2. В качестве ПО используется популярнейшая свободная среда программирования Scratch, давно используемая в начальной и основной школе при обучении азам программирования. При этом сохраняется возможность использования для программирования робоплатформы более «взрослых» сред программирования.

3. Возможность использования для программирования платформы стандартного плагина Arduino ArduBlock позволяет сделать очень важный учебный шаг от визуального объектно-ориентированного программирования в среде, похожей на Scratch, к настоящему коду Arduino. Таким образом получается отличная учебная траектория Scratch – ArduBlock – Код. Использование ArduBlock и кода Arduino добавляет и возможность автономного использования робоплатформы, что делает возможным написание программ для участия в распространенных видах соревнований по роботехнике. А если добавить, что сейчас идут эксперименты разработчиков с возможностью работы с другими языками, тем же Python, то возможности платформы расширяются уже и на курсы углубленного изучения предмета информатики, роботехники. 

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

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

В настоящее время видится следующая структура использования платформы ScratchDuino в образовательной системе (на уровне внеурочной деятельности в соответствии с требованиями ФГОС, или в рамках предметной области технология, если будет предоставлена такая возможность):

1. 5 класс. Вводный курс роботехники. Освоение системы, изучение датчиков, создание простых программ управления роботом в среде Scratch. Предусматривает выполнение учащимися ряда проектных работ, решение создаваемых на занятии проблемных учебных ситуаций. Интеграция в рамках проектной деятельности с учебными курсами: математика, биология, изобразительное искусство, технология. Пропедевтика изучения информатики.

2. 6 класс. Продолжение изучения работы с платформой ScratchDuino, освоение работы с плагином ArduBlock для создания программ автономного управления робоплатформой, создание программной основы для использования робоплатформы на соревнованиях вида «Кегельринг». Курс предусматривает выполнение учащимися ряда проектных работ, решение создаваемых на занятии проблемных учебных ситуаций. Интеграция в рамках проектной деятельности с изучаемыми на данной ступени учебными курсами. Пропедевтика изучения информатики.

3. 7 класс. Создание новых датчиков и внешних индикаторов в ходе проектных работ, переход с использования ArduBlock к коду Arduino для создания программ автономного управления робоплатформой. Курс предусматривает выполнение учащимися ряда проектных работ, решение создаваемых на занятии проблемных учебных ситуаций. Интеграция в рамках проектной деятельности с изучаемыми на данной ступени учебными курсами. Пропедевтика изучения информатики, схемотехники Arduino.

Далее (в аттаче) предлагается примерная программа для курса внеурочной деятельности в 5 классе по общеинтеллектуальному направлению «Робототехника». Программа рассчитана на использование в качестве аппаратной основы только наборов ScratchDuino. Робоплатформа, но может использоваться и при дополнительном наличии цифровой измерительной лаборатории ScratchDuino.Лаборатория при соответствующей адаптации.

В приложении - примеры заданий и проектных работ для учащихся.

Download
prog_5_scratchDuino.pdf
Adobe Acrobat Document 436.3 KB
Download
prog_5_scratchDuino_1.pdf
Adobe Acrobat Document 436.6 KB

ScratchDuino - родителям. Творим вместе с детьми. Введение

Добрый день. Извините, что несколько неоднородно по направлению содержания идут статьи, но, по мере исследования робоплатформы и ее педагогического потенциала, появляются различные мысли по дополнительным возможностям использования набора, увлекают, вот и уходишь на разработку того или иного материала. Так получилось с направлением использования ArduBlock (ScratchDuino - новые горизонты с ArduBlock) и созданием периферийных дополнений для обратной связи с платформой. А вчера был интересный разговор с одним из родителей, который подошел с вопросом - нельзя ли использовать тот комплект, которым мы пользовались на внеурочке, в домашних условиях? Ребенку интересно, папа тоже решил "поиграть", да и как вариант отвлечь сына от игрушек на компьютере в сторону более интеллектуального занятия - тоже интересно. Я рассказал, что и как можно сделать, а потом решил по горячим следам начать еще одну рубрику в своих статьях по робоплатформе ScratchDuino - для родителей. Понятно, что многие материалы из основного цикла подойдут и для самостоятельного использования родителями, но некие направляющие лишними не будут, учитывая, что я ориентируюсь на ту категорию родителей, которые не являются учителями, ИКТ-специалистами, но при этом им интересно организовать некую исследовательскую работу вместе с ребенком. Опять же, не хочу, чтобы виделась рекламность, просто мы сейчас изучаем именно эту платформу, вот и пишу о ее использовании. Возможно, есть не менее интересные решения, о которых напишут коллеги.

Итак, начнем. 
1. ScratchDuino действительно очень неплохо подходит для организации совместной с ребенком деятельности по изучению роботехники. Причем, не только в тех случаях, когда это дополняет школьные занятия, но и, особенно, когда в школе у ребенка вообще нет ничего из данной области. Конечно, можно подумать о роботехнических наборах Lego - тоже вполне интересная тема (правда, дороговато оборудование), отлично выполнены, распространены, море дополнений... Но о данной теме довольно много материалов в сети, много разработок сопровождают эти наборы красочные инструкции по сборке. Набор же ScratchDuino очень неплох именно как база для освоения СПО Arduino с прицелом на будущий переход именно к этой платформе, чрезвычайно распространенной в мире. При этом набор модульный, крепеж магнитный, все детали защищены пластиком. Добавим к этому возможность работы сначала с удобной и понятной средой Scratch, а затем возможность перехода к собственно коду Arduino и получаем платформу "на вырост".
2. С какого возраста можно начинать? На мой взгляд (можно спорить) и по опыту работы - оптимально начинать класса с 4-го. И до 7-го можно вполне развивать тему. Хотя можно начинать и с 6, и с 7 класса, просто освоение пойдет быстрее и переход к серьезным задачам будет более резкий, иначе скоро станет неинтересно.
3. С чего начать и как двигаться дальше? Вот этому и будет посвящен данный цикл рассказов. Причем основная канва будет подходить ко всем возрастным группам, а вот по предлагаемым проектам могут быть корректировки, в зависимости от возраста и скорости усвоения материала, интереса участников и т.д.

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

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

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

Я бы предложил начать с изучения начал, собственно, программирования. Тут со мной многие не согласятся, но реально, из опыта - когда мы с 5-классниками сначала прошли несколько учебных задач со Scratch, закончив выполнением нескольких сложных проектов (лабиринты), переход к роботам оказался реально проще и понятнее, чем в варианте, когда работа с роботами была начата сразу в среде программирования, с попутными объяснениями. 

Этап 1. Изучаем среду программирования Scratch 
Собственно загрузить и установить среду Scratch несложно, она свободно распространяется и устанавливается просто.
Есть целое сообщество, занимающееся развитием и популяризацией среды. Вот, например, страницы официального ресурса "Для родителей" . Для более полного использования возможностей ресурса стоит пройти регистрацию.
Прямая ссылка на страницу загрузки среды: https://scratch.mit.edu/scratch_1.4/, выбираете свою операционную систему и загружаете дистрибутив. После загрузки запускаете файл и устанавливаете среду.

Если по каким-то причинам установка Scratch на компьютер неудобна - можно создавать проекты в on-line варианте среды (оцените, работая с планшета)))

Как изучать программирование в Scratch (у нас платформа ориентирована на данный язык, поэтому с него и начинаем), не будучи учителем? Вооружаемся каким-нибудь понятным и доступным пособием. Ресурсов много, возможно вы найдете более новое и интересное, но мне вполне нравится вот такое пособие "Среда программирования Scratch" (составители Борович П.С. и Бутко Е.Ю.). Или в on-line варианте оно же. Не стоит заучивать названия всех блоков, приведенных в начале, это, скорее, общий справочник, а вот выполнив практические работы, Вы явно получите общее впечатление о том, что можно делать в среде Scratch. Все расписано пошагово, с картинками, есть добавочные задания на проверку понимания. Дети справляются хорошо, но направляющая деятельность требуется и здесь. 
Внимание!
Например, уже в первой практической работе, когда дети учатся перемещать персонажа по экрану (что для них достаточно просто), возникает вопрос о направлениях движения (х и y, + и -). Для учащихся младших классов (4-5) стоит прямо нарисовать прямоугольное поле движения на листе бумаги. Поводить курсором по экрану, посмотреть как меняются цифры-координаты, выяснить, какому углу соответствуют какие цифры. Мне приходилось рисовать сверху шоколадку, а снизу лужу и объяснять, что + это когда тянемся к шоколадке, а - когда стремимся упасть в лужу)))) И тут не стоит спешить, понимание координат (ух, сложно!, но на самом деле за пять-десять смешных задач вполне решаемо) и движения - очень важно. Мы рисовали разные траектории и добивались, чтобы кот (персонаж) по нм прошел. Причем в варианте совместной с родителем деятельности можно рисовать траектории по очереди, друг другу. Несложные, для начала с прямыми углами, потом уже и с наклонными линиями. С движением сначала в одну сторону, потом с добавлением возвращения в исходную точку. В процессе обсуждения начинаем понимать, что смотреть надо на центр персонажа, что при движении по горизонтали надо менять только координату X, а по вертикали Y, при движении по наклонной - меняем обе координаты. В практике сразу начинаются координаты, для младшего возраста, это, конечно сложно, поэтому начинаем просто с шагов вперед, потом назад (с минусом).
Примеры заданий-траекторий, которые надо пройти персонажу:

Здесь:
1. Дойти до конца экрана и вернутся назад (вначале можно двигаться спиной, потом предложить подумать над вариантом разворота персонажа, поискать решение в практической работе).
Вариант решения без поворота:

Для поворота используем поворот (там есть подсказки, на сколько надо выбрать, чтобы повернуть влево, вправо, вверх, вниз, заодно проходим угол в 90 градусов))). 

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

2. Дойти до конца экрана и подняться до его середины (примерно, точно можно считать, но пожалеем самых маленьких).
Для взрослых здесь начинаются координаты, как и описано в практической работе. Но можно ли использовать поворот, как в предыдущей задаче????? Думаем вместе, пробуем, и вот оно, решение.

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

3 и 4. Тем же способом попробуем решить задачу движения по новым маршрутам.

Ну, а для 5-6 класса вполне можно поработать и с координатами. Используя уже тот путь, что описан в практической работе. Опять же, попробуйте решить все перечисленные задачи уже с координатами и движением по X и Y. Опять же, по другому как реализовать движение по наклонным линиям?
Примеры дополнительных заданий:

Мы не зря столь плотно остановились на движении персонажа. В дальнейшем нам придется программировать робота и основным его действием будет передвижение в пространстве с получением какой-то управляющей информации (с клавиатуры или от датчиков). 
В принципе, первичные навыки, требующиеся в дальнейшем для работы в среде с роботом, можно отработать уже на первой практической работе. Если тема ребенка интересует, разумеется, стоит пройти все работы пособия, научиться работать со звуком и костюмами. Ну, и если совсем увлечет, можно даже поработать с проектами, выбрав их из сотен существующих, например, используя вот это пособие (В.Г.Рындак, В.О.Дженджер, Л.В.Денисова Проектная деятельность школьника в среде программирования Scratch). Оно ориентированно на учителей, но там множество интересных проектов, детально описанных, так что вполне можно использовать для реализации самостоятельной исследовательской деятельности.

Если же программирование в Scratch начинает утомлять, и в глазах ребенка вопрос об обещанных роботах, то можно перейти непосредственно и к робоплатформе.
Установка и первоначальное программирование платформы детально расписаны в статьях:
ScratchDuino. Робоплатформа на СПО. Установка
ScratchDuino. Робоплатформа на СПО. Первый запуск
Надеюсь, описание позволит без особых проблем произвести сборку и первоначальный запуск платформы. Последующие проекты обсудим в следующей публикации цикла. Удачи. 
И помните - дети чрезвычайно чувствительно относятся к действиям, которые делаются "вместе". Уделите время совместным исследованиям и возможно, многие будущие проблемы в отношениях, в том числе и учебных, будут сняты.