Общеразвивающая программа курса дополнительного образования "Программирование беспилотного летательного аппарата на Python"

Разделы: Информатика


Пояснительная записка

Программа курса дополнительного образования разработана на основе программы «Основы программирования на языке Python на примере программирования беспилотного летательного аппарата», авторы Белоусова А.С., Ершов С.А. - М.: ФНФРО, 2019.

Актуальность: в настоящее время процесс информатизации проявляется во всех сферах человеческой деятельности. Использование современных источников информации, также совершенствование информационных технологий немыслимо без участия квалифицированных и увлечённых специалистов, в связи с этим внедрение курса «Программирование беспилотного летательного аппарата на Python» в учебный процесс актуально.

Программа курса «Программирование беспилотного летательного аппарата на Python» направлена на подготовку творческой, технически грамотной, гармонично развитой личности, обладающей логическим мышлением, способной анализировать и решать задачи в команде в области информационных и аэротехнологий, решать ситуационные кейсовые задания, основанные на групповых проектах.

Учебный курс «Программирование беспилотного летательного аппарата на Python» направлен на изучение основ программирования на языке Python и программирование автономных квадрокоптеров.

Учебный курс «Программирование беспилотного летательного аппарата на Python» представляет собой самостоятельный модуль и содержит необходимые темы из курса информатики и физики.

В рамках курса обучающиеся смогут познакомиться с физическими, техническими и математическими понятиями. Приобретённые знания будут применимы в творческих проектах.

Цель программы: освоение Hard-компетенций и Soft-компетенций обучающимися в области программирования через использование кейс-технологии.

Задачи:

Обучающие:

  • повторить базовые понятия, изученные в курсе предмета информатики: алгоритм, переменная, цикл, условия, ветвление, вычислимая функция;
  • сформировать навыки выполнения технологической цепочки разработки программ средствами языка программирования Python;
  • изучить основные конструкции языка программирования Python, позволяющие работать с простыми и составными типами данных (ветвления, циклы, массивы);
  • научить применять навыки программирования на конкретной учебной ситуации (программирование беспилотных летательных аппаратов);
  • привить навыки проектной деятельности.

Развивающие:

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

Воспитательные:

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

Планируемые результаты

Предметные результаты: В результате освоения программы обучающиеся должны

знать:

  • основные алгоритмические конструкции;
  • принципы структурного программирования на языке Python;
  • что такое беспилотные летательные аппараты (БПЛА) и их предназначение;
  • устройство БПЛА;

уметь:

  • составлять алгоритмы для решения прикладных задач;
  • реализовывать алгоритмы на компьютере в виде программ, написанных на языке Python;
  • отлаживать и тестировать программы, написанные на языке Python;
  • настраивать БПЛА;
  • представлять свой проект.

владеть:

  • основной терминологией в области алгоритмизации и программирования;
  • основными навыками программирования на языке Python;

Личностные результаты:

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

Метапредметные результаты:

Регулятивные УУД:

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

Познавательные УУД:

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

Коммуникативные УУД:

  • умение аргументировать свою точку зрения на выбор оснований и критериев при выделении признаков, сравнении и классификации объектов;
  • умение выслушивать собеседника и вести диалог;
  • способность признавать возможность существования различных точек зрения и права каждого иметь свою;
  • умение планировать учебное сотрудничество с наставником и другими обучающимися: определять цели, функции участников, способы взаимодействия;
  • умение осуществлять постановку вопросов: инициативное сотрудничество в поиске и сборе информации;
  • умение разрешать конфликты: выявление, идентификация проблемы, поиск и оценка альтернативных способов разрешения конфликта, принятие решения и его реализация;
  • умение с достаточной полнотой и точностью выражать свои мысли в соответствии с задачами и условиями коммуникации;
  • владение монологической и диалогической формами речи.

Система оценки достижения планируемых результатов

Формы подведения итогов реализации программы курса дополнительного образования «Программирование беспилотного летательного аппарата»

Подведение итогов реализуется в рамках следующих мероприятий: тестирование знаний и умений по программированию на языке Python, защита результатов выполнения кейса «Программирование автономных квадрокоптеров».

При тестировании все верные ответы берутся за 100 %, уровень усвоения языка программирования Python выставляется в соответствии с таблицей:

Процент выполнения задания

Уровень усвоения

81% и более

Высокий

66% - 80%

Выше среднего

51% - 65%

Средний

31% - 50%

Ниже среднего

0% - 30%

Низкий

Одной из форм защиты результатов выполнения кейса «Программирование автономных квадрокоптеров» будет являться программный код полета квадрокоптера:

Реализация программного кода

Уровень усвоения

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

Высокий

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

Выше среднего

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

Средний

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

Ниже среднего

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

Низкий

Формы демонстрации результатов обучения

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

Формы диагностики результатов обучения

Беседа, тестирование. опрос

Учебно-тематический план

Название раздела, темы

Количество часов

Формы аттестации

Всего

Теория

Практика

1

Техника безопасности. Введение в программу курса дополнительного образования.

1

1

0

2

Основы языка Python. Примеры на языке Python с разбором конструкций: циклы, условия, ветвления, массивы, типы данных.

3

1

2

Тестирование

Кейс «Программирование автономных квадрокоптеров»

13

5

8

3

Техника безопасности при полетах. Проведение полетов в ручном режиме.

2

1

1

Демонстрация полетов

4

Программирование взлета и посадки БПЛА.

4

2

2

Демонстрация взлета и посадки БПЛА

5

Выполнение команд «разворот», «изменение высоты», «изменение позиции»

