Одним из направлений образовательной политики РФ является создание доступной цифровой образовательной среды, соответствующей требованиям новых государственных стандартов. Эффективность обучения, в частности обучения информатике, во многом зависит от того, насколько сильно мотивированы учащиеся на освоение изучаемой дисциплины [1]. В последнее время робототехника активно внедряется в систему школьного образования, но по своей специфике преподается в основном как элемент внеурочной деятельности без связи с целями и задачами, стоящими перед общеобразовательными предметами, прежде всего, информатикой [2]. Возможности робототехники как средства обучения рассматриваются далеко не в полной мере. Как показывает практика, введение элементов робототехники при изучении темы «Алгоритмизация и программирование» позволяет заинтересовать учащихся и сделать учебный процесс практико-ориентированным [3, 4].
Актуальность статьи заключается в том, что направление «робототехника» в большинстве случаев реализуется в школе через сборку роботизированных моделей, а их программированию уделяется недостаточно внимания. Следовательно, возникает необходимость в учебном курсе, сочетающем приемы конструирования и программирования роботов [5, 6].
Цель работы – продемонстрировать возможности применения робототехники как средства достижения образовательных результатов при изучении информатики в основной школе.
Материал и методы исследования: анализ учебной литературы по методике обучения информатике в школе; исследование программ и нормативных документов, определяющих содержание учебной робототехники; анализ педагогического опыта; изучение работ, рассматривающих образовательный потенциал робототехники.
Результаты исследования и их обсуждение. Обучение учащихся робототехнике в рамках дисциплины «Информатика» основывается на использовании специальных робототехнических программируемых наборов (конструкторов). Наиболее распространенными конструкторами, используемыми в образовании для всех возрастных групп учащихся, являются Lego и Arduino.
Выделим направления, по которым традиционно ведется подготовка учащихся в области робототехники [7].
1. Изучение исторических сведений о развитии робототехники, анализ программных сред для программирования роботов и робототехнических конструкторов.
2. Развитие навыков сборки роботов по схемам и конструирования собственных моделей; изучение различных сред и языков программирования роботов.
3. Подготовка к участию в различных робототехнических мероприятиях: соревнованиях, фестивалях, конкурсах и т.д.
На наш взгляд, изучение программирования в школьном курсе информатики должно рассматриваться не с точки зрения усвоения определенного языка программирования, а с точки зрения развития универсальных учебных действий учащихся. Этим объясняется наличие большого количества учебных языков программирования, основанных на концепции робота-исполнителя (Python, КуМир и др.). Учащиеся должны усвоить некие фундаментальные принципы, которые лежат в процессе формализации задачи и составления алгоритма ее решения [8].
Разработанный курс «Программирование на базе платформы Arduino» (68 аудиторных часов) способствует эффективному овладению учащимися универсальными учебными действиями, выделенными во ФГОС ООО, формированию компетенций в области использования информационно-коммуникационных технологий, учебно-исследовательской и проектной деятельности [9]. Главными целями разработанного курса являются создание условий для освоения знаний по разделу «Алгоритмизации и программирование» с использованием робототехнических конструкторов, формирование умений и навыков решения различных видов задач, развитие мотивации к изучению информатики. Учащиеся собирают и программируют базовые модели на робототехническом конструкторе Arduino. Эта одна из самых распространенных платформ для обучения программированию. Для программирования используются упрощенная версия языка высокого уровня C++ и среда Arduino IDE.
Задачи курса «Программирование на базе платформы Arduino»
1. Сформировать понятие алгоритма.
2. Развить навыки программирования средствами языка C++ в среде Arduino IDE.
3. Сформировать умение проектировать, конструировать, собирать и программировать робототехническое устройство самостоятельно.
4. Углубить знания и повысить мотивацию к обучению информатики.
Курс состоит из разделов, каждый из которых, в свою очередь, делится на теоретическую и практическую части. Теоретическая часть содержит информацию о построении электрических схем и основы программирования. В практической части содержится описание процесса разработки схем и программ. Основные разделы разработанного учебного курса следующие.
Раздел 1. Основы программирования на платформе Arduino.
Тема 1. Различные типы роботов, их характеристики. Понятие «исполнитель» на основе робота. Перечень основных операторов и команд. Визуальное программирование. Электронные компоненты. Оболочка Arduino IDE. Структура и состав микроконтроллера. Пины. Процедуры setup и loop, pinMode, digitalWrite, delay.
Тема 2. Переменные в Arduino IDE. Линейный алгоритм при программировании робота. Особенности ввода-вывода информации. Типы данных. Основные операторы и команды Arduino IDE.
Тема 3. Сенсоры и датчики, их подключение и программирование. Управление устройствами. Роль датчиков в управляемых системах. Переменные резисторы. Кнопки. Двигатели и жидкокристаллические экраны. Основные операторы и команды Arduino IDE.
Тема 4. Циклические алгоритмы. Виды. Циклы в робототехнике. Управление двигателями и сервоприводами. Библиотека для работы с сервоприводами. Роль датчиков в управляемых системах.
Тема 5. Подключение LCD-дисплея. Подключение датчика температуры и влажности. Собственные функции в Arduino IDE. Массивы. Строки. Воспроизведение произвольных слов на азбуке Морзе. Пьезоэффект и звук.
Тема 6. Транзисторы. Работа с цветом. Сборка по инструкции и без нее. Езда робота по линии. Собственные библиотеки.
Раздел 2. Соревнования и игры по робототехнике. Изучение различных положений соревнований роботов. Анализ существующих игр для роботов, разработка новых видов робоспорта.
Раздел 3. Проектная работа и защита проекта.
Примерные темы проектов на основе робототехнического конструктора Arduino: «Счетчик нажатий и проходов», «Определение расстояния: ультразвуковой датчик», «LCD-дисплей. Построение погодной станции», «Дверной звонок», «Двигатель. Модель умного вентилятора», «Железнодорожный переезд (шлагбаум)», «Детектор лжи».
В представленном выше планировании выделим темы, которые изучаются в содержательной линии «Алгоритмизация и программирование» в курсе «Информатика и ИКТ».
5-й класс: Алгоритм (подробно изучаются линейный алгоритм и алгоритм ветвления). Свойства алгоритма. Способы записи алгоритма. Исполнители.
6-й класс: Алгоритмизация и их исполнители. Формы записи алгоритмов. Блок-схемы. Линейные, разветвляющие и циклические алгоритмы.
7-й класс: Типы переменных. Правила записи алгоритмических выражений. Программирование линейных алгоритмов. Операторы ввода и вывода, присваивания.
8-й класс: Составные условия. Программирование различных видов циклических алгоритмов.
9-й класс: Файлы. Вложенные циклы. Понятие о массивах. Символьные строки.
11-й класс: Строковые функции. Массивы. Рекурсивные алгоритмы. Структурное программирование.
Помимо теоретических занятий в курсе, важную роль играют практические задания, на которых самостоятельно решаются различные типы задач по программированию, выполняются проектные задания. Для контроля знаний используется рейтинговая система: усвоение теоретической части проверяется с помощью тестов, а практические занятия оцениваются определенным количеством баллов.
Приведем примеры лабораторных работ. Тема «Линейный алгоритм при программировании робота». Вначале учащиеся знакомятся с процедурами setup и loop, pinMode, digitalWrite и delay. Структура простой программы, написанной в среде Arduino IDE, в сравнении с PascalABC и графическим представлением алгоритма (блок-схема) представлена в таблице.
Сравнение программ
Arduino IDE |
PascalABC |
Блок-схема |
int a; int b; //обозначение целочисленных переменных void setup() //начало программы { Serial.begin (9600); //скорость передачи данных в бит/с } void loop() //тело программы { b=5; a=b*10; Serial.println (a); //вывод ответа delay(9000); //задержка на 9 сек. } |
var a, b: integer; {объявление переменных целого типа} begin {начало программы} b:=5; a:=b*10; write (a); {Вывод ответа} end. {конец программы} |
Далее приводится содержание лабораторной работы, ориентированной на приобретение навыков решения задач по теме «Цикл с параметром for». В приведенном программном коде Arduino светодиод мигает 500 раз с увеличением времени свечения на 1 миллисекунду каждый повтор. В основе программы лежит цикл с параметром, управляющий миганием встроенного светодиода на 13-м порту, при этом частота мигания уменьшается по мере приближения к концу цикла. Ниже представлена программа, записанная с помощью среды Arduino IDE:
void setup()
{
pinMode(13, OUTPUT);
}
void loop()
{
int k;
for (k=0; k<500;k++)
digitalWrite(13, HIGH);
delay(k);
digitalWrite(13, 0);
Таким образом, освоение робототехники в процессе урочной деятельности по информатике осуществляется на основе методики, включающей в себя содержательный и процессуальный компоненты модулей «Робототехника» и «Программирование»
В качестве методического обеспечения разработанного курса мы создали сайт. Данный ресурс предназначен, прежде всего, для учителей, осваивающих методику включения робототехники в школьный учебный курс «Информатика и ИКТ». Однако это не означает, что сайт не будет полезен и опытным педагогам, да и всем любителям робототехники, так как предполагает размещение разработанных алгоритмов для подготовки к соревнованиям. Сайт состоит из следующих страниц.
1. «Главная» страница (рис.), содержит информацию об особенностях изучения робототехники в школе.
Главная страница
2. На странице «Тематическое планирование» представлено тематическое планирование факультативного курса «Программирование на базе платформы Arduino» в средней школе в виде таблицы. Можно увидеть: тему занятия; что ученики изучают на этом занятии; сколько часов отводится на каждую тему.
3. На странице «Содержание курса» представлено содержание курса, разбитого на блоки по темам. Показано, что ученики будут знать и уметь в результате изучения каждой темы. Содержит информацию о целях и задачах курса.
4. Страница «Эффективность применения курса» содержит информацию об эффективности применения курса «Программирование на базе платформы Arduino» в средней школе. Показаны итоги реализации курса в среднем звене на базе МБОУ лицей № 73 г. Пензы.
5. Страница «Мероприятия» содержит информацию о соревнованиях по робототехнике, которые проводились в 2014–2020 гг. Представлена информация о соревнованиях по робототехнике «Robot Life» и «ТехноРобот», проводимых на базе Педагогического института им. В.Г. Белинского (факультет физико-математических и естественных наук), и мастер-классов в школах г. Пензы (МБОУ лицей № 73 г. Пензы) и Пензенской области (МБОУ «СОШ № 1» с. Грабово, МБОУ «СОШ № 2 с. Грабово им. героя России С.В. Кустова»).
6. На странице «Галерея» представлен фотоотчет о соревнованиях по робототехнике, которые нами организовывались и проводились.
Заключение. В результате изучения курса «Программирование на базе платформы Arduino» учащиеся будут уметь конструировать и программировать роботов различной степени сложности, понимать написанный программный код управления устройством, вносить незначительные изменения, не затрагивающие структуру программы (например, значения констант) переменных, проходить все этапы проектной деятельности, создавать творческие работы. У них улучшится понимание основных алгоритмических структур и вырастет уровень мотивации к изучению содержательной линии «Алгоритмизация и программирование» курса информатики. В целом, представленные методические решения обучения робототехнике в рамках школьного курса информатики оказались доступными для учащихся и эффективными как в дидактическом, так и в развивающем ключе.
Курс был апробирован в практике работы МБОУ «Лицей информационных систем и технологий» № 73 г. Пензы (8–9-е классы). Для проверки эффективности предлагаемой методики в конце учебного года была проведена защита проектных работ, на основании оценки качества которых были сделаны выводы об уровне усвоения учащимися материала разработанного курса. Большинство учащихся высказались о необходимости данного курса для повышения уровня теоретических знаний и формирования практических навыков программирования.
Библиографическая ссылка
Кочеткова О.А., Пудовкина Ю.Н., Родионов М.А., Егина В.А. РОБОТОТЕХНИКА КАК СРЕДСТВО ОБУЧЕНИЯ УЧАЩИХСЯ ПРОГРАММИРОВАНИЮ И АЛГОРИТМИЗАЦИИ // Современные проблемы науки и образования. – 2020. – № 6. ;URL: https://science-education.ru/ru/article/view?id=30287 (дата обращения: 11.10.2024).