Программа «Основы языка программирования PYTHON»
Муниципальное общеобразовательное бюджетное учреждение
«Средняя общеобразовательная школа №10»
«Утверждаю»
Директор МОБУ «СОШ №10»
______________ Ковалева Т.Г.
Приказ № от « » 2021 г.
ПРОГРАММА
«Основы языка программирования
PYTHON»
Составитель:
учитель информатики
Еремина И.А.
г. Арсеньев
2021-2022 гг.
Раздел 1. ПОЯСНИТЕЛЬНАЯ ЗАПИСКА
1.1. Актуальность программы
Согласно исследованиям и рейтингам за 2020 год, Python стал самым популярным языком для изучения среди разработчиков и занял ведущие позиции по востребованности на рынке труда. Этот язык активно внедряется в школьные программы по информатике, включая учебные комплексы под редакцией К. Ю. Полякова и Е. А. Еремина, рекомендованные для использования в российских школах Министерством просвещения РФ (Приказ от 28 декабря 2018 г. № 345).\
Освоение Python в рамках школьной программы расширяет перспективы учеников в сфере IT, помогает определиться с профессиональными интересами в старших классах, а также используется при подготовке к ЕГЭ и олимпиадам по программированию.
Курс построен на смешанном формате: групповые занятия с учителем, а также самостоятельная работа на онлайн-платформе. Такой подход способствует формированию не только практических навыков программирования, но и развитию навыков совместной работы при подготовке финального проекта. Кроме того, школьники приобретают навыки самостоятельного планирования своей карьеры и индивидуального построения пути обучения.
Цель реализации программы: развитие у учащихся умений программировать на языке Python, а также способности к самостоятельному освоению новых знаний и управлению своим образовательным процессом.
Задачи реализации программы:
Обучающие
- Формировать начальные знания по программированию на языке Python, включая работу с основными конструкциями (условия, циклы, функции, типы данных).
- Обучать алгоритмическому мышлению и решению практических задач средствами Python.
- Осваивать навыки использования современных образовательных онлайн-платформ и средств программирования.
- Развивать умение самостоятельно находить и применять новые знания, используя внешние ресурсы, документацию и учебные материалы.
Развивающие
- Способствовать развитию логического мышления, аналитических способностей и критического подхода при решении проблем.
- Формировать умения самостоятельной организации учебного процесса и планирования своего профессионального развития.
- Развивать творческий потенциал через проектную деятельность и эксперименты с программным кодом.
- Стимулировать развитие коммуникативных навыков и эффективности командной работы при выполнении совместных заданий.
Воспитательные
- Воспитывать ответственность и самодисциплину как основы успешного обучения и профессионального роста.
- Формировать устойчивую мотивацию к постоянному обучению и развитию в области информационных технологий.
- Развивать уважение к интеллектуальному труду и важности современных цифровых компетенций.
- Воспитывать этические нормы поведения в виртуальной среде и навыки безопасного использования IT-технологий.
Организация курса: курс состоит из 68 уроков по 45 минут.
Сроки освоения программы: в течение одного учебного года, в объеме 66-68 часов.
Направленность дополнительной общеобразовательной программы: техническая.
Методические материалы курса состоят из:
- Методических указаний для учителя в текстовом виде,
- Презентации с иллюстративным изложением теоретического материала;
- Упражнений на платформе Stepik с теоретическим и практическим материалом языка Python;
- Интерактивных проверочных заданий в приложениях Kahoot и Learning Apps;
- Подвижных игр, направленных на закрепление знаний, полученных на занятии.
- Инструкций для проведения рефлексии процесса обучения с учениками.
Планируемые результаты обучения:
Личностные
- Осознание значимости постоянного саморазвития и повышения квалификации в области IT.
- Формирование мотивации к самостоятельному обучению и ответственности за результаты своей деятельности.
- Развитие навыков саморегуляции и целеполагания в учебной и профессиональной деятельности.
- Воспитание этических норм и уважения к интеллектуальному труду.
- Укрепление навыков социального взаимодействия и готовности к сотрудничеству в коллективе.
Метапредметные
Регулятивные
- Формулирование целей и планирование обучения Python.
- Контроль и коррекция своей учебной деятельности.
- Саморегуляция и эффективная организация учебного процесса.
- Рефлексия собственных достижений и трудностей.
Коммуникативные
- Эффективное взаимодействие с одноклассниками и учителем.
- Аргументация и восприятие обратной связи.
- Совместное принятие решений в проектах.
- Урегулирование конфликтов и поддержание диалога.
Познавательные
- Поиск и анализ информации для решения задач.
- Развитие логического и алгоритмического мышления.
- Моделирование и формализация алгоритмов.
- Творческий подход к решению нестандартных задач.
Предметные
- Усвоение основных принципов и синтаксиса языка Python, включая работу с переменными, типами данных, условиями, циклами, функциями и базовыми алгоритмами.
- Навыки решения практических задач программирования различного уровня с использованием Python.
- Овладение алгоритмическим мышлением и умением формализовать задачи.
- Умение использовать средства разработки и образовательные онлайн-инструменты для написания и тестирования программ.
- Владение приёмами поиска и применения дополнительных знаний и ресурсов для решения программных задач.
Основные формы организации занятий программы «Python для начинающих»:
- Практические занятия с использованием онлайн-платформы Stepik ("Поколение Python": курс для начинающих)
- Работа в редакторе IDLE;
- Прохождение опросов в приложениях Kahoot и Learning Apps;
- Домашние практические занятия с использованием онлайн-платформы Stepik, направленные на отработку навыков программирования на языке Python.
Категория обучающихся: учащиеся с 12 до 18 лет в рамках внеурочной деятельности и дополнительного образования.
Форма обучения: смешанная: очное и онлайн-обучение. В очных занятиях в группах по 10-15 человек используются задания на онлайн-платформе с автоматизированной проверкой. В ходе курса постепенно вводится формат «перевернутого класса». На первых пяти занятиях ученики знакомятся с онлайн-платформой и основами программирования на Python. С шестого урока начинаются разные виды самостоятельной работы в классе с проверкой друг друга в группе. После десяти уроков ученикам иногда предлагают самостоятельно изучать новые темы, используя конспекты онлайн-курса, а учитель в это время помогает и направляет. Последние пять занятий посвящены почти полностью самостоятельной работе над проектами.
Раздел 2. Содержание программы
В рамках смешанного подхода к обучению каждая из тем отрабатывается в уроках платформы Stepik и в практических заданиях. (https://stepik.org/course/58852/syllabus)
2.1. Учебный (тематический) план
№ | Название темы | Количество часов | Теория | Практика |
1 | Функции ввода-вывода данных | 9 | 4 | 5 |
2 | Условный оператор | 4 | 1,5 | 2,5 |
3 | Типы данных | 5 | 2 | 3 |
4 | Цикл for | 6 | 2,5 | 3,5 |
5 | Цикл While | 8 | 3 | 5 |
6 | Строки | 8 | 3,5 | 4,5 |
7 | Списки | 9 | 4 | 5 |
8 | Функции | 5 | 2 | 3 |
9 | Работа над мини-проектами | 12 | 0 | 12 |
10 | Резерв | 2 | 0 | 0 |
Всего | 68 | 22,5 | 43,5 |
Контрольный практикум - 8ч.
Работа над мини-проектами – 12 ч.
2.2 Поурочное планирование
№ | Название темы | Часы | Теория | Практика | Цель урока | Ожидаемые результаты | Формы контроля |
1 | Знакомство с Python | 1 | 0,5 | 0,5 | Познакомить учащихся с языком Python и средой программирования | Учащиеся смогут ориентироваться в среде, запускать простейшие команды Python | Вопросы, выполнение базовой команды |
2 | Команда print(). Аргументы команды print() | 1 | 0,5 | 0,5 | Научить использовать функцию print() для вывода информации | Учащиеся научатся выводить различные типы данных, пользоваться параметрами print | Практическое задание |
3 | Команда input() | 1 | 0,5 | 0,5 | Познакомить с введением данных пользователем | Учащиеся смогут считывать данные с клавиатуры и использовать их в программах | Практическая работа |
4 | Параметры sep, end | 1 | 0,5 | 0,5 | Объяснить особенности форматирования вывода | Учащиеся научатся использовать параметры sep и end для управления выводом | Выполнение мини-задания |
5 | Переменные. Комментарии. PEP 8 | 1 | 0,5 | 0,5 | Изучить создание переменных и правила оформления кода | Учащиеся научатся создавать переменные и писать комментарии, знать базовые требования PEP 8 | Тест + практическое задание |
6 | Работа с целыми числами | 1 | 0,5 | 0,5 | Познакомиться с операциями и типом данных «целое число» | Учащиеся овладеют работой с целыми числами на Python | Практическая работа |
7 | Арифметические операции | 1 | 0,5 | 0,5 | Изучить основные арифметические операции | Учащиеся смогут применять операции сложения, вычитания, умножения и деления | Практическая работа |
8 | Дополнительные операции | 1 | 0,5 | 0,5 | Познакомить с операторами возведения в степень, деления с остатком и др. | Учащиеся освоят дополнительные арифметические операции | Практическое задание |
9 | Итоговая работа «Ввод-вывод данных» | 1 | 0 | 1 | Проверить умение применять методы ввода и вывода | Учащиеся смогут самостоятельно решать задачи на ввод и вывод данных | Выполнение итоговой работы |
10 | Условный оператор | 1 | 0,5 | 0,5 | Объяснить работу условных операторов if и else | Учащиеся научатся задавать условия для выполнения различных веток программного кода | Практическая работа |
11 | Логические операции and, or, not | 1 | 0,5 | 0,5 | Изучить логические операторы и их применение | Учащиеся научатся комбинировать условия с помощью логических операторов | Практическое задание |
12 | Вложенный и каскадный условный оператор | 1 | 0,5 | 0,5 | Показать использование вложенных условий | Учащиеся смогут строить сложные ветвления с несколькими уровнями условий | Практическая работа |
13 | Итоговая работа «Условный оператор» | 1 | 0 | 1 | Проверить знания по условным операторам | Учащиеся самостоятельно решают комплексную задачу с условиями | Итоговое задание |
14 | Типы данных int, float | 1 | 0,5 | 0,5 | Рассмотреть основные числовые типы данных | Учащиеся различают и умеют работать с типами int и float | Практическое задание |
15 | Встроенные функции min(), max(), abs() | 1 | 0,5 | 0,5 | Изучить полезные встроенные функции | Учащиеся научатся применять функции min, max, abs на практике | Практическая работа |
16 | Строковый тип данных str(). Оператор in | 1 | 0,5 | 0,5 | Познакомиться со строками и оператором in | Учащиеся умеют работать со строками и проверять вхождение подстрок | Практическое задание |
17 | Модуль math | 1 | 0,5 | 0,5 | Объяснить использование стандартного модуля math | Учащиеся смогут применять функции из math (например, sqrt, sin и др.) | Практическая работа |
18 | Итоговая работа «Типы данных» | 1 | 0 | 1 | Проверить усвоение типов данных | Учащиеся самостоятельно выполняют комплексные задачи по типам данных | Итоговое задание |
19 | Цикл for | 1 | 0,5 | 0,5 | Ввести цикл for для повторений | Учащиеся пишут циклы для обработки списков и повторяющихся операций | Практическая работа |
20 | Переменная цикла | 1 | 0,5 | 0,5 | Рассмотреть роль переменной цикла | Учащиеся понимают назначение и использование переменной цикла | Практическое задание |
21 | Функция range() | 1 | 0,5 | 0,5 | Объяснить использование функции range | Учащиеся научатся задавать последовательности чисел с range | Практическая работа |
22 | Частые сценарии при написании циклов | 1 | 0,5 | 0,5 | Рассмотреть типичные задачи с циклами | Учащиеся освоят типовые паттерны использования циклов | Практическое задание |
23 | Расширенные операторы присваивания | 1 | 0,5 | 0,5 | Познакомить с операторами +=, -= и др. | Учащиеся смогут применять укороченные операторы присваивания | Практическая работа |
24 | Итоговая работа «Цикл for» | 1 | 0 | 1 | Проверить умение работать с циклом for | Учащиеся решают задачи с применением цикла for | Итоговое задание |
25 | Цикл с предусловием while | 1 | 0,5 | 0,5 | Ознакомиться с циклом while | Учащиеся применяют цикл с предусловием для решения задач | Практическая работа |
26 | Обработка цифр числа | 1 | 0,5 | 0,5 | Научиться работать с цифрами числа | Учащиеся реализуют разбиение числа на цифры и анализ цифр | Практическое задание |
27 | Операторы break, continue, else | 1 | 0,5 | 0,5 | Рассмотреть операторы для управления циклами | Учащиеся научатся прерывать и пропускать итерации цикла | Практическая работа |
28 | Ревью кода | 1 | 0,5 | 0,5 | Ознакомиться с практикой анализа и улучшения кода | Учащиеся научатся анализировать и исправлять код | Коллективный разбор, практическая |
29 | Вложенные циклы. Операторы break и continue во вложенных циклах | 1 | 0,5 | 0,5 | Изучить работу со вложенными циклами | Учащиеся смогут применять вложенные циклы и контролировать их выполнение | Практическое задание |
30 | Использование вложенных циклов при решении уравнений | 1 | 0,5 | 0,5 | Применить вложенные циклы для решения математических задач | Учащиеся решают задачи по перебору вариантов с помощью вложенных циклов | Практическая работа |
31 | Решение задач по теме «Цикл While» | 1 | 0 | 1 | Закрепить знания по циклу while | Учащиеся решают комплексные задачи с циклом while | Итоговое задание |
32 | Итоговая работа «Цикл While» | 1 | 0 | 1 | Итоговое закрепление темы циклов while | Выполнение итоговой работы по циклам while | Итоговое задание |
33 | Строковый тип данных: индексация и срезы | 1 | 0,5 | 0,5 | Изучить обращение к символам и срезы строк | Учащиеся смогут обращаться к символам строки и выделять срезы | Практическая работа |
34 | Методы строк: capitalize(), swapcase(), title(), lower(), upper() | 1 | 0,5 | 0,5 | Познакомиться с методами преобразования строк | Учащиеся научатся менять регистр и форматировать строки | Практическая работа |
35 | Методы строк: count(), startswith(), endswith(), find(), rfind(), index(), rindex(), strip(), lstrip(), rstrip(), replace() | 1 | 0,5 | 0,5 | Изучить методы поиска и замены в строках | Учащиеся смогут находить подстроки, заменять и очищать строки | Практическая работа |
36 | Методы строк: isalnum(), isalpha(), isdigit(), islower(), isupper(), isspace() | 1 | 0,5 | 0,5 | Рассмотреть методы проверки строк | Учащиеся научатся проверять свойства символов в строках | Практическая работа |
37 | Форматирование строк | 1 | 0,5 | 0,5 | Научить форматировать строки с помощью функций и методов | Учащиеся смогут создавать форматированный вывод | Практическая работа |
38 | Представление строк в памяти компьютера, ASCII и Unicode | 1 | 0,5 | 0,5 | Ознакомить с кодировками символов и хранением строк | Учащиеся поймут базовые принципы кодирования текста | Обсуждение, тестирование |
39 | Сравнение строк | 1 | 0,5 | 0,5 | Изучить операции сравнения строк | Учащиеся смогут корректно сравнивать строки | Практическое задание |
40 | Итоговая работа «Строки» | 1 | 0 | 1 | Проверить знание работы со строками | Решение комплексной задачи по работе со строками | Итоговое задание |
41 | Введение в списки | 1 | 0,5 | 0,5 | Познакомить со списками как структурой данных | Учащиеся смогут создавать и использовать списки | Практическое задание |
42 | Основы работы со списками | 1 | 0,5 | 0,5 | Рассмотреть базовые операции со списками | Учащиеся научатся добавлять, удалять и изменять элементы списков | Практическая работа |
43 | Методы списков. Методы добавления и удаления элементов | 1 | 0,5 | 0,5 | Изучить методы list.append(), list.remove() и др. | Учащиеся смогут эффективно управлять элементами списков | Практическое задание |
44 | Вывод элементов списка | 1 | 0,5 | 0,5 | Научиться выводить элементы списка | Учащиеся смогут организовывать вывод содержимого списков | Практическая работа |
45 | Строковые методы split() и join() | 1 | 0,5 | 0,5 | Познакомить с методами разделения и соединения строк | Учащиеся научатся разделять строки на части и объединять списки | Практическое задание |
46 | Методы списков: insert(), index(), remove(), pop(), reverse(), count(), clear(), copy(), sort() | 1 | 0,5 | 0,5 | Рассмотреть расширенные методы для списков | Учащиеся смогут использовать расширенный набор методов списков | Практическая работа |
47 | Списочные выражения | 1 | 0,5 | 0,5 | Ввести понятие списочных включений | Учащиеся научатся создавать и применять списочные выражения | Практическая работа |
48 | Сортировка списков | 1 | 0,5 | 0,5 | Объяснить сортировку списков | Учащиеся смогут сортировать списки методами sort() и sorted() | Практическое задание |
49 | Итоговая работа «Списки» | 1 | 0 | 1 | Проверить навыки работы со списками | Решение комплексных задач с использованием списков | Итоговое задание |
50 | Функции без параметров | 1 | 0,5 | 0,5 | Познакомить с определением и вызовом функций без параметров | Учащиеся смогут создавать и вызывать простые функции | Практическая работа |
51 | Функции с параметрами | 1 | 0,5 | 0,5 | Изучить функции с передачей параметров | Учащиеся будут писать функции, принимающие аргументы | Практическое задание |
52 | Локальные и глобальные переменные | 1 | 0,5 | 0,5 | Рассмотреть область видимости переменных | Учащиеся понимают разницу между локальными и глобальными переменными | Практическая работа |
53 | Функции, возвращающие значения | 1 | 0,5 | 0,5 | Научить возвращать значения из функций | Учащиеся смогут использовать return для вывода результатов функций | Практическая работа |
54 | Итоговая работа «Функции» | 1 | 0 | 1 | Закрепить умения работы с функциями | Решение задач с применением функций | Итоговое задание |
55 | Модуль random | 2 | 0 | 2 | Научить использовать модуль random для генерации случайных чисел | Учащиеся смогут создавать программы со случайным поведением | Практическая работа |
56 | Работа над проектом «Числовая угадайка» | 2 | 0 | 2 | Практическая реализация проекта угадывания числа | Учащиеся создают проект, применяя изученный материал | Защита проекта, тестирование |
57 | Работа над проектом «Магический шар» | 2 | 0 | 2 | Разработка проекта с элементами случайного выбора ответа | Учащиеся реализуют игру «Магический шар» | Защита проекта, тестирование |
58 | Работа над проектом «Генератор безопасных паролей» | 2 | 0 | 2 | Создание программы генерации паролей | Учащиеся применяют навыки работы со строками и модулями | Защита проекта, тестирование |
59 | Работа над проектом «Шифр Цезаря» | 2 | 0 | 2 | Реализация простого шифра | Учащиеся применяют знания по работе со строками и функциями | Защита проекта, тестирование |
60 | Работа над проектом «Калькулятор систем счисления» | 2 | 0 | 2 | Разработка калькулятора преобразований чисел между системами | Учащиеся применяют алгоритмы и функции для преобразования чисел | Защита проекта, тестирование |
Резерв | 2 | 23 | 43 |
Раздел 3. Формы аттестации и оценочные материалы
Аттестация проводится в форме выполнения индивидуальных и групповых заданий по пройденному материалу. Проводится промежуточный и итоговый контроль.
После каждой темы в онлайн-курсе стоит итоговая работа: от ученика требуется в ограниченное время решить набор задач по пройденной теме. В конце курса, по итогам работы над групповыми и индивидуальными проектами, проводится обсуждение результатов, исправление ошибок, коррекция и закрепление полученных знаний.
Раздел 4. Организационно-педагогические условия реализации программы
4.1. Источники информации
- Васильев, А. Н. Python на примерах [Текст]:практ. курс /А. Н. Васильев - Наука и Техника, 2019 - 432 с.
- Прохоренок, Н. А. Python 3: самое необходимое [Текст]:практ. курс / Н. А. Прохоренок, В. А. Дронов - БХВ-Петербург, 2019 - 608 с.
- Гэддис, Т. Начинаем программировать на Python [Текст]: учебник/Т. Гэддис - БХВ-Петербург, 2019 - 768 с.
- Седжвик, Р. Программирование на языке Python /Р. Седжвик, К. Уэйн, Р. Дондеро - Вильямс, 2017 - 736 с.
- Харрисон, М. Как устроен Python. [Текст]:практ. курс / М. Харрисон - Питер, 2002 - 272 с.
- Электронный ресурс: курс Поколение Python: курс для начинающих на платформе Stepik. (https://stepik.org/course/58852/syllabus)
4.2. Материально-технические условия реализации программы
- Кабинет информатики: 10—15 рабочих мест: стол, стул, розетка, компьютеры на каждое рабочее место;
- проектор, аудио колонки;
- интернет-соединение, скорость загрузки не менее 2 Мбит/сек;
- меловая, магнитно-маркерная доска;
- общие условия в соответствии с СанПиН 2.4.4.3172-14