Содержание: Пояснительная записка 1. Планируемые результаты освоения дополнительной общеобразовательной общеразвивающей программы 2. Содержание дополнительной общеобразовательной общеразвивающей программы 3. Тематическое планирование дополнительной общеобразовательной общеразвивающей программы Приложение № 1 Материально-технические условия реализации программы Аппаратное и техническое обеспечение Программное обеспечение Список литературы и методического материала Пояснительная записка Актуальность: в настоящее время процесс информатизации проявляется во всех сферах человеческой деятельности. Использование современных информационных технологий является необходимым условием успешного развития как отдельных отраслей, так и государства в целом. Создание, внедрение, эксплуатация, а также совершенствование информационных технологий немыслимо без участия квалифицированных и увлечённых специалистов, в связи с этим внедрение программы «Основы программирования на языке Python на примере программирования беспилотного летательного аппарата» (далее «Авиатор») в учебный процесс актуально. Программа «Квадрокоптер» направлена на подготовку творческой, технически грамотной, гармонично развитой личности, обладающей логическим мышлением, способной анализировать и решать задачи в команде в области информационных и аэротехнологий, решать ситуационные кейсовые задания, основанные на групповых проектах. Занятия обучающихся, по данной развитие их программе рассчитаны мышления, логики, на общенаучную математических подготовку способностей, исследовательских навыков. Программа «Квадрокоптер» направлен на изучение основ программирования на языке Python и программирование автономных квадрокоптеров. В рамках программы обучающиеся смогут познакомиться с физическими, техническими и математическими понятиями. Приобретённые знания будут применимы в творческих проектах. Программа «Авиатор» представляет собой самостоятельный модуль и содержит необходимые темы из курса информатики и физики. Цель программы: освоение Hard- и Soft-компетенций обучающимися в области программирования и аэротехнологий через использование кейс-технологий. Задачи: Обучающие: − изучить базовые понятия: алгоритм, блок-схема, переменная, цикл, условия, вычислимая функция; − сформировать навыки выполнения технологической цепочки разработки программ средствами языка программирования Python; − изучить основные конструкции языка программирования Python, позволяющие работать с простыми и составными типами данных (строками, списками, кортежами, словарями, множествами); − научить применять навыки программирования на конкретной учебной ситуации (программирование беспилотных летательных аппаратов на учебную задачу); − развить навык пилотирования беспилотных летательных аппаратов (БПЛА) на практике; − привить навыки проектной деятельности. Развивающие: − способствовать расширению словарного запаса; − способствовать развитию памяти, внимания, технического мышления, изобретательности; − способствовать развитию алгоритмического мышления; − способствовать формированию интереса к техническим знаниям; − способствовать формированию умения практического применения полученных знаний; − сформировать умение формулировать, аргументировать и отстаивать своё мнение; − сформировать умение выступать публично с докладами, презентациями и т. п. Воспитательные: − воспитывать аккуратность и дисциплинированность при выполнении работы; − способствовать формированию положительной мотивации к трудовой деятельности; − способствовать формированию опыта совместного и индивидуального творчества при выполнении командных заданий; − воспитывать трудолюбие, уважение к труду; − формировать чувство коллективизма и взаимопомощи; − воспитывать чувство патриотизма, гражданственности, гордости за достижения отечественной науки и техники. 1. Планируемые результаты освоение дополнительной общеобразовательной общеразвивающей программы и способы их проверки Личностные результаты: − критическое отношение к информации и избирательность её восприятия; − осмысление мотивов своих действий при выполнении заданий; − развитие любознательности, сообразительности при выполнении разнообразных заданий проблемного и эвристического характера; − развитие внимательности, настойчивости, целеустремлённости, умения преодолевать трудности; − развитие самостоятельности суждений, независимости и нестандартности мышления; − освоение социальных норм, правил поведения, ролей и форм социальной жизни в группах и сообществах; − формирование коммуникативной компетентности в общении и сотрудничестве с другими обучающимися. Метапредметные результаты: Регулятивные универсальные учебные действия: − умение принимать и сохранять учебную задачу; − умение планировать последовательность шагов алгоритма для достижения цели; − умение ставить цель (создание творческой работы), планировать достижение этой цели; − умение осуществлять итоговый и пошаговый контроль по результату; − способность адекватно воспринимать оценку наставника и других обучающихся; − умение различать способ и результат действия; − умение вносить коррективы в действия в случае расхождения результата решения задачи на основе её оценки и учёта характера сделанных ошибок; − умение в сотрудничестве ставить новые учебные задачи; − способность проявлять познавательную инициативу в учебном сотрудничестве; − умение осваивать способы решения проблем творческого характера в жизненных ситуациях; − умение оценивать получающийся творческий продукт и соотносить его с изначальным замыслом, выполнять по необходимости коррекции либо продукта, либо замысла. Познавательные универсальные учебные действия: − умение осуществлять поиск информации в индивидуальных информационных архивах обучающегося, информационной среде образовательного учреждения, федеральных хранилищах информационных образовательных ресурсов; − умение использовать средства информационных и коммуникационных технологий для решения коммуникативных, познавательных и творческих задач; − умение ориентироваться в разнообразии способов решения задач; − умение осуществлять анализ объектов с выделением существенных и несущественных признаков; − умение проводить сравнение, классификацию по заданным критериям; − умение строить логические рассуждения в форме связи простых суждений об объекте; − умение устанавливать аналогии, причинно-следственные связи; − умение моделировать, преобразовывать объект из чувственной формы в модель, где выделены существенные характеристики объекта (пространственно-графическая или знаково-символическая); − умение синтезировать, составлять целое из частей, в том числе самостоятельно достраивать с восполнением недостающих компонентов. Коммуникативные универсальные учебные действия: − умение аргументировать свою точку зрения на выбор оснований и критериев при выделении признаков, сравнении и классификации объектов; − умение выслушивать собеседника и вести диалог; − способность признавать возможность существования различных точек зрения и права каждого иметь свою; − умение планировать учебное сотрудничество с наставником и другими обучающимися: определять цели, функции участников, способы взаимодействия; − умение осуществлять постановку вопросов: инициативное сотрудничество в поиске и сборе информации; − умение разрешать конфликты: выявление, идентификация проблемы, поиск и оценка альтернативных способов разрешения конфликта, принятие решения и его реализация; − умение с достаточной полнотой и точностью выражать свои мысли в соответствии с задачами и условиями коммуникации; − владение монологической и диалогической формами речи. Предметные результаты В результате освоения программы обучающиеся должны знать: − основные алгоритмические конструкции; − принципы построения блок-схем; − принципы структурного программирования на языке Python; − что такое БПЛА и их предназначение. уметь: − составлять алгоритмы для решения прикладных задач; − реализовывать алгоритмы на компьютере в виде программ, написанных на языке Python; − применять библиотеку Tkinter; − отлаживать и тестировать программы, написанные на языке Python; − настраивать БПЛА; − представлять свой проект. владеть: − основной терминологией в области алгоритмизации и программирования; − основными навыками программирования на языке Python; − знаниями по устройству и применению беспилотников. Формы подведения итогов реализации дополнительной программы Подведение итогов реализуется в рамках следующих мероприятий: тестирование по программированию на языке Python, защита результатов выполнения кейса № 4, групповые соревнования. Формы демонстрации результатов обучения Представление результатов образовательной деятельности пройдет в форме публичной презентации решений кейсов командами и последующих ответов выступающих на вопросы наставника и других команд. Формы диагностики результатов обучения Беседа, тестирование, опрос. 2. Содержание дополнительной общеобразовательной общеразвивающей программы Содержание тем программы Кейс 1. «Угадай число» При решении данного кейса обучающиеся осваивают основы программирования на языке Python посредством создания игры, в которой пользователь угадывает число, заданное компьютером. Программа затрагивает много ключевых моментов программирования: конвертирование типов данных, запись и чтение файлов, использование алгоритма деления отрезка пополам, обработка полученных данных и представление их в виде графиков. Кейс 2. «Спаси остров» Кейс позволяет обучающимся поработать на языке Python со словарями и списками; изучить, как делать множественное присваивание, добавление элементов в список и их удаление, создать уникальный дизайн будущей игры. Кейс 3. «Калькулятор» При решении данного кейса учащиеся создают первое простое приложение калькулятор: выполняют программную часть на языке программирования Python и создают интерфейс для пользователя при помощи библиотеки Tkinter. Кейс 4. Программирование автономных квадрокоптеров Роевое взаимодействие робототехнике. роботов Квадрокоптеры является можно актуальной считать задачей летающей в современной робототехникой. Шоу квадрокоптеров, выполнение задания боевыми беспилотными летательными аппаратами такие задачи решаются с помощью применения алгоритмов роевого взаимодействия. Данный кейс посвящен созданию шоу квадрокоптеров из 3-х бпла выполняющих полет в автономном режиме. Обучающиеся получат первые навыки программирования технической системы на языке Python. Познакомятся с алгоритмами позиционирования устройств на улице и в помещении, а также узнают о принципах работы оптического распознавания объектов. Кадровые условия реализации программы Комплектование образовательной организации педагогическими, руководящими и иными работниками, соответствующими квалификационным характеристикам по соответствующей должности. Требования к кадровым ресурсам: укомплектованность образовательного учреждения педагогическими, руководящими и иными работниками; уровень квалификации педагогических, руководящих и иных работников образовательного учреждения; непрерывность профессионального развития педагогических и руководящих работников образовательного учреждения, реализующего основную образовательную программу. Компетенции педагогического работника, реализующего основную образовательную программу: обеспечивать условия для успешной деятельности, позитивной мотивации, а также самомотивирования обучающихся; осуществлять самостоятельный поиск и анализ информации с помощью современных информационно-поисковых технологий; организовывать и сопровождать учебно-исследовательскую и проектную деятельность обучающихся, выполнение ими индивидуального проекта; интерпретировать результаты достижений обучающихся; навык программирования на языке Python; использовать библиотеку Tkinter; навык создания компьютерных игр и приложений; проектирование интерфейса пользователей; поиск и интеграция библиотек программного кода с открытых источников типа GitHub в собственный проект; навык работы в специализированном ПО для создания презентаций. № 1. 2. 3 3.1 3.2 4 4.1 4.2 Темы занятий Вводное занятие. Введение в предмет, техника безопасности Содержание занятий Теория: введение в образовательную программу. Ознакомление обучающихся с программой, приёмами и формами работы. Вводный инструктаж по ТБ. Основы языка Python. Примеры на Теория: история языка Python, сфера языке Python с разбором применения языка, различие в версиях, конструкций: циклы, условия, особенности синтаксиса. Объявление и ветвления, массивы, типы данных использование переменных в Python. Использование строк, массивов, кортежей и словарей в Python. Использование условий, циклов и ветвлений в Python. Практика: запуск интерпретатора. Различия интерпретатора и компилятора. Написание простейших демонстрационных программ. Мини-программы внутри программы. Выражения в вызовах функций. Имена переменных. Упражнения по написанию программ с использованием переменных, условий и циклов. Генерация случайных чисел. Группировка циклов в блоки. Операции сравнения. Кейс «Угадай число» Введение в искусственный Теория: алгоритмы поиска числа в массиве. интеллект. Примеры на языке Python Варианты сортировок. Поиск дихотомией. с искусственным интеллектом по Работа с переменными, работа с функциями. угадыванию чисел, метод Практика: упражнения по поиску чисел в дихотомии. Управление массиве. Упражнения на сортировку чисел. искусственным интеллектом Алгоритмы поиска числа. Исследование скорости работы алгоритмов. Подготовка к публичному Теория: создание удобной и понятной выступлению для защиты презентации. результатов. Демонстрация отчёта в Практика: подготовка презентации для группе и защита результатов работы защиты. Подготовка речи для защиты. Кейс «Спаси остров» Работа на языке Python со словарями Теория: знакомство с кейсом, представление и списками, множественное поставленной проблемы. присваивание, добавление элементов Доступ к элементам по индексам. Получение в список и их удаление слова из словаря. Отображение игрового поля игрока. Получение предположений игрока. Проверка допустимости предположений игрока. Практика: мозговой штурм. Анализ проблемы, генерация и обсуждение методов её решения. Создание прототипа программы. Отработка методик. Планирование дизайна и механики Теория: понятие «механика игры», игры. Создание главного меню игры, ограничения, правила. подсчёта очков Практика: упражнения. Проверка наличия буквы в секретном слове. Проверка — не победил ли игрок. Обработка ошибочных предположений. Проверка — не проиграл ли игрок. Завершение или перезагрузка игры. Создание главного меню игры, реализация подсчёта очков. Теория: проектирование проекта с помощью блок-схем. Практика: создание блок-схем. Ветвление в блок-схемах. Заканчиваем или начинаем игру с начала. Следующая попытка. Обратная связь с игроком. Практика: тестирование созданной игрыпрограммы, доработка и расширение возможностей. Практика: подготовка презентации и речи для защиты. Презентация созданной программы. 4.3 Визуализация программы в виде блок-схемы 4.4 Тестирование написанной программы и доработка 4.5 Подготовка к публичному выступлению для защиты результатов. Демонстрация результатов работы 5 5.1 Кейс «Калькулятор» Оформление проектной идеи. Теория: знакомство с кейсом, представление Формирование программы работ поставленной проблемы. Практика: мозговой штурм. Анализ проблемы, генерация и обсуждение методов её решения. Программа для работы калькулятора Практика: написание программы для будущего калькулятора. Создание внешнего вида Практика: создание внешнего вида калькулятора калькулятора. Тестирование написанной Практика: тестирование созданной программы и доработка программы, доработка и расширение возможностей. Подготовка к публичному Практика: подготовка презентации и речи для выступлению для защиты защиты. результатов Демонстрация результатов работы Практика: презентация созданной программы. Кейс «Программирование автономных квадрокоптеров» Техника безопасности при полётах. Теория: знакомство с кейсом, представление Проведение полётов в ручном поставленной проблемы, правила техники режиме безопасности. Изучение конструкции квадрокоптеров. Практика: полёты на квадрокоптерах в ручном режиме. Программирование взлёта и посадки Теория: основы программирования беспилотного летательного аппарата квадрокоптеров на языке Python. Практика: тестирование написанного кода в режимах взлёта и посадки. Выполнение команд «разворот», Теория: теоретические основы выполнения «изменение высоты», «изменение разворота, изменения высоты и позиции на позиции» квадрокоптерах. Практика: тестирование программного кода в режимах разворота, изменения высоты и позиции. Выполнение группового полёта Практика: выполнение группового полёта на 5.2 5.3 5.4 5.5 5.6 6 6.1 6.2 6.3 6.4 6.5 6.6 6.7 вручную квадрокоптере в ручном режиме. Выполнение позиционирования по Теория: основы позиционирования indoor и меткам outdoor квадрокоптеров. Практика: тестирование режима позиционирования по ArUco - маркерам. Программирование группового Теория: основы группового полёта полёта квадрокоптеров. Изучение типов группового поведения роботов. Практика: программирование роя квадрокоптеров для группового полёта. Программирование роевого Теория: основы программирования роя взаимодействия квадрокоптеров. Практика: Выполнение группового полета в автоматическом режиме. 3. Тематическое планирование общеразвивающей программы дополнительной общеобразовательной Количество часов Формы аттестации/ контроля № п/п Название раздела, темы Всего Теория Практика 1. Введение в образовательную программу, техника безопасности 1 1 - Тестирование 6 3 3 Тестирование 10 5 5 Демонстрация решений кейса 3.1 Введение в искусственный интеллект. Примеры на языке Python с искусственным интеллектом по угадыванию чисел, метод дихотомии. Управление искусственным интеллектом 6 3 3 3.2 Подготовка к публичному выступлению для защиты результатов. Демонстрация отчёта в группе и защита результатов работы 4 2 2 11 5 6 4.1 Работа на языке Python со словарями и списками, множественное присваивание, добавление элементов в список и их удаление 4 2 2 4.2 Планирование дизайна и механики игры. Создание главного меню игры, подсчёта очков 4 2 2 2. Основы языка Python. Примеры на языке Python с разбором конструкций: циклы, условия, ветвления, массивы, типы данных 3. 4. Кейс 1. «Угадай число» Кейс 2. «Спаси остров» Демонстрация решений кейса 4.3 Визуализация программы в виде блоксхемы 1 - 1 4.4 Тестирование написанной программы и доработка. Подготовка к публичному выступлению для защиты результатов. Демонстрация результатов работы 2 1 1 14 4 10 5.1 Постановка проблемы, генерация путей решения 4 2 2 5.2 Создание простейшего калькулятора с помощью библиотеки Tkinter 4 - 4 5.3 Тестирование написанной программы и доработка 4 - 4 5.4 Подготовка к публичному выступлению для защиты результатов. Демонстрация результатов работы 2 2 - Кейс 4. Программирование автономных квадрокоптеров 26 8 18 6.1 Техника безопасности при полётах. Проведение полётов в ручном режиме 2 - 2 6.2 Программирование взлёта и посадки беспилотного летательного аппарата 4 4 - 6.3 Выполнение команд «разворот», «изменение высоты», «изменение позиции» 4 - 4 6.4 Выполнение группового полёта вручную 4 - 4 6.5 Выполнение позиционирования по меткам 4 - 4 6.6 Программирование группового полёта 4 4 - 6.7 Программирование роевого взаимодействия 4 - 4 68 26 42 5. 6. Кейс 3. «Калькулятор» Итого: Демонстрация решений кейса Демонстрация решений кейса Приложение № 1 Материально-технические условия реализации программы Аппаратное и техническое обеспечение: Рабочее место обучающегося: ноутбук: производительность процессора (по тесту PassMark CPU BenchMarkhttp://www.cpubenchmark.net/): не менее 2000 единиц; объем оперативной памяти: не менее 4 Гб; объем накопителя SSD/еММС: не менее 128 Гб (или соответствующий по характеристикам персональный компьютер с монитором, клавиатурой и колонками). рабочее место преподавателя: ноутбук: процессор Intel Core i5-4590/AMD FX 8350 аналогичная или более новая модель, графический процессор NVIDIA GeForce GTX 970, AMD Radeon R9 290 аналогичная или более новая модель, объем оперативной памяти: не менее 4 Гб, видеовыход HDMI 1.4, DisplayPort 1.2 или более новая модель (или соответствующий по характеристикам персональный компьютер с монитором, клавиатурой и колонками); компьютеры должны быть подключены к единой сети Wi-Fi с доступом в интернет; презентационное оборудование (проектор с экраном) с возможностью подключения к компьютеру — 1 комплект; флипчарт с комплектом листов/маркерная доска, соответствующий набор письменных принадлежностей — 1 шт.; квадрокоптер DJI Ryze tello — не менее 3 шт.; поле меток; Wi-Fi роутер. Программное обеспечение: − компилятор Python 3.5 и выше; − веб-браузер; − пакет офисного ПО; − текстовый редактор. Список литературы и методического материала 1. Бреннан, К. Креативное программирование / К. Бреннан, К. Болкх, М. Чунг. — Гарвардская Высшая школа образования, 2017. 2. Бриггс, Джейсон. Python для детей. Самоучитель по программированию / Джейсон Бриггс. — МИФ. Детство, 2018. — 320 с. 3. Гин, А.А. Приёмы педагогической техники: свобода выбора, открытость, деятельность, обратная связь, идеальность: Пособие для учителей / А.А. Гин. — Гомель: ИПП «Сож», 1999. — 88 с. 4. Лутц, М. Программирование на Python. Т. 1 / М. Лутц. — М.: Символ, 2016. — 992 c. 5. Лутц, М. Программирование на Python. Т. 2 / М. Лутц. — М.: Символ, 2016. — 992 c. 6. Понфиленок, О.В. Клевер. Конструирование и программирование квадрокоптеров / О.В. Понфиленок, А.И. Шлыков, А.А. Коригодский. — Москва, 2016. 7. https://dl-cdn.ryzerobotics.com/downloads/tello/0222/Tello+Scratch+Readme.pdf. 8. https://github.com/dji-sdk/Tello-Python.