Выполнение учебного проекта «Взаимодействие роботов»: программирование
Цели и задачи
- Цель урока по SMART: за 45 минут в парах разработать, запрограммировать и протестировать фрагмент взаимодействия двух роботов по заданному сценарию, используя последовательность команд, условие или повторение, а затем объяснить логику программы и исправить не менее одной выявленной ошибки.
- Сформировать умение переводить жизненный сценарий взаимодействия роботов в алгоритм и программу, выделяя события, команды, условия и ожидаемый результат.
- Развивать навыки парного проектирования, распределения ролей, анализа ошибок и аргументированного выбора способа программирования.
- Формировать ответственное отношение к безопасной эксплуатации робототехнического оборудования, цифровой среде и результатам совместной работы.
- Показать связь программирования с математикой, физикой, информатикой и инженерными профессиями через создание работающего прототипа.
Планируемые результаты
Личностные
- Проявляют интерес к программированию как средству решения практической инженерной задачи.
- Осознают значение аккуратности, ответственности и взаимопомощи при работе с робототехническими устройствами.
- Принимают необходимость безопасного поведения при движении роботов и работе с электронным оборудованием.
- Оценивают собственный вклад в парный проект и уважительно относятся к идеям партнёра.
Метапредметные
- Планируют последовательность действий по созданию и проверке программы, распределяют время и роли.
- Извлекают информацию из условия проекта, схемы движения и интерфейса среды программирования.
- Сотрудничают в паре, формулируют вопросы, аргументируют выбор команд и договариваются о корректировках.
- Анализируют результат тестирования, находят расхождение между замыслом и поведением робота, предлагают исправление.
- Используют цифровые инструменты для программирования, сохранения проекта и демонстрации результата.
Предметные
- Знать назначение команд движения, остановки, ожидания, условного перехода и повторения в используемой робототехнической среде.
- Уметь составлять алгоритм взаимодействия двух роботов по словесному или графическому сценарию.
- Уметь создавать и запускать программу, изменять параметры скорости, времени движения или расстояния срабатывания датчика.
- Уметь проводить пошаговое тестирование и исправлять ошибки в алгоритме или параметрах программы.
- Владеть навыком краткого представления проекта с объяснением входных данных, команд и ожидаемого результата.
Универсальные учебные действия (УУД)
Личностные УУД
- Определяют личную роль в парном проекте и соотносят её с общей целью команды.
- Проявляют готовность доводить техническую задачу до результата через повторные испытания.
- Осознают ценность инженерного мышления, точности и безопасного использования цифровых технологий.
- Оценивают собственные успехи и затруднения без сравнения с другими командами.
Регулятивные УУД
- Формулируют цель программы и критерии успешного взаимодействия роботов.
- Планируют этапы работы: сценарий, алгоритм, программирование, тестирование, исправление, демонстрация.
- Контролируют соответствие реального движения робота заданному сценарию.
- Вносят точечные изменения в программу после анализа ошибки.
- Оценивают результат по критериям и формулируют следующий шаг улучшения.
Познавательные УУД
- Выделяют существенные условия задачи: начальное положение, событие запуска, последовательность действий и конечный результат.
- Сравнивают словесный алгоритм, блок-схему и программу как разные способы представления одного решения.
- Устанавливают причинно-следственную связь между параметром команды и движением робота.
- Моделируют взаимодействие роботов с помощью схемы, таблицы событий или псевдокода.
- Находят логические и технические ошибки по результатам наблюдения и тестирования.
Коммуникативные УУД
- Распределяют роли программиста, оператора и наблюдателя с возможностью их смены.
- Задают уточняющие вопросы о сценарии и предлагают изменения без давления на партнёра.
- Объясняют логику программы понятными терминами и приводят доказательства работоспособности решения.
- Согласуют действия при запуске роботов и соблюдают общий регламент испытаний.
- Конструктивно обсуждают ошибку, отделяя оценку программы от оценки человека.
Подготовка учителя к уроку
- Подготовить робототехнические наборы, контроллеры, двигатели, датчики, аккумуляторы и соединительные кабели; проверить заряд и исправность оборудования.
- Установить на ноутбуки или планшеты используемую среду программирования, создать пустой проект и проверить соединение с контроллерами.
- Распечатать карточки сценариев взаимодействия трёх уровней сложности — по одной карточке на пару.
- Распечатать лист проекта и лист тестирования — по одному комплекту на пару; включить поля «Сценарий», «Алгоритм», «Параметры», «Ошибки», «Исправления».
- Подготовить маршрутное поле с линиями старта, зонами остановки и безопасными границами — одно поле на 2–3 пары.
- Вывести на доску или экран памятку: «Сценарий → алгоритм → программа → тест → исправление» и правила безопасного запуска роботов.
- Подготовить таблицу команд: движение, поворот, остановка, ожидание, условие, повторение; рядом оставить место для значений параметров.
- Разложить на каждой рабочей зоне маркеры, измерительную ленту, карточки ролей и стикеры для фиксации ошибок.
- Подготовить таймер, проектор или интерактивную доску для демонстрации программы и краткой защиты.
- Предусмотреть резервный демонстрационный робот и заранее записанный пример программы на случай технического сбоя.
Ход урока
Этап 1. Организационный момент и инструктаж по безопасности (4 мин)
Цель этапа: организовать безопасную работу в парах, распределить роли и обозначить практический результат урока.
Время | Действие учителя | Действие учеников |
|---|---|---|
1 мин | Учитель приветствует класс и показывает на экране схему двух роботов, которые должны встретиться в обозначенной зоне. «Сегодня вы не будете просто запускать готовую модель. Ваша задача — превратить сценарий взаимодействия в работающую программу и доказать, что она выполняет замысел. В конце каждая пара представит не только результат, но и одно исправление, которое внесла после испытания». | Формулируют ожидаемый результат: «Два робота должны выполнить согласованную последовательность действий и не столкнуться». Записывают тему и дату. |
2 мин | Учитель раздаёт карточки ролей и напоминает правила: «До запуска проверьте свободное пространство. Не удерживайте движущийся робот руками, не тяните кабели и не меняйте соединения при включённом питании. Один участник отвечает за программу, второй — за размещение и наблюдение; после первого теста роли меняются». | Распределяют роли, надевают при необходимости защитные очки, проверяют рабочую зону и состояние набора. |
1 мин | Учитель показывает маршрутное поле и говорит: «Запуск выполняем только по команде. Если робот ведёт себя неожиданно, нажмите остановку или отключите питание безопасным способом. Ошибка программы — повод для анализа, а не для обвинения партнёра». | Называют два правила безопасности и подтверждают готовность поднятием карточки зелёного цвета. |
Завершение этапа: учитель подводит итог: «Рабочие зоны готовы, роли распределены, правила понятны. Теперь выясним, какие данные нужны программе, чтобы роботы взаимодействовали не случайно, а по плану».
Этап 2. Анализ сценария и постановка задачи (5 мин)
Цель этапа: выделить в сценарии начальные условия, события, действия роботов и критерии успешного результата.
Время | Действие учителя | Действие учеников |
|---|---|---|
2 мин | Учитель раздаёт карточки сценариев и организует приём «Подумай — обсуди в паре — поделись». «Сначала каждый самостоятельно прочитайте условие и подчеркните: где находятся роботы, что запускает взаимодействие, какое действие выполняет каждый робот и чем заканчивается сценарий. Затем одну минуту обсудите формулировки с партнёром». | Индивидуально выделяют в карточке начальные условия и конечный результат, затем сравнивают пометки в паре. |
2 мин | Учитель задаёт вопросы: «Какое событие должно быть первым? Нужно ли роботам двигаться одновременно? Что произойдёт, если датчик не обнаружит объект? Какие параметры можно изменить без перестройки всей программы?» Фиксирует на доске ответы в таблице «Событие — команда — результат». | Отвечают: «Сначала робот получает команду запуска», «роботы могут двигаться по очереди», «при отсутствии объекта программа должна продолжить ожидание или остановиться». Заполняют таблицу в листе проекта. |
1 мин | Учитель предлагает выбрать уровень задания: «Можно взять базовый сценарий с последовательностью команд, повышенный — с датчиком или повторением, либо продвинутый — с условием и обменом ролями. Выбор должен быть посильным, но требовать проверки». | Выбирают сценарий, объясняют партнёру причину выбора и формулируют критерий успеха. |
Завершение этапа: учитель подводит итог: «Мы отделили условие задачи от конкретных блоков программы. Следующий шаг — записать решение сначала словами и схемой, чтобы программа не превратилась в набор случайных команд».
Посмотрите план целиком
Зарегистрируйтесь — и откройте план урока по этой теме полностью: цели, ход урока и рефлексия по ФГОС.
Этап 3. Составление алгоритма и распределение действий (6 мин)
Цель этапа: спроектировать алгоритм взаимодействия роботов до начала программирования.
Время | Действие учителя | Действие учеников |
|---|---|---|
2 мин | Учитель демонстрирует на доске шаблон: «Старт → движение робота 1 → событие или ожидание → действие робота 2 → остановка → проверка результата». «Не записывайте пока названия блоков. Опишите, что должно произойти с каждым роботом. Такая запись помогает увидеть пропущенный шаг». | Заполняют алгоритм в листе проекта глаголами: «движется», «останавливается», «ожидает сигнал», «поворачивает», «подаёт световой или звуковой сигнал». |
2 мин | Учитель связывает задание с математикой и физикой: «При настройке движения учитывайте расстояние, время и скорость. Если робот проходит расстояние $s$ за время $t$, среднюю скорость можно оценить как $v = \frac{s}{t}$. Вам не нужно получать идеальную величину, но важно понимать, почему изменение времени меняет путь». | Измеряют длину участка, записывают предполагаемое время движения и объясняют, какой параметр будут изменять при ошибке. |
2 мин | Учитель предлагает применить приём «Снежный ком»: «Сначала каждый участник предложит один способ синхронизации роботов, затем пара выберет наиболее надёжный и отметит его в алгоритме. Если используется датчик, запишите условие: если событие произошло — выполнить действие, иначе — продолжать ожидание». | Предлагают варианты синхронизации, сравнивают их по надёжности, записывают выбранный алгоритм и отмечают место условия или повторения. |
Запись в тетрадях
Ученики записывают: «Программа взаимодействия состоит из начальных условий, последовательности команд, событий или условий, параметров и ожидаемого результата». Ниже оформляют краткий алгоритм своего сценария стрелками.
Завершение этапа: учитель подводит итог: «Алгоритм стал понятным человеку. Теперь переведём его на язык выбранной среды программирования, сохраняя порядок действий и проверяя смысл каждого блока».
Этап 4. Программирование и сборка проекта (12 мин)
Цель этапа: создать программу взаимодействия двух роботов и подготовить её к первому запуску.
Время | Действие учителя | Действие учеников |
|---|---|---|
3 мин | Учитель показывает на экране, как открыть проект, выбрать контроллер и добавить команды движения. «Собирайте программу по своему алгоритму. После каждого блока остановитесь и спросите партнёра: какой результат должен появиться после этой команды? Не копируйте пример без понимания. Названия блоков могут отличаться, но логика остаётся общей». | Открывают среду программирования, создают проект, выбирают контроллер и размещают начальные команды для первого робота. |
3 мин | Учитель демонстрирует настройку параметров: «Время движения, скорость и направление — это не декоративные поля. Изменение одного параметра меняет траекторию. Начните с небольшой скорости, чтобы безопасно увидеть результат. Добавьте остановку после каждого существенного действия». | Настраивают скорость и длительность движения, добавляют команды остановки, поворота или ожидания, сохраняют проект. |
3 мин | Учитель обращает внимание на синхронизацию: «Если роботы должны реагировать на событие, используйте датчик или временную задержку, предусмотренную вашей платформой. При условии проговорите обе ветви: что делает робот при обнаружении сигнала и что делает, если сигнала пока нет». | Добавляют условие, ожидание или повторение согласно сценарию, проговаривают партнёру назначение каждой ветви программы. |
3 мин | Учитель проводит промежуточный контроль парами: «Покажите друг другу начало и конец программы. Проверьте, есть ли запуск, остановка, сохранение проекта и безопасная скорость. Если в программе есть команда, которой нет в алгоритме, объясните её необходимость или удалите». | Взаимно проверяют проекты по чек-листу, находят лишние или пропущенные команды, сохраняют исправленную версию. |
Завершение этапа: учитель подводит итог: «Программа собрана, но её нельзя считать готовой только потому, что она выглядит логично на экране. Теперь наступает инженерная часть работы — запуск, наблюдение, фиксация расхождений и корректировка параметров».
Этап 5. Тестирование, исправление и повторный запуск (10 мин)
Цель этапа: проверить работу программы на реальном поле, выявить ошибку и внести обоснованное исправление.
Время | Действие учителя | Действие учеников |
|---|---|---|
2 мин | Учитель объясняет приём «Цикл отладки»: «Перед запуском оператор вслух называет, что должно произойти. Наблюдатель не вмешивается в движение, а фиксирует фактический результат: время, направление, место остановки и ошибку. После запуска не меняйте сразу всё — выберите один параметр для проверки». | Запускают роботов на малой скорости, наблюдатель записывает фактическую траекторию и момент расхождения с алгоритмом. |
3 мин | Учитель подходит к парам и задаёт вопросы: «На каком шаге возникло расхождение? Это ошибка в порядке команд, в соединении деталей, в направлении двигателя или в параметре времени? Какое единственное изменение даст нам информацию?» | Сравнивают ожидаемый и фактический результат, называют причину: «Робот остановился раньше, потому что время движения слишком мало», или «Датчик направлен в сторону». Вносят одно изменение. |
3 мин | Учитель организует повторный запуск: «Теперь проверьте, исчезла ли именно обнаруженная ошибка. Если результат улучшился, сохраните версию и запишите изменение. Если нет, сформулируйте новую гипотезу, а не меняйте параметры случайно». | Повторно запускают программу, сравнивают результат, фиксируют параметр до и после изменения, сохраняют рабочую версию. |
2 мин | Учитель предлагает двум соседним парам провести взаимную мини-проверку: «Расскажите соседям, какой сценарий выполняете и какую ошибку исправили. Партнёры задают один уточняющий вопрос и называют одну сильную сторону решения». | Объясняют соседней паре логику программы, задают и отвечают на уточняющий вопрос, записывают совет по улучшению. |
Эталон анализа ошибки
Учитель предлагает универсальную последовательность: 1) назвать ожидаемое действие; 2) описать фактическое действие; 3) определить первый момент расхождения; 4) проверить соединения и направление; 5) изменить только один параметр; 6) повторить запуск; 7) записать результат. Например: робот должен проехать 40 см, но проехал 30 см; при неизменной скорости увеличивают время движения небольшим шагом и повторяют испытание, не меняя одновременно направление и программу второго робота.
Завершение этапа: учитель подводит итог: «Мы увидели, что работа программиста — это не угадывание параметров, а последовательное исследование. Осталось представить результат так, чтобы другой человек понял и сценарий, и логику вашей программы».
Этап 6. Демонстрация проектов и формирующее оценивание (5 мин)
Цель этапа: представить результат, объяснить алгоритм и получить обратную связь по критериям.
Время | Действие учителя | Действие учеников |
|---|---|---|
3 мин | Учитель вызывает несколько пар для короткой демонстрации и задаёт единый формат: «За 30 секунд назовите сценарий, за 30 секунд покажите запуск, затем объясните одну ключевую команду и одну исправленную ошибку. Остальные пары оценивают не внешнюю эффектность, а соответствие алгоритму, безопасность и обоснованность отладки». | Демонстрируют взаимодействие роботов, называют условие запуска, ключевую команду и внесённое исправление. |
2 мин | Учитель проводит приём «Две звезды и пожелание»: «На стикере запишите две сильные стороны проекта и одно конкретное пожелание: например, точнее настроить остановку или добавить обработку ситуации, когда датчик не срабатывает». | Заполняют стикеры, прикрепляют их к листам проектов и выбирают одно пожелание, которое команда сможет реализовать позже. |
Завершение этапа: учитель подводит итог: «Сегодня вы показали не только движение роботов, но и полный инженерный цикл: постановку задачи, проектирование, программирование, испытание и улучшение. Завершим урок индивидуальной рефлексией, чтобы понять, какой этап стал для вас самым сильным».
Этап 7. Рефлексия и домашнее задание (3 мин)
Цель этапа: осмыслить освоенные способы программирования, зафиксировать затруднения и определить дальнейшее направление проекта.
Время | Действие учителя | Действие учеников |
|---|---|---|
2 мин | Учитель раздаёт мини-лист самооценки и говорит: «Отметьте, что вы сегодня действительно сделали: составили алгоритм, использовали условие или повторение, протестировали программу, нашли ошибку, объяснили решение партнёрам. В последней строке запишите вопрос, который остался». | Отмечают освоенные действия, формулируют одно затруднение и один следующий шаг, например: «Хочу научиться точнее обрабатывать показания датчика». |
1 мин | Учитель задаёт контрольные вопросы: «Чем алгоритм отличается от программы? Зачем нужен повторный запуск? Почему нельзя менять сразу несколько параметров? Как доказать, что роботы взаимодействуют по сценарию?» | Отвечают: «Алгоритм описывает шаги, программа задаёт их роботу», «повторный запуск проверяет исправление», «иначе нельзя понять причину изменения», «нужно сравнить ожидаемый и фактический результат». |
Завершение этапа: учитель подводит итог: «Вы завершили практическую часть и зафиксировали результат. Сохраните проект и лист тестирования, потому что на следующем занятии мы сможем улучшить сценарий и добавить более сложную реакцию робота на внешнее событие».
Критерии оценивания практической работы
- «5» — пара составила полный алгоритм, создала работающую программу, продемонстрировала взаимодействие роботов без нарушения безопасности, объяснила назначение основных команд и документально зафиксировала найденную и исправленную ошибку.
- «4» — сценарий в основном выполнен, программа содержит последовательность команд и тестирование, но есть небольшая неточность в параметрах или объяснении; ошибка исправлена с частичной помощью учителя.
- «3» — создана основа программы и выполнена часть сценария, однако взаимодействие нестабильно, отсутствует подробная фиксация тестирования или ученик затрудняется объяснить связь между командой и движением робота.
Рефлексия
Вопрос для ученика | Цель вопроса |
|---|---|
Какой этап — алгоритм, программирование или тестирование — оказался для вас самым понятным? | Выявление субъективно освоенного этапа и сильной стороны ученика. |
На каком шаге поведение робота впервые разошлось с планом? | Проверка умения находить первый момент логического или технического сбоя. |
Какое изменение вы внесли после испытания и почему выбрали именно его? | Проверка осознанной отладки, а не случайного перебора параметров. |
Что вы хотели бы добавить во взаимодействие роботов на следующем уроке? | Выявление мотивации, самостоятельности и зоны ближайшего развития. |
Завершающее слово учителя
«Сегодня вы работали как инженерная команда: сначала описали задачу, затем построили алгоритм, запрограммировали роботов и проверили результат на практике. Самая частая ошибка — менять сразу несколько параметров, поэтому важно двигаться от наблюдения к гипотезе и только потом к исправлению. Вы убедились, что программа становится надёжной благодаря тестированию и совместному обсуждению. На следующем уроке мы усложним взаимодействие и попробуем сделать реакцию робота более устойчивой к изменению условий».
Домашнее задание
Уровень | Что задать | Зачем |
|---|---|---|
Базовый (обязательный) | Составить на бумаге алгоритм взаимодействия двух роботов в бытовой ситуации: один робот обнаруживает препятствие, второй останавливается и подаёт сигнал. Использовать не менее 6 последовательных шагов и указать одно условие. | Закрепляет перевод жизненного сценария в алгоритм; при проверке обратить внимание на последовательность, полноту условия и однозначность команд. |
Средний (повышающий) | Разработать псевдокод программы для выбранного сценария урока с использованием движения, остановки, ожидания и повторения или условия. Отдельно описать две возможные ошибки и способы их проверки. | Развивает умение проектировать программу до работы с оборудованием; при проверке оценить наличие ветвей, параметров и логики отладки. |
Продвинутый (дополнительный) | Предложить улучшенную версию проекта «Взаимодействие роботов»: добавить реакцию на изменение расстояния, света, звука или наличие препятствия. Представить схему событий, ожидаемое поведение и критерий успешного тестирования. | Формирует инженерное и исследовательское мышление; при проверке обратить внимание на реалистичность датчика, связь условия с действием и измеримость результата. |
Контрольные вопросы перед выходом из класса: «Какие элементы обязательно должны быть в программе взаимодействия? Как определить первый момент ошибки? Какой параметр вы изменяли сегодня и как это повлияло на движение? Почему безопасность важнее скорости выполнения задания?»