Приложение № 1 Дополнительная общеобразовательная (общеразвивающая) программа «Основы программирования на языке Python» (далее – ДООП)
- 1. Цель, новизна и актуальность ДООП
- 2. Содержание ДООП (учебно-тематический план ДООП)
- 3. Учебно-тематический план
- 4. Образовательные технологии, применяемые в рамках реализации ДООП и формы образовательной деятельности
- 5. Формы аттестации (оценивания) и оценочные материалы
- 6. Учебно-методическое обеспечение учебного процесса
Категория учащихся: учащиеся школ и студенты средних специальных учебных заведений в возрасте от 13 до 20 лет
Срок освоения программы: 144 часа
Форма реализации ДООП (форма организации учебного процесса): очная
Форма обучения: очно-заочная с применением дистанционных технологий.
Режим занятий: 4 часа в неделю
Язык ДООП: обучение производится на русском языке
Авторы программы:
- Паволоцкий А. В., к. п. н.
- Гребенникова И.А., методист
1. Цель, новизна и актуальность ДООП
1.1. Цель ДООП:
Создание условий для изучения методов программирования на языке Python; рассмотрение различных парадигм программирования, предлагаемых этим языком (процедурная, функциональная, объектно-ориентированная); подготовка к использованию как языка программирования, так и методов программирования на Python в учебной и последующей профессиональной деятельности в различных предметных областях.
1.2. Задачи ДООП:
- формирование и развитие навыков алгоритмического и логического мышления, грамотной разработки программ;
- знакомство с принципами и методами функционального программирования;
- знакомство с принципами и методами объектно-ориентированного программирования;
- приобретение навыков работы в интегрированной среде разработки на языке Python;
- изучение конструкций языка программирования Python;
- знакомство с основными структурами данных и типовыми методами обработки этих структур;
- приобретение навыков разработки эффективных алгоритмов и программ на основе изучения языка программирования Python;
- приобретение навыков поиска информации в сети Интернет, анализ выбранной информации на соответствие запросу, использование информации при решении задач;
- приобретение навыков использование нейросетей для изучения нового материала;
- развитие у обучающихся интереса к программированию;
- формирование самостоятельности и творческого подхода к решению задач с использованием средств вычислительной техники;
- воспитание упорства в достижении результата;
- расширение кругозора обучающихся в области программирования.
1.3. Актуальность программы:
В настоящее время мы переживаем большие изменения в развитии общества. В современную жизнь человека всё больше внедряются компьютеры и информационные технологии. Всё большее значение приобретает умение человека грамотно обращаться с компьютером, причём зачастую не на пользовательском уровне, а на уровне начинающего программиста.
В обязательном школьном курсе информатики программирование нередко представлено лишь на элементарном уровне, на это выделяется недостаточное количество часов. Лишь немногие школы могут себе позволить преподавать программирование на достойном уровне. Следствием этого является формальное восприятие учащимися основ современного программирования и неумение применять полученные знания на практике.
Опираясь на уникальный опыт преподавания программирования в Школе анализа данных Яндекса (АНО ДПО «ОТЯ») и на факультете компьютерных наук НИУ ВШЭ, была подготовлена данная программа. В ней большое внимание уделяется практической работе на компьютере, самостоятельному написанию кода.
Изучение основных принципов программирования невозможно без регулярной практики написания программ на каком-либо языке. Для обучения был выбран язык Python. Данный выбор обусловлен тем, что синтаксис языка достаточно прост и интуитивно понятен, а это понижает порог вхождения и позволяет сосредоточиться на логических и алгоритмических аспектах программирования, а не на выучивании тонкостей синтаксиса. При этом Python является очень востребованным языком; он отлично подходит для знакомства с различными современными парадигмами программирования и активно применяется в самых разных областях от разработки веб-приложений до машинного обучения.
Научившись программировать на языке Python, учащиеся получат мощный и удобный инструмент для решения как учебных, так и прикладных задач. Вместе с тем чистота и ясность его конструкций позволит учащимся потом с лёгкостью выучить любой другой язык программирования.
Знания и умения, приобретённые в результате освоения курса, могут быть использованы обучающимися при сдаче ЕГЭ, при участии в олимпиадах по программированию, при решении задач по физике, химии, биологии, лингвистике и другим наукам, а также они являются фундаментом для дальнейшего совершенствования мастерства программирования.
В основу курса «Основы программирования на языке Python» заложены принципы модульности и практической направленности, что обеспечит вариативность обучения.
Содержание учебных модулей направлено на:
- детальное изучение алгоритмизации;
- реализацию межпредметных связей;
- организацию проектной и исследовательской деятельности обучающихся.
- Важным аспектом программы является самостоятельная работа над заданиями: школьники учатся решать задачи без помощи преподавателя. Для этого в содержании курса фигурируют задания, в которых:
- для решения задачи необходимо найти какую-то информацию в сети Интернет;
- может потребоваться устранение ошибки, которую не так просто быстро обнаружить;
- условие сформулировано недостаточно прозрачно и ученику необходимо самостоятельно формализовать его (или задать правильные вопросы преподавателю)
- некоторые задания требуют работы с нейросетями для получения новых знаний.
1.4. Планируемые результаты обучения:
По окончании обучения слушатель должен:
Знать:
- Основы современных языков программирования.
Уметь:
- Объяснять и использовать на практике как простые, так и сложные структуры данных и конструкции для работы с ними.
- Искать и обрабатывать ошибки в коде.
- Разбивать решение задачи на подзадачи.
Владеть:
- Способностью писать грамотный, красивый код.
- Способностью анализировать как свой, так и чужой код.
- Способностью работать с информацией: находить, оценивать и использовать информацию из различных источников, необходимую для решения профессиональных задач (в том числе на основе системного подхода).
- Использовать нейросети для обучения.
- Способностью грамотно строить коммуникацию, исходя из целей и ситуации.
1.5. Уровень ДООП:
«Базовый уровень». Предполагает использование и реализацию таких форм организации материала, которые допускают освоение специализированных знаний и языка, гарантированно обеспечивают трансляцию общей и целостной картины в рамках содержательно-тематического направления программы.
2. Содержание ДООП (учебно-тематический план ДООП)
Модуль 1. Линейные алгоритмы и циклы
Знакомство с виртуальной средой взаимодействия: регистрация, организация личного кабинета, поиск и выкладывание материалов. Знакомство с системой автоматизированной проверки задач.
Основные понятия программирования: исполнитель, система команд, алгоритм, программа, среда разработки, интерпретатор, код программы и редактор кода.
Ввод-вывод в программе, условный оператор, оператор цикла с предусловием. Простейшие программы с использованием условного оператора if, оператора циклов while и операторов ввода-вывода. Знакомство с циклом for. Устройство циклов for. Основные управляющие конструкции циклического алгоритма в Python. Простейшие циклы и циклы с переменными.
Технология разработки программы. На этом этапе обучающиеся разрабатывают первые алгоритмы и программы, а также анализируют, на какие функциональные блоки может быть разбита программа, и определяют работоспособность разработанной программы.
Тема 1: Знакомство со средой
Тема 2: Простые встроенные функции, math
Тема 3: Условный оператор
Тема 4: Цикл while
Тема 5: Цикл for
Тема 6: Прерывание циклов. Вложенные циклы
Форма проведения промежуточной аттестации: очная
Описание, требования к выполнению: учащиеся должны разработать несколько простых программ, в которых необходимо:
- Использовать условный оператор (if) для принятия решений.
- Применить цикл (while или for) для повторяющихся действий.
- Включить функции ввода-вывода для взаимодействия с пользователем.
- Разбить программу на функциональные блоки с комментариями.
- Провести тестирование кода и предоставить отчет о результатах.
Результат должен включать рабочий код.
Количество попыток: 1
Модуль 2. Коллекции
Работа со списками, строками, множествами и кортежами в Python. Понятие множества. Основные функции и методы для работы со множествами. Записи основных команд, функций и методов. Строковый тип данных. Работа с отдельными элементами строки. Индексация в строке. Срезы для строкового типа данных. Списки. Индексация элементов. Изменение элементов. Создание списков. Генераторы. Списочные выражения. Знакомство со срезами и диапазонами. Равенство и совпадение объектов. Методы для обработки списков и строк. Вложенные списки. Словари. Методы обработки словарей. Преобразование коллекций.
На этом этапе обучающиеся учатся выбирать оптимальные коллекции для решения поставленной задачи. Понимают разницу между коллекциями.
Тема 1: Строки и кортежи
Тема 2: Списки
Тема 3: Множества
Тема 4: Преобразования коллекций
Тема 5: Списочные выражения
Тема 6: Словари
Тема 7: Сложные коллекции и генераторы
Форма проведения промежуточной аттестации: очная
Описание, требования к выполнению: работа включает задания на работу со строками и кортежами, создание и изменение списков, выполнение операций с множествами (объединение, пересечение, разность), создание словаря студентов с функциями для добавления, удаления и поиска, написание функции для получения множества уникальных элементов из списка и создание генератора для вложенного списка. Оценка будет основываться на корректности, оптимальности и читаемости кода.
Результат должен включать рабочий код.
Количество попыток: 1
Модуль 3. Файлы и библиотек
В этом модуле учащиеся научаться работать с файлами: создавать, читать и переносить их между папками. Подключение и использование модулей стандартной библиотеки. Модульный принцип компоновки программы. Работа с документацией в стандартной библиотеке. Понятие репозитория различных пакетов Python. Работа с внешними библиотеками Python и утилитой pip. Внешние библиотеки для обработки графики. Работа с документами. Работа с текстом. Анализ текста. Анализ слов.
Тема 1: Текстовые файлы
Тема 2: Файлы csv и json
Тема 3: Изучение с ИИ библиотеки random, datetime
Тема 4: Обход файловой системы
Тема 5: Библиотека PIL. Рисование
Тема 6: Библиотека PIL. Трансформация
Тема 7: Библиотеки для работы с документами
Тема 8. Изучение с ИИ библиотеки Numpy.
Форма проведения промежуточной аттестации: очная
Описание, требования к выполнению: работа включает работу с текстовыми файлами, обработку CSV и JSON, использование библиотек random и datetime, обход файловой системы, применение библиотеки PIL для работы с изображениями, а также использование внешних библиотек и утилиты pip.
Результат должен включать рабочий код.
Количество попыток: 1
Модуль 4. Функции
Функциональная парадигма программирования. Понятие функции. Учащиеся создают различные функции для обработки коллекций. Изучают области видимости, способы возвращения значений и передачи параметров. Разбирается потоковый ввод данных.
В качестве дополнительных уроков предлагается изучить итераторы, генераторы и рекурсивные функции.
Тема 1: Функции. Возвращение значений
Тема 2: Функции. Области видимости
Тема 3: Функции. Передача параметров
Тема 4: Функции. Переменное число аргументов
Тема 5: Функции высшего порядка
Тема 6: Обработка коллекций. Потоковый ввод
Тема 7: Изучение с ИИ темы аннотации типов и документирование
Тема 8: Переопределение функций, декораторы
Тема 9: Рекурсивные функции
Форма проведения промежуточной аттестации: очная
Описание, требования к выполнению: учащиеся должны разработать набор функций для обработки данных, включая фильтрацию, сортировку и агрегацию. Необходимо включить одну функцию с потоковым вводом, документировать код с аннотациями типов и комментариями, а также применить хотя бы один декоратор. Рекомендуется реализовать рекурсивную функцию для обработки коллекций. Код должен быть организован в модули с понятной структурой и именами файлов.
Результат должен включать рабочий код.
Количество попыток: 1.
Модуль 5. ООП
Основы ООП. Основные понятия ООП. Объекты, классы, методы. Полиморфизм. Определение операторов. Наследование. Проектирование и разработка классов.
В течение всего курса ученики решают большое количество задач: от самых простых до сложных.
Тема 1: ООП 1. Ввевдение
Тема 2: ООП 2. Полиморфизм
Тема 3: ООП 3. Переопределение операторов
Тема 4: ООП 4. Наследование
Тема 5: Системные исключения
Тема 6: Создание собственных исключений
Тема 5: ООП 5. Dataclasses
Тема 8: ООП 6. Работа с ИИ по теме проектирование классов (ПВЗ)
ИТОГОВАЯ АТТЕСТАЦИЯ
Форма проведения итоговой аттестации: очная, контрольная работа
Описание, требования к выполнению: работа охватывает основы, включая синтаксис, типы данных и базовые конструкции (условия и циклы), а также структуры данных (списки, кортежи, множества, словари). Уделяется внимание созданию и использованию функций, объектно-ориентированному программированию (классы, объекты, наследование) и работе с библиотеками и файлами (текстовые, CSV, JSON).
Количество попыток: 1
3. Учебно-тематический план
Дополнительной общеобразовательной общеразвивающей программы
«Основы программирования на языке Python»
Объем (трудоемкость) программы: 144 часа
|
№ п/п |
Наименование разделов, дисциплин |
Трудоемкость |
Форма контроля |
|||
|
ВСЕГО в часах |
Лекции |
Практические занятия |
Контактная работа |
|||
|
1 |
2 |
3 |
4 |
5 |
||
|
1 |
Модуль 1. Линейные алгоритмы и циклы. |
26 |
Понятия кода, интерпретатора, программы. Интегрированные среды, исполнение кода и отладка. Переменные, основные операторы. Базовые типы данных (числа, строки), конструкции ветвления. Работа с модулем math. Циклы. True, False, Break, Continue. Вложенные циклы. Отладка. Резервное время. |
Решение задач по пройденным темам. Самостоятельная работа №1. |
||
|
2 |
Модуль 2. Коллекции. |
26 |
Строки. Индексация строк. Срезы. Кортежи. Списки. Индексация и срезы в списках. Преобразование коллекций. Методы split и join. Методы списков и строк. Списочные выражения. Генераторы. Вложенные списки. Словари. Резервное время. |
Решение задач по пройденным темам. Контрольная работа №1. |
||
|
3 |
Модуль 3. Файлы и библиотеки. |
29 |
Текстовые файлы. Файлы csv и json. Стандартные библиотеки. Работа с random и datetime. Обход файловой системы. Библиотеки для обработки графики. Библиотека для работы с текстом. Библиотека для работы с документами. Работа с ИИ для изучения библиотеки «Numpy». Резервное время / дополнительные темы: «Tkinter», «Морфология». |
Решение задач по пройденным темам. Самостоятельная работа №2. |
||
|
4 |
Модуль 4. Функции. |
31 |
Функции. Возвращение значений из функций. Области видимости переменных. Передача параметров. Функции с переменным числом аргументов. Функции высшего порядка. Лямбда-функции. Обработка коллекций. Потоковый ввод. Использование ИИ для изучения темы «Аннотация типов. Документирование». Переопределение функций, декораторы, functools. Рекурсивные функции. |
Решение задач по пройденным темам. Самостоятельная работа №3. |
||
|
5 |
Модуль 5. ООП. |
30 |
Введение в ООП. Полиморфизм. Определение операторов. Наследование. Системные исключения. Создание собственных исключений. Dataclasses. Использование ИИ для изучения темы «Проектирование и разработка классов (ПВЗ)». Резервное время / дополнительная тема: «Проектирование и разработка классов (шахматы)». |
Решения задач на пройденные темы. |
||
|
ВСЕГО: |
||||||
|
Итоговая аттестация: |
||||||
|
Итоговая контрольная работа |
2 |
Контрольная работа по всем пройденным темам. |
Контрольная работа. |
|||
|
ИТОГО: |
144 |
|||||
4. Образовательные технологии, применяемые в рамках реализации ДООП и формы образовательной деятельности
4.1. В рамках реализации ДООП используются электронное обучение; дистанционные образовательные технологии
4.2. Образовательная деятельность слушателей предусматривает следующие виды учебных занятий и учебных работ, включая, но не ограничиваясь: лекции, практические и семинарские занятия, консультации и другие виды учебных занятий и учебных работ, определенные учебным планом.
5. Формы аттестации (оценивания) и оценочные материалы
5.1. Промежуточная аттестация
Промежуточная является инструментом оценки приобретенных в рамках обучения знаний, умений, навыков по разделу/дисциплине ДООП в рамках заявленных образовательных. Непрохождение промежуточной аттестации является основанием для отказа в предоставлении слушателю дальнейшего прохождения обучения по Программе.
Промежуточная аттестация проводится по следующим разделам/дисциплинам ДООП:
-
Модуль 1. Линейные алгоритмы и циклы, по всем темам в форме самостоятельной работы.
-
Модуль 2. Коллекции, по всем темам в форме контрольной работы.
-
Модуль 3. Файлы и библиотеки, по всем темам в форме самостоятельной работы.
-
Модуль 4. Функции, по всем темам в форме самостоятельной работы.
5.2. Итоговая аттестация
Итоговая аттестация направлена на оценку уровня освоения слушателем дисциплин, входящих в состав учебного плана, а также оценивание результатов обучения по ДООП.
К итоговой аттестации допускаются слушатели в полном объеме, выполнившие учебный план и успешно прошедшие все формы промежуточной аттестации.
Итоговая аттестация проводится по окончании обучения в форме контрольной работы.
6. Учебно-методическое обеспечение учебного процесса
6.1. Нормативные документы:
• Федеральный закон от 29.12.2012 N 273-ФЗ (ред. от 28.02.2025) "Об образовании в Российской Федерации"
• Приказ Минпросвещения России от 27.07.2022 N 629 "Об утверждении Порядка организации и осуществления образовательной деятельности по дополнительным общеобразовательным программам"
6.2. Список основной литературы:
• К. Ю. Поляков, Е. А. Еремин. Информатика. Углублённый уровень. Учебник для 10 класса в 2 частях. М.: БИНОМ. Лаборатория знаний, 2018.
• М. Лутц. Изучаем Python. СПб.: Диалектика, 2019.
• Задачи по программированию. Под ред. С. М. Окулова, М.: БИНОМ. Лаборатория знаний, 2020.
• С. М. Окулов. Основы программирования. М.: Бином. Лаборатория знаний, 2020.
6.3. Список дополнительной литературы:
• М. Лутц. Изучаем Python. СПб.: Диалектика, 2019.
• Информатика и ИКТ. Задачник-практикум в 2 частях. Под ред. И. Г. Семакина и Е. К. Хеннера. М.: БИНОМ. Лаборатория знаний, 2018.
• Златопольский Д.М. Основы программирования на языке Python. М.: ДМК Пресс, 2017.
6.4. Электронные учебные материалы (интернет-ресурсы)
• Материалы и презентации к урокам в LMS Яндекс.Лицея.
• Сайт pythonworld.ru — «Python 3 для начинающих».
• Сайт pythontutor.ru — «Питонтьютор».
• Официальная документация языка Python (http://docs.python.org).
• https://www.youtube.com/playlist?list=PLJOzdkh8T5kpIBTG9mM2wVBjh-5OpdwBl — Лекции А.В. Умнова, прочитанные в Школе Анализа Данных Яндекса.
6.5. Материально-техническое обеспечение учебного процесса
Совокупность технологий, в том числе технологий электронного обучения, используемых в образовательной организации, включая, но не ограничиваясь: интерактивная онлайн-среда, позволяющая осуществлять обучение в дистанционной формате со встроенными механизмами автопроверки практических работ
Дата публикации: 29.07.2026
Предыдущая версия документа https://yandex.ru/legal/lyceum_python_programming/15062023/.
Предыдущая версия документа https://yandex.ru/legal/lyceum_python_programming/16012023/.
Предыдущая версия документа https://yandex.ru/legal/lyceum_python_programming/12052022/.