Пояснительная записка Данная программа разработана для организации внеурочной деятельности учащихся 7-8 классов. Программа дополнительного образования «Программирование на языке Python» направлена на технический профиль, более глубокое изучение тем, которые рассматриваются в курсе информатики 7 и 8 классов по информатике, подготовку к соревнованиям и олимпиадам по информатике, достижение опыта решения нестандартных и креативных заданий по информатике и развитие учебной и творческой мотивации. Специфика программирования как синтетической науки, включающей элементы математики, философии, стилистики, психологии и инженерии, состоит именно в том, что преобладающий способ реализации ее собственных знаний — это работа со знаниями более «конкретных» дисциплин (предметных областей). Сочетание обучения методам, а не фактам, работы на примерах из смежных школьных дисциплин, универсальности большинства изучаемых приемов превращает, таким образом, информатику в дисциплину, максимально интегрирующую предметы школьного курса. Такая концепция приводит к повышению эффективности процесса обучения в целом. Необходимо подчеркнуть, что в ряде курсов наиболее существенным приобретением ученика становятся не сколько знания, умения и навыки, а метаумения и метанавыки, определяющие правильное формирование подхода к проблеме, способа ее рассмотрения, поиска решения и реализации, а в конечном счете и организацию знания, получаемого ребенком. Это является следствием системного подхода, применяемого как непосредственно в процессе обучения, так и при планировании занятий. В конечном счете, речь идет о выработке у ученика элементов системной методологии мышления. При полном отсутствии этих компонент получается стандартное выучивание и воспроизведение, при полном наличии — в идеале становится ненужным традиционный учебный процесс (ребенок способен получать и организовывать материал самостоятельно). В ходе обучения достигается компромисс между этими формами, он определяется индивидуально для каждого ребенка, в зависимости от его мотиваций и склонностей. Во время обучения проводятся занятия в лекционной, практической форме, кроме этого в форме личностных и командных соревнований, где обучающиеся могут показать полученные на занятиях знания, получить опыт участия в соревнованиях по программированию. В программе рассматривается один из актуальных языков программирования с применением классических и улучшенных алгоритмов обработки данных. К особенности программы можно отнести, что кроме обучающихся демонстрирующих успехи в технической направленности, могут обучаться и другие, обучаясь справочному сопровождению функций и самой программы. Для успешного обучения рекомендуется знать основы алгоритмизации, а также основам работы со школьным языком программирования Кумир. Программа реализует направление во внеурочной деятельности. На реализацию программы отводится 1 час в неделю, всего 34 часа в год в 7 классе, 34 часа в 8 классе. Учебный процесс учащихся с ограниченными возможностями здоровья осуществляется на основе адаптированных общеобразовательных программ начального общего образования при одновременном сохранении коррекционной направленности педагогического процесса, которая реализуется через допустимые изменения в структурировании содержания, специфические методы, приемы работы. 2 Цели и задачи обучения К общей цели обучения курсу в контексте основного образования с учетом специфики учебного предмета является формирование универсального стиля научного и практического мышления, основанного на системном подходе, направленного на самостоятельное творческое познание и исследование окружающего мира. Это конкретизируется в виде изучении общих закономерностей функционирования, создания и применения крупных программ, разрабатываемых учениками. Общеучебные задачи курса 1. Организация процессов мышления и познания. – Обучение наиболее общим приемам работы с информацией, пригодных для использования в любой предметной области. – Интеграция программ школьного курса, взаимное усиление информатики и других школьных предметов по принципу: технология работы с информацией — из информатики, конкретные примеры и задачи — из смежных предметов. 2. Развитие самостоятельности в работе и творческой активности. 3. Усвоение и развитие технологии рационального решения задач: – Определение адекватных способов решения учебной задачи на основе заданных алгоритмов – Комбинирование известных алгоритмов деятельности в ситуациях, не предполагающих стандартное применение одного из них. – Разработка собственных алгоритмов решения задач. – Использование для решения познавательных и коммуникативных задач различных источников информации. – Владение умениями совместной деятельности (согласование и координация деятельности с другими ее участниками, объективное оценивание своего вклада в решение общих задач коллектива; учет особенностей различного ролевого поведения). Внутрипредметные общие задачи курса 1. Освоение знаний, составляющих основу научных представлений об информации, информационных процессах, системах, технологиях и моделях. 2. Овладение умениями работать с различными видами информации с помощью компьютера и других средств информационных и коммуникационных технологий, организовывать собственную информационную деятельность и планировать её результат. 3. Выработка навыков применения средств ИКТ в повседневной жизни, при выполнении индивидуальных и коллективных проектов, в учебной деятельности. 4. Развитие познавательных интересов, интеллектуальных и творческих способностей средствами ИКТ. 5. Воспитание ответственного отношения к информации с учетом правовых и этических аспектов её распространения, избирательного отношения к полученной информации. 6. Выработка навыков применения средств ИКТ в повседневной жизни, при выполнении индивидуальных и коллективных проектов, в учебной деятельности, дальнейшем освоении профессий, востребованных на рынке труда. Ценностные ориентиры содержания учебного предмета Важнейшей частью курса является формирование системы учебных ценностей (предпочтений) ученика. В конечном счете, это формирование и есть основная инвариантная методологическая задача курса, так как все остальное — технология и будет неотвратимо изменяться с течением времени. 3 1. Во главу угла ставится задача, ее решение и, главное, путь от задачи к решению, а не программирование (кодирование) как таковое. 2. Для записи алгоритма на языке программирования выбирается минимальное подмножество средств языка, чтобы не акцентировать внимания на кодировании и для более легкого перехода на другие языки программирования. 3. Самостоятельность решения является ключевым условием, которое необходимо доказать при сдаче работы. 4. Понимание учащимся тех средств, с помощью которых он решил задачу, ставится выше уровня самих средств решения. 5. Аккуратность и надежность решения ставятся выше «программистских трюков», иногда позволяющих в отдельных случаях добиться несколько лучших результатов. 6. Главным методологическим принципом является системный подход. ПЛАНИРУЕМЫЕ РЕЗУЛЬТАТЫ ОСВОЕНИЯ КУРСА Программа обеспечивает достижение следующих личностных, метапредметных результатов. Личностные результаты изучения курса: - готовность к разнообразной совместной деятельности, стремление к взаимопониманию и взаимопомощи, активное участие в школьном самоуправлении; - интерес к практическому изучению профессий и труда различного рода, в том числе на основе применения изучаемого предметного знания; - осознавать личную ответственность за свои поступки; - уметь сотрудничать со взрослыми и сверстниками в различных ситуациях. Метапредметные результаты изучения курса: Познавательные: - осваивать способы решения проблем творческого и поискового характера: работа над проектами и исследованиями; - использовать различные способы поиска, сбора, обработки, анализа и представления информации; - овладевать логическими действиями сравнения, обобщения классификации, установления аналогий и причинно-следственных связей, построений рассуждений, отнесения к известным понятиям; - использовать знаково-символические средства, в том числе моделирование; - ориентироваться в своей системе знаний: отличать новое от уже известного; - делать предварительный отбор источников информации: ориентироваться в потоке информации; - добывать новые знания: находить ответы на вопросы, используя учебные пособия, свой жизненный опыт и информацию, полученную от окружающих; - перерабатывать полученную информацию: сравнивать и группировать объекты; - преобразовывать информацию из одной формы в другую. Регулятивные: - проявлять познавательную и творческую инициативу; - принимать и сохранять учебную цель и задачу, планировать ее реализацию; - контролировать и оценивать свои действия, вносить соответствующие коррективы в их выполнение; - уметь отличать правильно выполненное задание от неверного; - оценивать правильность выполнения действий: самооценка и взаимооценка, знакомство с критериями оценивания. Коммуникативные: 4 - адекватно передавать информацию, выражать свои мысли в соответствии с поставленными задачами и отображать предметное содержание и условия деятельности в речи; - слушать и понимать речь других; - совместно договариваться о правилах работы в группе; - доносить свою позицию до других: оформлять свою мысль в устной и письменной речи (на уровне одного предложения или небольшого текста); - учиться выполнять различные роли в группе (лидера, исполнителя, критика). Предметные результаты изучения блока «Типы данных. Линейные программы. Локальные переменные.» и «Условный оператор. Разветвляющиеся программы»: - сформированность системы знаний о числе как результате счета и измерения, о десятичном принципе записи чисел; - сформированность вычислительных навыков, умений выполнять устно и письменно арифметические действия с числами, решать текстовые задачи, оценивать полученный результат по критериям: достоверность/реальность, соответствие правилу/алгоритму; умение составлять речевое высказывание в устной и письменной форме в соответствии с поставленной учебной задачей. Предметные результаты изучения блока «Операторы циклов. Программирование циклических алгоритмов»: - развитие пространственного мышления: умения распознавать, изображать (от руки) и выполнять построение геометрических фигур (с заданными измерениями) с помощью чертежных инструментов; - развитие наглядного представления о симметрии; овладение простейшими способами измерения длин, площадей. Предметные результаты изучения блока «Массивы. Программирование с использованием массивов.»: - способность формулировать, применять и интерпретировать математику в разнообразных контекстах; - способность проводить математические рассуждения; - развитие логического и алгоритмического мышления: умения распознавать верные (истинные) и неверные (ложные) утверждения в простейших случаях в учебных и практических ситуациях, приводить пример и контрпример, строить простейшие алгоритмы и использовать изученные алгоритмы (вычислений, измерений) в учебных ситуациях; - способность понимать роль математики в мире, высказывать обоснованные суждения и принимать решения, которые необходимы конструктивному, активному и размышляющему человеку. Предметные результаты изучения блока «Программирования с использованием функций» и «Строковые переменные. Программирования с использованием строковых переменных»: - приобретение опыта работы с информацией, представленной в графической форме (простейшие таблицы, схемы, столбчатые диаграммы) и текстовой форме: умения извлекать, анализировать, использовать информацию и делать выводы, заполнять готовые формы данными; - представление о семейных расходах и доходах; - использование начальных математических знаний при решении учебных и практических задач и в повседневных ситуациях для описания и объяснения окружающих предметов, процессов и явлений, оценки их количественных и пространственных отношений, в том числе в сфере личных и семейных финансов; - сформированность системы знаний о числе как результате счета и измерения, о десятичном принципе записи чисел; 5 Содержание программы – 7 класс (34 часа) № Разп/п дел 1 Типы данных. Линейные программы. Локальные переменные. Кол-во часов 1 1 1 1 1 1 1 1 1 1 1 2. Итого Условный оператор. Разветвляющиеся программы 11 1 1 1 1 1 1 1 1 1 1 1 3. Итого Операторы циклов. Программирование циклических алгоритмов 1 1 12 1 1 1 1 1 1 1 Содержание Введение в программирование на Python. Линейные программы. Ввод переменных. Работа с переменными. Сумма чисел. Практическая работа №1 «Линейные программы». Линейные программы. Арифметические выражения. Операции с целыми переменными. Форматный вывод. Практическая работа №2 «Операции деления». Линейные программы. Операции с вещественными переменными. Практическая работа №3 «Операции с вещественными числами». Линейные программы. Случайные и псевдослучайные числа. Практическая работа №4 «Случайные числа». Отработка навыков решения задач на программирование линейных алгоритмов. Решение олимпиадных заданий с использованием линейных алгоритмов. Разветвляющие программы. Условный оператор. Неполная форма условного оператора. Практическая работа №5 «Ветвления». Разветвляющие программы. Сложные условия. Практическая работа №6 «Логические переменные. Сложные условия» Разветвляющие программы. Составной оператор. Вложенный условный оператор. Практическая работа №7 «Вложенные условия». Разветвляющие программы. Логические переменные. Порядок выполнения логических операций. Практическая работа №8 «Логические переменные». Разветвляющиеся программы. Экспертная система. Практическая работа №9 «Экспертная система». Отработка навыков решения задач на программирование разветвляющихся алгоритмов. Решение олимпиадных заданий с использованием разветвляющихся алгоритмов. Программирование циклических алгоритмов. Организация цикла. Практическая работа №10 «Циклы с условием. Часть 1». Программирование циклических алгоритмов. Циклы с условием. Алгоритм Евклида. Практическая работа №12 «Алгоритм Евклида». Программирование циклических алгоритмов. Обработка потока данных. Практическая работа №13 «Обработка потока данных». Программирование циклических алгоритмов. Циклы по переменной. Шаг изменения переменной цикла. 6 1 1 1 1 Итого Итого Практическая работа №14 «Циклы с постусловием». Практическая работа №15 «Циклы по переменной». Программирование циклических алгоритмов. Алгебраическая прогрессия. Итоговая практическая работа №16 «Применение циклических программ». 11 34 7 Содержание программы 8 класс (34 ч) № Разп/п дел 1 Массивы. Программирование с использованием массивов. Кол-во часов 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2. Итого Функции. Локальные и глобальные переменные. Программирования с использованием функций 1 15 1 1 1 1 1 1 1 1 1 1 1 1 1 3. Итого Строковые переменные. Программиро- 1 14 1 1 1 1 1 Содержание Массивы. Общие понятия об одномерных массивах. Создание массива. Массивы. Обращение к элементу массива. Перебор элементов массива. Практическая работа №1 «Перебор элементов массива». Массивы. Ввод массива с клавиатуры. Заполнение массива случайными числами. Практическая работа №2 «Заполнение массива случайными числами». Алгоритмы обработки массивов. Сумма элементов массива. Практическая работа №3 «Алгоритмы обработки массивов». Практическая работа №4 «Нахождение суммы элементов массива». Алгоритмы обработки массивов. Подсчёт элементов массива, удовлетворяющих условию. Практическая работа №5 «Подсчёт элементов массива». Алгоритмы обработки массивов. Списки в Python. Алгоритмы обработки массивов. Поиск минимального элемента в массиве. Практическая работа №6 «Поиск минимального элемента». Отработка навыков решения задач на программирование массивов. Решение олимпиадных заданий с использованием массивов. Модуль. Функции. Функции abs(x) и sqrt(x). Практическая работа №7 «Использование стандартных функций». Описание функции. Функция возврата значений. Функция нахождения максимума из двух чисел. Практическая работа №8 «Функция нахождения максимума из двух чисел». Значение переменных в языках программирования. Объявление переменной. Присвоение значений переменным. Локальные переменные. Глобальные переменные. Практическая работа №9 «Создание и работа с локальными переменными». Практическая работа №10 «Создание и работа с глобальными переменными». Текстовые переменные str. Длина строки len. Преобразование других типов данных в строку. Сложение, умножение, индексация строк Практическая работа №11 «Строковые переменные». 8 вания с использованием строковых переменных Итого Итого Итоговая практическая работа №12 «Написание программы по условию задачи». 5 34 9 № п/п Тема занятия Тематическое планирование (7 класс) Всего В том числе Формы часов внеурочной Теория Практика деятельности Типы данных. Линейные программы. Локальные переменные. 1. Введение в программиро1 1 вание на Python. 2. Линейные программы. 1 1 Ввод переменных. Работа с переменными. Сумма чисел. 3. Практическая работа №1 1 1 «Линейные программы». 4. Линейные программы. 1 1 Арифметические выражения. Операции с целыми переменными. Форматный вывод. 5. Практическая работа №2 1 1 «Операции деления». 6. Линейные программы. 1 1 Операции с вещественными переменными. 7. Практическая работа №3 1 1 «Операции с вещественными числами». 8. Линейные программы. 1 1 Случайные и псевдослучайные числа. 9. Практическая работа №4 1 1 «Случайные числа». 10. Отработка навыков реше1 1 ния задач на программирование линейных алгоритмов. 11. Решение олимпиадных 1 1 заданий с использованием линейных алгоритмов. Условный оператор. Разветвляющиеся программы 12. Разветвляющие про1 1 граммы. Условный оператор. Неполная форма условного оператора. 13. Практическая работа №5 1 1 «Ветвления». 14. Разветвляющие про1 1 граммы. Сложные условия. 10 Лекции; Деловые беседы; Участие в научно-исследовательских дискуссиях; Практические упражнения Электронные (цифровые) образовательные ресурсы (РЭШ, https://fg.resh.ed u.ru/), электронный образовательный ресурс издательства «Просвещение» (https://media.pro sv.ru/func/) https://education. yandex.ru/lab/clas ses/1047146/librar y/informatics/the me/48268/ Лекции; Деловые беседы; Участие в научно-исследовательских дискуссиях; Практические упражнения (РЭШ, https://fg.resh.ed u.ru/), электронный образовательный ресурс издательства «Просвещение» (https://media.pro sv.ru/func/) 15. Практическая работа №6 1 1 «Логические переменные. Сложные условия» 16. Разветвляющие про1 1 граммы. Составной оператор. Вложенный условный оператор. 17. Практическая работа №7 1 1 «Вложенные условия». 18. Разветвляющие про1 1 граммы. Логические переменные. Порядок выполнения логических операций. 19. Практическая работа №8 1 1 «Логические переменные». 20. Разветвляющиеся про1 1 граммы. Экспертная система. 21. Практическая работа №9 1 1 «Экспертная система». 22. Отработка навыков реше1 1 ния задач на программирование разветвляющихся алгоритмов. 23. Решение олимпиадных 1 1 заданий с использованием разветвляющихся алгоритмов. Операторы циклов. Программирование циклических алгоритмов 24. Программирование цик1 1 лических алгоритмов. Организация цикла. 25. Практическая работа №10 1 1 «Циклы с условием. Часть 1». 26. Программирование цик1 1 лических алгоритмов. Циклы с условием. Алгоритм Евклида. 27. Практическая работа №12 1 1 «Алгоритм Евклида». 28. Программирование цик1 1 лических алгоритмов. Обработка потока данных. 29. Практическая работа №13 1 1 «Обработка потока данных». 11 https://education. yandex.ru/lab/clas ses/1047146/librar y/informatics/the me/48268/ Лекции; Деловые беседы; Участие в научно-исследовательских дискуссиях; Практические упражнения (РЭШ, https://fg.resh.ed u.ru/), электронный образовательный ресурс издательства «Просвещение» (https://media.pro sv.ru/func/) https://education. yandex.ru/lab/clas ses/1047146/librar y/informatics/the me/48268/ 30. Программирование циклических алгоритмов. Циклы по переменной. Шаг изменения переменной цикла. 31. Практическая работа №14 «Циклы с постусловием». 32. Практическая работа №15 «Циклы по переменной». 33. Программирование циклических алгоритмов. Алгебраическая прогрессия. 34. Итоговая практическая работа №16 «Применение циклических программ». Итого: 34 1 1 1 1 1 1 1 1 1 1 17 17 12 № п/п Тема занятия Тематическое планирование (8 класс) Всего В том числе часов Теория Практика Массивы. Программирование с использованием массивов. 1. Массивы. Общие 1 1 понятия об одномерных массивах. Создание массива. 2. Массивы. Обраще1 1 ние к элементу массива. Перебор элементов массива. 3. Практическая ра1 1 бота №1 «Перебор элементов массива». 4. Массивы. Ввод мас1 1 сива с клавиатуры. Заполнение массива случайными числами. 5. Практическая ра1 1 бота №2 «Заполнение массива случайными числами». 6. Алгоритмы обра1 1 ботки массивов. Сумма элементов массива. 7. Практическая ра1 1 бота №3 «Алгоритмы обработки массивов». 8. Практическая ра1 1 бота №4 «Нахождение суммы элементов массива». 9. Алгоритмы обра1 1 ботки массивов. Подсчёт элементов массива, удовлетворяющих условию. 10. Практическая ра1 1 бота №5 «Подсчёт элементов массива». 11. Алгоритмы обра1 1 ботки массивов. Списки в Python. 13 Лекции; Деловые беседы; Участие в научно-исследовательских дискуссиях; Практические упражнения Электронные (цифровые) образовательные ресурсы (РЭШ, https://fg.resh.edu .ru/), электронный образовательный ресурс издательства «Просвещение» (https://media.pro sv.ru/func/) https://education.y andex.ru/lab/classe s/1047146/library/i nformatics/theme/ 48268/ 12. Алгоритмы обра1 1 ботки массивов. Поиск минимального элемента в массиве. 13. Практическая ра1 1 бота №6 «Поиск минимального элемента». 14. Отработка навыков 1 1 решения задач на программирование массивов. 15. Решение олимпиад1 1 ных заданий с использованием массивов. Функции. Локальные и глобальные переменные. Программирования с использованием функций 16. Модуль. Функции. 1 1 17. Функции abs(x) и 1 1 sqrt(x). 18. Практическая ра1 1 бота №7 «Использование стандартных функций». 19. Описание функции. 1 1 20. Функция возврата 1 1 значений. 21. Функция нахожде1 1 ния максимума из двух чисел. 22. Практическая ра1 1 бота №8 «Функция нахождения максимума из двух чисел». 23. Значение перемен1 1 ных в языках программирования. 24. Объявление пере1 1 менной. 25. Присвоение значе1 1 ний переменным. 26. Локальные пере1 1 менные. 27. Глобальные пере1 1 менные. 28. Практическая ра1 1 бота №9 «Создание 14 Лекции; Деловые беседы; Участие в научно-исследовательских дискуссиях; Практические упражнения (РЭШ, https://fg.resh.edu .ru/), электронный образовательный ресурс издательства «Просвещение» (https://media.pro sv.ru/func/) https://education.y andex.ru/lab/classe s/1047146/library/i nformatics/theme/ 48268/ и работа с локальными переменными». 29. Практическая ра1 1 бота №10 «Создание и работа с глобальными переменными». Строковые переменные. Программирования с использованием строковых переменных 30. Текстовые перемен1 1 ные str. Длина строки len. 31. Преобразование 1 1 других типов данных в строку. 32. Сложение, умноже1 1 ние, индексация строк 33. Практическая ра1 1 бота №11 «Строковые переменные». 34. Итоговая практиче1 1 ская работа №12 «Написание программы по условию задачи». Итого: 34 21 13 Лекции; Деловые беседы; Участие в научно-исследовательских дискуссиях; Практические упражнения (РЭШ, https://fg.resh.edu .ru/), электронный образовательный ресурс издательства «Просвещение» (https://media.pro sv.ru/func/) https://education.y andex.ru/lab/classe s/1047146/library/i nformatics/theme/ 48268/ Учебно-методическое обеспечение 1. В.Ю. Полищук, Ю.А. Иванова, Е.С. Попова ПРОГРАММИРОВАНИЕ НА PYTHON. 2. К. А. Амоа, Н. А. Рындин, Ю. С. Скворцов РАЗРАБОТКА ПРОГРАММНЫХ ПАКЕТОВ НА ЯЗЫКЕ PYTHON Учебное пособие. 3. Л. Самыкбаева, А. Беляев, А. Палитаев, И. Ташиев, С.Маматов Программирование на языке Python для школьников: Учебное пособие по изучению языка программировани Python. Цифровые образовательные ресурсы: 1. https://docs.python.org/3/tutorial/index.html – страница разработчиков, где выложен код 2. http://www.learnpython.org/ Сайт «Изучение Питон» 15