Сорокина Т.Е.
ГБОУ школа с углубленным изучением английского языка №1319, г.Москва, учитель информатики,
ОТ STEM К STEAM-ОБРАЗОВАНИЮ через программную среду scratch
КЛЮЧЕВЫЕ СЛОВА
Информатика, пропедевтика программирования, программная среда, STEAM-образование, алгоритмика, Scratch, перевернутый урок.
АННОТАЦИЯ
В статье рассматриваются возможности программной среды Scratch для обучения школьников пятых классов. Представлен программный модуль «Пропедевтика
программирования со Scratch», рассматриваемый как STEAM-образование.
Мы живём сегодня в мире высоких технологий, однако во многих странах мира наблюдается дефицит научно-технических кадров. Именно поэтому широкое распространение повсеместно получило так называемое STEM-образование. STEM — это сокращение от английских слов: Science, Technology, Engineering and Math, т. е. наука (в понимании естествознание), технологии, инженерное дело и математика, другими словам STEM-образование является основой подготовки работников в области высоких технологий [1]. В различных странах мира созданы STEM-центры. Каждый из таких центров старается мотивировать студентов к выбору профессий из области высоких технологий, показывая их преимущества в ближайшем будущем. Статистическое бюро (Bureau of Labor Statistics, BLS) прогнозирует ежегодный рост профессий, связанных со STEM-образованием [2]. Наиболее быстрорастущими планируются специальности и профессии, связанные с компьютерными науками и инженерным делом. STEM-образование получило свое развитие в таких странах мира, как Австралия, Великобритания, Израиль, Китай, Корея, Сингапур, США. В указанных странах реализуются государственные программы в области STEM-образования.
В последнее время вместе с развитием науки и технологий, происходит развитие креативных индустрий (creative industries) [3]. В STEM-образование активно включаются творческие, художественные дисциплины, входящие в понятие Arts (искусство). Любые инновации предполагают креативный подход к решению проблемы, а ключом к креативности является Arts-образование. Именно поэтому в мировой практике происходит активное движение от STEM к STEAM образованию.
А что у нас?
Современная ситуация в нашей стране, как и во всём мире, характеризуется существенным кадровым дефицитом специалистов отрасли информационных технологий. Это отражено в правительственном документе «Стратегия развития отрасли информационных технологий в Российской Федерации на 2014-2020 годы и на перспективу до 2025 года» [4].
Агенство стратегических инициатив совместно с Московской школой управления «Сколково» провели исследование «Форсайт компетенций 2030», в результате которого составлен Атлас новых профессий [5]. Из атласа видно, что появляются новые высокотехнологичные отрасли промышленности (например, биотехнологии, энергогенерация и др.). Существенно меняются требования к специалисту будущего. В частности, необходима способность обрабатывать большие объемы информации, системное и алгоритмическое мышление.
Коль скоро необходим алгоритмический потенциал российских специалистов, то именно алгоритмическое мышление и нужно развивать. Ещё один документ, на основании которого рекомендовано заниматься развитием алгоритмической культуры школьников — План мероприятий в рамках развития «Концепции математического образования», принятой Правительством РФ [6].
В сложившейся ситуации нужно обучать будущих специалистов уже сегодня.
Многое в этом направлении делается. Начиная с 2012 года успешно развивается совместный проект Министерства образования РФ и корпорации Intel, включающий в себя сеть
«STEM-центров». Проект направлен на повышение интереса школьников к изучению точных, инженерных и естественных наук, предоставляя старшеклассникам возможности для развития исследовательского потенциала на базе научных лабораторий при ведущих вузах [7]. В 2013 году в Москве, Московской области и Приволжском федеральном округе функционировало 78 STEM-центров, более 2500 школьников приняло участие в мероприятиях проекта, к концу 2014 года количество STEM-центров увеличилось до 155 [8], а в текущем году планируется реализация проекта на федеральном уровне.
Для большего успеха STEM-образования и развития интереса школьников к отрасли информационных технологий, а также в соответствии с требованиями правительственных документов, нужно внести соответствующие изменения в основную образовательную программу.
Так каковы должны быть изменения? Чему же нужно учить в ближайшие 20 лет?
Нужно найти способ для того, чтобы развивать алгоритмическое мышление, дать возможность каждому школьнику попробовать себя в программировании и привлечь их в ИТ-отрасль. Как этого добиться? С помощью какого инструмента и в каком возрасте нужно начинать готовить к программированию?
Желательно, чтобы ещё до изучения какого-либо языка программирования высокого уровня учащиеся приобрели представление об алгоритмических структурах. Было бы хорошо, чтобы полученный опыт был практикоориентированным. Известно, что успешное знакомство с алгоритмическими структурами происходит в возрасте 5-6 классов, что обусловлено возрастными особенностями.
Попробуем разобраться с инструментом. С позиции учителя нужна программная среда, в которой есть алгоритмические конструкции. А с позиции ученика? Учитывая, что современный школьник окружен разного рода Smart-устройствами с самого раннего детства, то инструмент, должен быть современным, ярким, выразительным, доступным, интуитивнопонятным. Учитывая, что компьютерные технологии относятся к креативным отраслям (Arts), мы сможем способствовать развитию Arts-образования при использовании иллюстрированной программной среды. Время требует, чтобы ученик сам стремился к познанию, а мотивировать школьника к дальнейшему изучению может только инструмент, обеспечивающий быстрое получение результата. Из сказанного следует, что нужен инструмент — программная среда, которая способна удержать внимание, предоставить возможность приобрести первый опыт в алгоритмизации и программировании, не отпугнув при этом сложностью реализации. И такой инструмент есть — это иллюстрированная среда программирования Scratch, разработанная в лаборатории Масачусетского технологического университета и рассчитанная на детей от восьми до шестнадцати лет (проект группы Lifelong Kindergarten MIT Media Lab). Программная среда получила распространение по всему миру. Scratch-проекты создаются в 150 странах и доступны более чем на 40 языках [9]. Существенным преимуществом этого программного продукта является то, что за внешней простотой кроется мощный инструмент для развития алгоримического мышления.
Scratch — это иллюстрированная многоплатформенная свободная программная среда и поэтому может быть использована как в школе на уроках в рамках основного образования, так и при внеурочной деятельности или в рамках дополнительного образования школьников, желающих познакомиться с азами программирования, получая при этом быстрый результат в виде созданных своими руками игр, интерактивных обучающих программ, креативных проектов, иллюстрирующих различные процессы. Поскольку это свободное программное обеспечение, то не требует финансовых затрат со стороны родителей и может использоваться в домашних условиях.
Scratch конструктивно представляет собой соединение идеологии языка Logo и конструктора Lego, что вполне соответствует принципу преемственности образования, поскольку в дошкольном образовании раздел конструирования часто представлен Lego-конструированием, а первый опыт знакомства с информатикой в начальной школе часто базируется на среде ЛогоМиры.
Scratch — это иллюстрированная среда программирования, в организации и визуализации которой широко применяется блочная структура. Окно программы по назначению можно разделить на семь полей:
1. Поле функциональных блоков;
2. Поле команд;
3. Поле состояний;
4. Поле программ;
5. Поле запуска;
6. Поле исполнителей.
Каждый блок команд имеет не только свое название, но и окрашен в свой цвет, что обеспечивает визуальную привлекательность этого продукта для детей и способствует лучшему запоминанию. Логика представления команд и группировка их в блоки уже предполагает определенную алгоритмику. Для того, чтобы выбрать нужную команду ребёнку необходимо для начала вспомнить какого она цвета или, какую функцию выполняет и, соответственно, к какому блоку она относится.
Персонажи умеют перемещаться, менять свой внешний вид, придавая определенную реалистичность создаваемым сюжетам, развивая творческие способности обучающегося. Кроме того, возможно и рисование в процессе перемещения исполнителя.
Хорошей иллюстрацией преимуществ алгоритмов с использованием конечного цикла по отношению к линейным алгоритмам служит рисование геометрических фигур. Например, для рисования квадрата можно использовать линейный алгоритм, при этом программа будет состоять из восьми блоков или тот же самый результат можно получить, используя конечный цикл из четырёх повторений, количество команд в этом случае сократится до трёх.
Циклы в программной среде представлены разными командами. Они могут быть конечными, бесконечными и связанными определенными условиями. Существует возможность работы с вложенными циклами. В программной среде предусмотрено создание разветвленных алгоритмов. Для этой цели возможны как полная, так и короткая формы ветвления. Широко представлено использование переменных, операторов и сенсоров. Для различных типов параметров существуют разные графические изображения, не допускающие нелогичного их использования.
Возможно создание длинных конструкций путем слияния простых. Возможно поэкспериментировать с параллельными вычислениями.
Программная среда предоставляет возможности для обработки входных данных.
Таким образом, программная среда Scratch имеет в своем составе все необходимые конструкции для развития алгоритмического мышления и подготовке к программированию, а также вполне может рассматриваться как инструмент для начала инженерного образования.
Важной характеристикой программной среды является отсутствие необходимости изучать синтаксис используемых команд. Все команды уже напечатаны на соответствующих блоках. Это очень важно для обучающихся пятых классов потому, что предоставляет большую свободу в экспериментах с программированием и не отвлекает от логики создания программы необходимостью печатать нужные команды. Для того, чтобы собрать программу из блоков достаточно просто перетащить их в рабочее поле из поля команд.
Наличие богатых библиотек для исполнителей способствует привлекательности создаваемых учащимися проектов. Широкое использование графических возможностей приводит к развитию креативного мышления. А структурированность представляемой информации приучает мыслить логически.
Приобретя небольшой опыт написания первых программ, учащиеся получают возможность создавать своими руками небольшие игры, анимированные истории, мультимедийные проекты и интерактивные обучающие программы. Всё это способствует развитию творчества.
Остается вопрос: как обучать? Существует несколько подходов к использовании программной среды Scratch при обучении школьников. Визуальная привлекательность интерактивной среды и интуитивная понятность её интерфейса определяют первый, наиболее часто используемый подход. Он заключается в последовательном изучении команд и возможностей, предоставляемых средой программирования. Основной акцент в этом случае приходится на использование визуальных эффектов и мультимедийных возможностей интерактивной среды Scratch. Этот подход вполне соответствует Arts-образованию и достаточно часто используется при изучении в рамках начального образования, что вполне оправдано.
Второй подход заключается в использовании алгоритмических конструкций средствами программной среды. Он отличается тем, что оставляя внешнюю привлекательность создаваемых проектов, основной акцент изучения смещается на инструменты для изучения программирования. Именно он и лежит в основе программного модуля «Пропедевтика программирования со Scratch». В процессе создания Scratch-проектов программного модуля представлены мини-проекты для моделирования различных процессов, о которых идет речь на таких предметах, как геометрия,
физика, биология, география, что позволяет говорить о STEAM-образовании на базе программной среды.
В основе программы модуля «Пропедевтика программирования со Scratch» [10] лежит изучение алгоритмических конструкций, свойственных языкам программирования высокого уровня. Изучение модуля способствует развитию логических способностей. Учитывая возрастные особенности, программу можно включить в основную образовательную программу по изучению информационных технологий в 5 классе. Модуль основан на технологии проектного обучения. Программа проектной деятельности составлена так, что на каждом уроке каждый обучающийся создаёт свой мини-проект, а получая результат, испытывает ситуацию успеха, мотивирующего к продолжению изучения.
Современные школьники привыкли в повседневной жизни использовать информационные технологими. Они с большим удовольствием подписываются на видеоканалы и самостоятельно обучаются по видеоурокам, размещенным в сети Интернет. В декабре 2014 года на видеоканале «EDUCATION» при проведении акции «Час кода в России»[10][11] в рамках международной акции «Всемирный Час Кода» был размещен видеоурок "Знакомство со средой программирования SCRATCH" для учеников 5-7 классов, который является первым в программном модуле «Пропедевтика программирования со Scratch».
За прошедшие девять месяцев урок был просмотрен более шести тысяч раз, что свидетельствует о его востребованности.
Для разнообразия процесса обучения и достижения наилучшего результата могут быть использованы современные образовательные технологии. Одной из них является «перевёрнутое» обучение. Видеоуроки в этом случае могут применяться для самостоятельного изучения в домашних условиях. Небольшие видеоуроки можно просматривать в комфортном для обучающегося темпе, останавливая запись на новом материале и пропуская уже известные понятия. Можно перематывать запись вперёд и назад для детального освоения материала. Решение задач и дискуссии относительно возможных вариантов, а также консультации учителя по уже возникшим у обучающихся вопросам в этом случае переносятся на урочное время в школу. Таким образом, можно говорить об использовании образовательной технологии «перевёрнутого урока» в процессе изучения программного модуля «Пропедевтика программирования со Scratch».
Изучение программного модуля позволяет интегрировать знания из различных предметных областей, что во многом способствует их закреплению. Так, при работе над мини-проектами «Самолёт сквозь облака», «Дорога», «Энциклопедия комнатных растений», ученикам нужно использовать знания, полученные на уроках биологии. Создание мини-проектов «Таймер», «Часы» опирается на знания математики. Мини-проект «Карта» предполагает знания географии, при создании мини-проекта «Водолей» можно использовать навыки технологии и изобразительного искусства. Таким образом, тематика мини-проектов способствует интеграции таких предметов, как математика, биология, технология, география и др. [12] [13]
Блок задач программного модуля, посвящённый построению геометрических фигур исполнителем Scratch, предполагает определённые знания предметной области «математика». Именно поэтому рекомендованные в модуле задания подобраны в соответствии с изучаемым материалом по предмету, но с использованием технологии опережающего обучения. Поэтому на первом этапе изучения исключены команды поворота на любой угол, кроме прямого. Существующие в программной среде Scratch возможности освоения системы координат, которая на уроках математики изучается позднее, перенесены во вторую часть программного модуля. Методические рекомендации к программному модулю содержат большое количество задач, благодаря которым можно реализовать дифференцированный подход к обучению. Одарённые дети могут выбрать для решения значительное количество дополнительных задач, желающие могут получить задания для реализации мини-проектов во внеурочное время.
Многообразие визуальных средств программной среды Scratch способствует развитию креативного мышления обучающихся. Программа модуля «Пропедевтика программирования со Scratch» составлена так, что в процессе обучения обеспечивается приобретение практических навыков работы с инструментами графических редакторов. Наличие встроенного графического редактора способствует как развитию креативности учащихся, так и приобретению навыков работы с растровой графикой. Для свободы творчества можно не только использовать готовую библиотеку данных, её можно редактировать или создать что-то свое. В образовательной программе использованы оба типа графических редакторов — растровые и векторные. Принципы работы с растровой графикой познаются на примере встроенного в Scratch графического
редактора. Навыки практического применения графических примитивов векторной графики приобретаются на примере создания блок-схем в другой программе — векторном графическом редакторе LibreOfficeDraw, являющемся свободным программным продуктом. Его также можно установить в школе и дома. Кроме того, можно создать отдельные изображения в векторном редакторе LibreOfficeDraw, а затем импортировать их в Scratch для дальнейшего применения. Таким образом, приобретаются дополнительные компетенции в области использования информационных технологий, а именно — опыт работы в графических редакторах, как растровых, так и векторных.
Получение завершенного мини-проекта на каждом уроке позволяет каждому ученику почувствовать свою успешность. Массовое обучение началам программирования, благодаря визуализации программ в среде Scratch, происходит на позитивной ноте, способствует креативному развитию личности обучающего, формированию компетенций в области информационных технологий.
Большинство прошедших обучение в программной среде Scratch активно участвуют в конкурсах проектов, получая высокие награды на городских этапах, т.е. программная среда служит хорошим инструментом для создания исследовательских и творческих проектов, интерактивных обучающих программ.
Что в итоге получает ученик? Это первый опыт написания и отладки программ, представление об алгоритмах и исполнителях, возможную практику дома, мотивацию к изучению информационных технологий и программирования, а также развитие творческого подхода к решению задач.
Общедоступное программирование на Scratch не только способствует формированию алгоритмического мышления, формирует креативный подход к решению задач, но и служит мотивацией для обучающихся к выбору профессий отрасли информационных технологий и может быть классифицировано как STEAM-образование.