6

2

4

Демонстрация

6

Защита и демонстрация проекта.

1

0

1

Демонстрация решений кейса

Итого:

17

7

10

Содержание тем курса

Темы занятий

Содержание занятий

Теория

Практика

1

Техника безопасности. Введение в программу курса дополнительного образования (1 ч).

Введение в программу. Ознакомление обучающихся с программой, приемами и формами работы. Вводный инструктаж по ТБ.

Демонстрация полета БПЛА вручную. Демонстрация запрограммированного полета БПЛА.

2

Основы языка Python. Примеры на языке Python с разбором конструкций: циклы, условия, ветвления, массивы, типы данных (3 ч).

История языка Python, сфера применения языка, различные версии, особенности синтаксиса. Повторение: Объявление и с пользование переменных в Python. Использование условий, ветвлений, циклов. Использование строк, массивов, кортежей, словарей.

Запуск интерпретатора. Написание простейших демонстрационных программ. Мини-программы внутри программы. Выражения в вызовах функций. Имена переменных. Упражнения по написанию программ с использованием переменных, условий и циклов. Генерация случайных чисел. Операции сравнения.

Кейс «Программирование автономных квадрокоптеров» (13 ч.)

3

Техника безопасности при полётах. Проведение полётов в ручном режиме (2 ч.)

Знакомство с кейсом, представление поставленной проблемы, правила техники безопасности. Изучение конструкции квадрокоптеров.

Полёты на квадрокоптерах в ручном режиме.

4

Программирование взлета и посадки БПЛА (4 ч).

Основы программирования квадрокоптеров на языке Python.

Тестирование написанного кода в режимах взлёта и посадки.

5

Выполнение команд «разворот», «изменение высоты», «изменение позиции» (6 ч).

Теоретические основы выполнения разворота, изменения высоты и позиции на квадрокоптерах.

Тестирование программного кода в режимах разворота, изменения высоты и позиции.

6

Защита и демонстрация проекта.

Демонстрация решений кейса групп обучающихся.

Кейс «Программирование автономных квадрокоптеров» (13 ч.)

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

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

Календарно-тематическое планирование

Дата

Кол-во часов

Тема занятия

Форма занятия

Форма контроля

Примечание

1

1

Техника безопасности. Введение в программу курса дополнительного образования.

Лекция

Беседа

3

Основы языка Python

2

1

Примеры на языке Python с разбором конструкций: типы данных, операторы ввода и вывода, оператор присваивания, условия, ветвления.

Лекция

Тестирование

3

1

Примеры на языке Python с разбором конструкций: цикл с предусловием, цикл с параметром.

Практика

Упражнения на программирование

4

1

Примеры на языке Python с разбором конструкций: массивы.

Практика

Тестирование, упражнения на программирование

13

Кейс «Программирование автономных квадрокоптеров»

5-6

2

Техника безопасности при полётах. Проведение полётов в ручном режиме.

Лекция, Практика

Беседа

7-8

2

Программирование взлета БПЛА.

Лекция, Практика

Тестирование написанного кода в режимах взлёта.

9-10

2

Программирование посадки БПЛА.

Лекция, Практика

Тестирование написанного кода в режимах взлёта и посадки.

11-12

2

Выполнение команды «разворот».

Лекция, Практика

Тестирование программного кода в режимах разворота.

13-14

2

Выполнение команды «изменение высоты».

Лекция, Практика

Тестирование программного кода в режимах разворота, изменения высоты.

15-16

2

Выполнение команды «изменение позиции».

Практика

Тестирование программного кода в режимах разворота, изменения высоты и позиции.

17

1

Защита и демонстрация проекта.

Практика

Демонстрация решений кейса

* Примечание: По ходу реализации программы учитель может вносить изменения, дополнения с учетом своего профессионального роста и развития.

Материально-технические условия реализации программы

Рабочая программа реализуется на базе Центра образования цифрового и гуманитарного профилей «Точка роста».

Аппаратное и технической обеспечение:

  • Интерактивный комплекс с вычислительным блоком и мобильным креплением;
  • Ноутбуки мобильного класса HP ProBook (15 шт.);
  • Единая сеть (Wi-Fi роутер);
  • МФУ Pantum M6550 series;
  • Презентационное оборудование (проектор с экраном) с возможностью подключения к компьютеру - 1 комплект;
  • Квадрокоптер - 3 шт.: DJI Tello EDU;
  • Квадрокоптер - 1 шт.: DJI Mavic Air.

Программное обеспечение:

  • Компилятор Python 3.5;
  • Веб-браузер;
  • Пакет офисного ПО.

Список литературы и методического материала

  1. Белоусова А.С. Основы программирования на языке Python на примере программирования беспилотного летательного аппарата. Белоусова А.С., Ершов С.А. - М.: ФНФРО, 2019.
  2. Бреннан, К. Креативное программирование / К.Бреннан, К.Болкх, М.Чунг. - Гарвардская Высшая школа образования, 2017.
  3. Бриггс, Джейсон. Python для детей. Самоучитель по программированию / Джейсон Бриггс. - МИФ. Дество, 2018.
  4. Гин, А.А. Приёмы педагогической техники: свобода выбора, открытость, деятельность, обратная связь, идеальность: Пособие для учителей / А.А.Гин. - Гомель: ИПП «Сож», 1999.
  5. 5.. Лутц, М. Программирование на Python. Т. 1 / М.Лутц. - М.: Символ, 2016.
  6. Лутц, М. Программирование на Python. Т. 2 / М.Лутц. - М.: Символ, 2016.