Рабочая программа Программирование на языке Python

Муниципальное автономное общеобразовательное учреждение «Лицей № 7»

Пояснительная записка.
Дополнительная общеобразовательная общеразвивающая программа «Программирование
на языке Python» составлена на основе курса К.Ю. Полякова «Программирование. Python,
C++», М.:, БИНОМ. Лаборатория знаний, 2018 г., примерной программы внеурочной
деятельности начального и основного образования, Федерального государственного
образовательного стандарта основного общего образования, утвержден приказом Министерства
образования и науки Российской Федерации от 17 декабря 2010 г. № 1897, Законом РФ «Об
образовании» от 29.12.12 г. №273-ФЗ и письмом Минпросвещения России от 5.09.2018 г. №03ПГ-МП-42216 «Об участии учеников муниципальных и государственных школ РФ во
внеурочной деятельности».
Данная программа курса по предмету «Программирование на языке Python» основана на
учебно-методическом комплекте (далее УМК), обеспечивающем обучение курсу информатики
в соответствии с Федеральным государственным образовательным стандартом среднего
(полного) общего образования (далее — ФГОС), который включает в себя источники:
 учебное пособие К.Ю. Полякова «Программирование. Python, C++», М.:, БИНОМ.
Лаборатория знаний, 2018 г.;
 компьютерный практикум в электронном виде с комплектом электронных учебных
средств, размещённый на сайте: http://kpolyakov.spb.ru/school/probook.htm;
 электронный задачник-практикум с возможностью автоматической проверки
решений
задач
по
программированию:
http://informatics.mccme.ru/course/view.php?id=666;
 материалы для подготовки к итоговой аттестации по информатике в форме ОГЭ,
размещённые
на
сайте
материалы,
размещенные
на
сайте
http://kpolyakov.spb.ru/school/оge.htm;
 методическое пособие для учителя;
 комплект Федеральных цифровых информационно-образовательных ресурсов
(далее ФЦИОР), помещенный в коллекцию ФЦИОР (http://www.fcior.edu.ru);
 сетевая методическая служба авторского коллектива для педагогов на сайте
издательства http://metodist.lbz.ru/authors/informatika/7/;
 дистанционная подготовка:
o Курс «Программирование на языке Python» на python «Д.П. Кириенко.
«Программирование на языке Python» на языке Python (школа 179 г.
Москва)» (http://informatics.msk.ru/course/view.php?id=156)
o онлайн учебник Pythontutor.ru;
o interactivepython.org — «Алгоритмы и структуры данных с использованием
Python» (бесплатная книга с интерактивным тренажёром);
o younglinux.info/oopython.php
—
Python.
ориентированное программирование;

Введение

в

объектно-

o pygtk.org — библиотека PyGTK для разработки программ с графическим
интерфейсом;
o younglinux.info/tkinter.php — Tkinter. Программирование графического
интерфейса;
o effbot.org/tkinterbook/tkinter-index.htm — учебник по пакету tkinter;
Дополнительная общеобразовательная общеразвивающая программа «Программирование
на языке Python» включает в себя изучение ряда направлений в области программирования:

Муниципальное автономное общеобразовательное учреждение «Лицей № 7»

знакомство со средой программирования, этапами создания программ, программных модулей,
овладение инструментами для тестирования и отладки программ.
Программа «Программирование на языке Python» имеет техническую направленность.
Рассчитана на 1 год обучения и дает объем технических и естественно-научных компетенций,
которыми вполне может овладеть современный школьник, ориентированный на научнотехническое и/или технологическое направление дальнейшего образования и сферу
профессиональной деятельности. Возраст детей, участвующих в реализации программы 13-15
лет. Программа ориентирована, в первую очередь на ребят, желающих получить практические
навыки программирования на высокоуровневом языке. Несмотря на то, что порог входа в курс
достаточно низкий учащиеся должны обладать базовыми знаниями по алгоритмике и навыками
составления программ для алгоритмических исполнителей на алгоритмическом языке. Знание
других языков программирования не требуется.
Актуальность программы обусловлена потребностью общества в технически грамотных
специалистах в области разработки прикладных программ, проектированию баз данных,
машинного обучения и искусственного интеллекта. Знания, умения и практические навыки
решения актуальных задач, полученные на занятиях по программированию, готовят учащихся к
самостоятельной инженерной деятельности с применением современных технологий. В
настоящее время существует дефицит IT-специалистов, в особенности в момент активного
импортозамещения. Очень важную роль программирование, как метапредмет, играет в области
образования, так как умение не просто составлять алгоритмы, но и оптимизировать их – важная
компетенция современного конкурентоспособного инженера. Языки программирования
встроены во многие профессиональные пользовательские пакеты используемые в разных
сферах человеческой деятельности: Microsoft Office, Blender, 1C:Бухгалтерия. При помощи этих
языков возможно максимально автоматизировать выполнение задач, тонко настроить процессы.
Данные технологии поднимают образование на совершенно новый качественный уровень.
Глобальный запрос современного общества на виртуализацию нашей повседневной
реальности требует подготовки большого количества инженеров-программистов по разным
направления и предполагает повышенную заработную плату IT-специалистам, поэтому данное
направление очень популярно и востребовано. Это закономерный этап в развитии общества.
Очевидно, что он требует своевременного образования, обеспечивающего базу для
естественного и осмысленного использования соответствующих устройств и технологий,
профессиональной ориентации и обеспечения непрерывного образовательного процесса.
Фактически программа призвана решить две взаимосвязанные задачи: профессиональная
ориентация ребят в технически сложной сфере и формирование адекватного способа
мышления.
Педагогическая целесообразность заключается не только в развитии технических
способностей и возможностей средствами конструктивно-технологического подхода,
гармонизации отношений ребенка и окружающего мира, но и в развитии созидательных
способностей,
устойчивого
противостояния
любым
негативным
социальным
и
социотехническим проявлениям. Движение в сторону нового технологического уклада требует
воспитания в гражданах XXI века иных морально-этических качеств, наступает время, в
которое решение множества естественных бытовых проблем ляжет на плечи искусственного
разума, а значительная часть человеческой деятельности будет виртуализирована. Данный
процесс идет уже более 20 лет и связан с развитием и встраиванием в нашу жизнь сети
Интернет. Так или иначе, но многие науки в своей методологии используют программирование,
как способ автоматизации научной и исследовательской деятельности. Математика, физика,
химия, лингвистика и прочие не могут развиваться дальше на скоростях обработки данных,
которые были в прошлом. Для создания новых химических формул, прогнозирования
процессов и явлений уже мало быстро вычисляющей техники, нужны современные
оптимизированные алгоритмы с элементами машинного интеллекта. И именно в школе
необходимо закладывать базу для дальнейшего формирования инженерных компетенций
современного специалиста. Реальность такова, что те задачи, которые 40-50 лет назад решали

Муниципальное автономное общеобразовательное учреждение «Лицей № 7»

слушатели начальных курсов организаций высшего образования сегодня должен и может
решать ученик 5-7 классов общеобразовательной школы.
Отличительной особенностью данной программы является то, что в её основе лежит
идея использования в обучении собственной активности учащихся. Концепция данной
программы - теория развивающего обучения в канве критического мышления. В основе
сознательного акта учения в системе развивающего обучения лежит способность к
продуктивному творческому воображению и мышлению. Более того, без высокого уровня
развития этих процессов вообще невозможно ни успешное обучение, ни самообучение. Именно
они определяют развитие творческого потенциала человека. Готовность к творчеству
формируется на основе таких качеств как внимание и наблюдательность, воображение и
фантазия, смелость и находчивость, умение ориентироваться в окружающем мире,
произвольная память и др. Использование программы позволяет стимулировать способность
детей к образному и свободному восприятию окружающего мира (людей, природы, культурных
ценностей), его анализу и конструктивному синтезу.
Адресат программы.
Возраст детей, участвующих в реализации программы 13-15 лет.
Дети 13-15 лет, участвующие в реализации программы, это уже подростки. На смену
конкретному приходит логическое мышление. Это проявляется в критицизме и требовании
доказательств. Подросток теперь тяготится конкретным, его начинают интересовать
философские вопросы (проблемы происхождения мира, человека). Происходит открытие мира
психического, внимание подростка впервые обращается на других лиц. Для подростков
характерно новое отношение к учению. Подросток стремится к самообразованию, причем часто
становится равнодушным к оценке. Порой наблюдается расхождение между
интеллектуальными возможностями и успехами в учебе: возможности высокие, а успехи
низкие. Работая со учащимися, проявившими интерес к программированию незадолго до
окончания 9-го класса, приходится особенно бережно и тщательно относится к их времени:
создавать индивидуальные задания, больше внимания уделять самостоятельной работе. При
работе используются различные приемы групповой деятельности в разноуровневых группах
для обучения элементам кооперации, внесения в собственную деятельность самооценки,
взаимооценки, умение работать с технической литературой и выделять главное.
Объем программы и режим занятий.
Программа рассчитана на 1 год обучения. Общая продолжительность обучения составляет
72 часа.
Для успешной реализации программы целесообразно объединение детей в учебные
группы численностью от 8 до 15 человек. В учебную группу принимаются все желающие. Но
для успешного овладения программой ребята должны обладать базовыми знаниями по
алгоритмике и навыками составления программ для алгоритмических исполнителей. Знание
основ любого алгоритмического языка, позволит быстрее погрузиться в тему.
При определении режима занятий учтены санитарно-эпидемиологические требования к
учреждениям дополнительного образования детей. Занятия проводятся 2 раза в неделю по 2
часа, с перерывом 15 мин (для детей старше 10 лет равна 45 мин (в соответствии с
«Постановление Главного государственного санитарного врача РФ от 4 июля 2014 года №41 г.
Москва «Об утверждении СанПиН 2.4.4.3172-14 «Санитарно-эпидемиологические требования к
устройству содержанию и организации режима работы образовательных организаций
дополнительного образования детей»). Структура каждого занятия зависит от конкретной темы
и решаемых в ней задач.
Формы и методы организации образовательного процесса.
Методика предусматривает проведение занятий в различных формах: групповой, парной,
индивидуальной.

Муниципальное автономное общеобразовательное учреждение «Лицей № 7»

Групповые и парные занятия позволяют помочь ребёнку уверенно чувствовать себя в
различных видах деятельности. Предполагается, что в течение полугода обучения у детей
формируется достаточный уровень умений и навыков шаблонного проектирования. На этом
фоне уже выделяются более компетентные, высоко мотивированные и даже, можно сказать,
профессионально ориентированные дети.
Во втором полугодии рекомендуется индивидуальное проектирование, цель которого развитие уникального сочетания способностей, умений и навыков и даже начальных
профессиональных компетенций.
В рамках учебного плана каждого года особо выделены часы, используемые для
разработки и подготовки к соревнованиям, участие в соревнованиях. Эти часы четко не
распределены по времени, поскольку зависят от графика соревновательного процесса и
результативности участия команд воспитанников.
Цель программы: формирование творческих и научно-технических компетенций
обучающихся в неразрывном единстве с воспитанием коммуникативных качеств и
целенаправленности личности через систему практико-ориентированных групповых занятий и
самостоятельной деятельности обучающихся по программированию, решающих поставленные
задачи.
Задачи программы.
Личностные:
 активизировать формирование активной жизненной позиции, гражданскопатриотической ответственности;
 воспитывать этику групповой работы, отношения делового сотрудничества,
взаимоуважения;
 развивать основы коммуникативных отношений внутри проектных групп и в
коллективе в целом;
 воспитывать упорство в достижении результата;
 пропагандировать здоровый образ жизни;
 формировать
целеустремлённость,
организованность,
неравнодушие,
ответственное отношение к труду и уважительное отношение к окружающим.
Метапредметные:
 сформировать и развить креативность, гибкость и самостоятельность мышления на
основе игровых образовательных и воспитательных технологий;
 сформировать и развить навыки проектирования и построения алгоритмов;
 создать оптимальное мотивационное пространство для детского творчества.
Предметные:
 дать представление об основных понятиях программирования, разных парадигмах
программирования;
 дать предсавление о классических алгоритмах и их свойствах;
 дать представление о специфике интерпретируемых программ, их преимуществах
и недостатках, отличиях от компилируемых программ;
 дать представление о технических характеристиках оборудования для аккуратного
использования памяти компьютера, возможностей процессора;
 познакомить с авторским правом, с лицензированием программного обеспечения;
 развить навыки программирования в современной среде программирования
углубить знания, повысить мотивацию к обучению путем практического
интегрированного применения знаний, полученных в различных образовательных
областях (математика, физика, информатика);
 развить интерес к научно-техническому, инженерно-конструкторскому творчеству,
сформировать общенаучные и технологические навыки проектирования, развить
творческие способности учащихся.

Муниципальное автономное общеобразовательное учреждение «Лицей № 7»

Содержание программы
Первый уровень (17 часов).
 Простейшие программы. Диалоговые программы. Переменные. Консольный ввод и
вывод данных.
 Компьютерная графика. Система координат. Управление пикселями. Графические
примитивы: линии, прямоугольники, окружности. Изменение координат.
Анимация.
 Процедуры. Процедуры с параметрами. Рефакторинг.
 Обработка целых чисел. Арифметические выражения. Деление нацело. Остаток от
деления.
 Обработка вещественных чисел. Особенности представления вещественных чисел
в памяти компьютера. Операции с ве-щественными числами.
 Случайные и псевдослучайные числа. Генераторы случайных чисел.
 Ветвления. Условный оператор. Полная и неполная формы условного оператора.
Вложенные условные операторы. Логиче-ские переменные. Экспертные системы.
Сложные условия. Логические операции И, ИЛИ, НЕ. Порядок выполнения операций.
 Циклы с условием. Алгоритм Евклида. Обработка потока данных. Бесконечные
циклы. Циклы по переменной. Шаг из-менения переменной цикла.
 Циклы в компьютерной графике. Узоры. Вложенные циклы. Штриховка.
Второй уровень (18 часов).
 Этапы создания программ. Методы проектирования программ «сверху вниз» и
«снизу вверх». Интерфейс и реализация. Документирование программы.
 Подпрограммы: процедуры и функции. Процедуры. Процедуры с параметрами.
Локальные и глобальные переменные.
 Функции. Логические функции.
 Рекурсия. Рекурсивные процедуры и функции. Фракталы.
 Символьные строки. Сравнение строк. Операции со строками. Обращение к
символам. Перебор всех символов. Срезы. Удаление и вставка. Встроенные
методы. Поиск в символьных строках. Замена символов. Преобразования «строка
— число». Символьные строки в функциях. Рекурсивный перебор.
 Массивы (списки). Массивы в языке Python. Создание массива. Обращение к
элементу массива. Перебор элементов массива. Генераторы. Вывод массива. Ввод
массива с клавиатуры. Заполнение массива случайными числами.
 Алгоритмы обработки массивов. Сумма элементов массива. Подсчёт элементов
массива, удовлетворяющих условию. Особенности копирования списков в Python.
 Поиск в массивах. Линейный поиск. Поиск максимального элемента в массиве.
Максимальный элемент, удовлетворяющий условию. Использование массивов в
прикладных задачах.
 Матриц. Создание и заполнение матриц. Вывод матрицы на экран. Перебор
элементов матрицы. Квадратные матрицы.
 Сложность алгоритмов. Асимптотическая сложность.

Муниципальное автономное общеобразовательное учреждение «Лицей № 7»

Третий уровень (18 часов).
 Сортировка массивов. Метод пузырька (сортировка обменами). Метод выбора.
Сортировка слиянием. Быстрая сортировка. Сортировка в языке Python.
 Двоичный поиск в массиве данных. Двоичный поиск по ответу.
 Обработка файлов. Типы файлов. Чтение данных. Запись данных. Обработка
данных из файла.
 Целочисленные алгоритмы. Решето Эратосфена. Целочисленный квадратный
корень.
 Словари. Алфавитно-частотный словарь. Перебор элементов словаря.
 Структуры. Классы. Создание структур. Работа с полями структур. Хранение
структур в файлах. Сортировка структур.
 Стек. Использование списка. Вычисление арифметических выражений. Скобочные
выражения. Системный стек. Очередь. Дек.
 Деревья. Деревья поиска. Обход дерева. Использование связанных структур.
Вычисление арифметических выражений.
 Графы. Описание графа. Жадные алгоритмы. Минимальное остовное дерево.
Алгоритм Дейкстры. Алгорим Флойда–Уоршелла. Использование списков
смежности.
 Динамическое программирование. Числа Фибоначчи. Количество программ для
исполнителя. Двумерные задачи. Поиск оптимального решения.
 Игровые модели. Выигрышные и проигрышные позиции.
Четвёртый уровень (18 часов).
 Проблема сложности программ. Процедурный и объектно-ориентированный
подходы к написанию программ.
 Классы и объекты. Объектно-ориентированный анализ. Взаимодействие объектов.
Свойства и методы.
 Классы и объекты в программе. Объявление класса. Поля класса. Конструктор
класса. Данные и методы класса.
 Скрытие внутреннего устройства. Доступ к полям через методы. Свойства
(property). Свойство «только для чтения»
 Иерархия классов. Наследование. Базовый класс. Доступ к полям. Классынаследники. Полиморфизм. Разработка модулей.
 Событийно-ориентированное программирование. Программы с графическим
интерфейсом. Форма. Свойства формы. Обработчики событий.
 Использование компонентов (виджетов). Ввод и вывод данных. Обработка ошибок
с помощью исключений.
 Создание компонентов. Добавление свойств и методов. Составные компоненты.
 Модель и представление.
Поурочное планирование.

Муниципальное автономное общеобразовательное учреждение «Лицей № 7»

1 уровень
№
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.

Тема занятия
Первые программы
Диалоговые программы
Компьютерная графика
Процедуры
Обработка целых чисел
Обработка вещественных чисел
Случайные и псевдослучайные числа
Ветвления
Сложные условия
Циклы с условием
Циклы с условием: практикум
Анимация
Циклы по переменной
Циклы в компьютерной графике
Выполнение проекта
Выполнение проекта
Выполнение проекта

Параграф пособия (номер, название)
§ 1. Первые программы
§ 2. Диалоговые программы
§ 3. Компьютерная графика
§ 4. Процедуры
§ 5. Обработка целых чисел
§ 6. Обработка вещественных чисел
§ 7. Случайные и псевдослучайные числа
§ 8. Ветвления
§ 9. Сложные условия
§ 10. Циклы с условием
§ 10. Циклы с условием
§ 11. Анимация
§ 12. Циклы по переменной
§ 13. Циклы в компьютерной графике
§ 1-13.
§ 1-13.
§ 1-13.
Итого

Кол-во часов
теория практ.
0,5
0,5
0,5
0,5
0,5
0,5
0,5
0,5
0,5
0,5
0,5
0,5
0,5
0,5
0,5
0,5
0,5
0,5
0,5
0,5
1
0,5
0,5
0,5
0,5
0,5
0,5
1
1
1
6,5
10,5

2 уровень
№
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.

Тема занятия
Проектирование программ
Процедуры
Рекурсия
Функции
Символьные строки
Обработка символьных строк
Строки в функциях
Массивы
Ввод и вывод массивов
Суммирование элементов массива
Подсчёт элементов массива,
удовлетворяющих условию
Поиск значения в массиве
Поиск максимального элемента в
массиве
Игра «Стрельба по тарелкам»
Игра «Стрельба по тарелкам»
Матрицы
Сложность алгоритмов
Итоговый проект

Параграф пособия (номер, название)
§ 1. Проектирование программ
§ 2. Процедуры
§ 3. Рекурсия
§ 4. Функции
§ 5. Символьные строки
§ 5. Символьные строки
§ 5. Символьные строки
§ 6. Массивы (списки)
§ 6. Массивы (списки)
§ 7. Алгоритмы обработки массивов

Кол-во часов
теория практ.
1
0,5
0,5
0,5
0,5
0,5
0,5
0,5
0,5
0,5
0,5
0,5
0,5
0,5
0,5
0,5
0,5
0,5
0,5

§ 7. Алгоритмы обработки массивов

0,5

0,5

§ 8. Поиск в массивах

0,5

0,5

§ 8. Поиск в массивах

0,5

0,5

§ 9. Используем массивы
§ 9. Используем массивы
§ 10. Матрицы
§ 11. Сложность алгоритмов

0,5
0,5
0,5
1

0,5
0,5
0,5

Итого

9,5

1
8,5

3 уровень
№
1.
2.
3.
4.
5.
6.
7.

Тема занятия
Простые алгоритмы сортировки
Сортировка слиянием
Быстрая сортировка
Двоичный поиск
Обработка файлов
Обработка файлов: практикум
Целочисленные алгоритмы

Параграф пособия (номер, название)
§ 1. Простые алгоритмы сортировки
§ 2. Быстрые алгоритмы сортировки
§ 2. Быстрые алгоритмы сортировки
§ 3. Двоичный поиск
§ 4. Обработка файлов
§ 4. Обработка файлов
§ 5. Целочисленные алгоритмы

Кол-во часов
теория практ.
0,5
0,5
0,5
0,5
0,5
0,5
0,5
0,5
0,5
0,5
1
0,5
0,5

Муниципальное автономное общеобразовательное учреждение «Лицей № 7»

№

Тема занятия

Словари
Структуры
Структуры: практикум
Стек, очередь, дек
Деревья
Графы
Графы: практикум
Динамическое программирование
Динамическое программирование:
16.
практикум
17. Игровые модели
8.
9.
10.
11.
12.
13.
14.
15.

Параграф пособия (номер, название)
§ 6. Словари
§ 7. Структуры
§ 7. Структуры
§ 8. Стек, очередь, дек
§ 9. Деревья
§ 10. Графы
§ 10. Графы
§ 11. Динамическое программирование

Кол-во часов
теория практ.
0,5
0,5
0,5
0,5
1
0,5
0,5
0,5
0,5
0,5
0,5
1
0,5
0,5

§ 11. Динамическое программирование

0,5

0,5

§ 12. Игровые модели

0,5
7

0,5
10

Итого

4 уровень
№
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.

Тема занятия
Что такое ООП?
Модель задачи: классы и объекты
Классы и объекты в программе
Классы и объекты в программе:
практикум
Скрытие внутреннего устройства
Иерархия классов
Классы-наследники (I)
Классы-наследники (II)
Доработка игры
Событийно-ориентированное
программирование
Использование компонентов
(виджетов)
Использование компонентов
(виджетов)
Создание компонентов
Модель и представление
Выполнение проекта
Выполнение проекта
Выполнение проекта
Выполнение проекта

Параграф пособия (номер, название)
§ 1. Что такое ООП?
§ 2. Модель задачи: классы и объекты
§ 3. Классы и объекты в программе

Кол-во часов
теория практ.
1
0,5
0,5
0,5
0,5

§ 3. Классы и объекты в программе
§ 4. Скрытие внутреннего устройства
§ 5. Иерархия классов
§ 6. Классы-наследники (I)
§ 7. Классы-наследники (II)
§ 5-7.
§ 8. Событийно-ориентированное
программирование
§ 9. Использование компонентов
(виджетов)
§ 9. Использование компонентов
(виджетов)
§ 10. Создание компонентов
§ 11. Модель и представление
§ 1-11.
§ 1-11.
§ 1-20.
§ 1-20.
Итого

1
0,5
0,5
0,5
0,5

0,5
0,5
0,5
0,5
1

0,5

0,5

0,5

0,5

0,5

0,5

0,5
0,5

0,5
0,5
1
1
1
1
11,5

6,5

Планируемые результаты
Программа разделена на четыре уровня, ассоциируемых со «ступенями» повышения
компетенций учащегося.
Первый уровень
В результате изучения курса на первом уровне учащийся
1) научится составлять и отлаживать простые диалоговые программы;
2) узнает особенностей машинных вычислений с целыми и вещественными числами;
3) научится использовать основные алгоритмические
операторы, циклы с условием, циклы по пе-ременной;

конструкции:

условные

Муниципальное автономное общеобразовательное учреждение «Лицей № 7»

4) овладеет методами
средствами;

построения

графических

изображений

программными

5) овладеет простыми методами программирования компьютерной анимации.
Второй уровень
В результате изучения курса на втором уровне учащийся
6) познакомится с методами проектирования программ «сверху вниз» и «снизу
вверх»;
7) научится использовать вспомогательные алгоритмы (процедуры и функции) для
структуризации программ;
8) научится применять рефакторинг для улучшения читаемости программ;
9) научится использовать символьные строки;
10) овладеет основными алгоритмами обработки одномерных и двухмерных массивов;
11) познакомится с понятием сложности алгоритма;
Третий уровень
В результате изучения курса на третьем уровне учащийся
12) научится применять различные алгоритмы сортировки массивов;
13) научится использовать двоичный поиск;
14) научится обрабатывать данные, записанные в текстовые и двоичные файлы, и
сохранять в файлах результаты работы программы;
15) научится использовать структуры для объединения данных;
16) научится применять словари, стеки, очереди, деки для решения задач обработки
данных;
17) научится использовать деревья для организации данных;
18) познакомится с методами описания графов и некоторыми популярными
алгоритмами на графах;
19) научится использовать динамическое
комбинаторных и оптимизационных задач;

программирование

для

решения

20) познакомится с понятием выигрышных и проигрышных по-зиций в играх с полной
информацией;
Четвёртый уровень
В результате изучения курса на четвёртом уровне учащийся
21) познакомится с объектно-ориентированным подходом к разработке программ;
22) научится выполнять объектно-ориентированный анализ за-дачи, выделять свойства
и методы объектов;
23) научится использовать инкапсуляцию для защиты данных объектов;
24) познакомится с понятиями «класс» и «абстрактный класс»;
25) познакомится с понятиями «инкапсуляция», «наследование», «полиморфизм»;
26) научится проектировать несложные иерархии классов для прикладных задач;
27) познакомится с принципами разработки событийно-ориентированных программ;
28) научится создавать программы с графическим интерфейсом на языках Python и C#;

Муниципальное автономное общеобразовательное учреждение «Лицей № 7»

29) научится использовать готовые и создавать новые компоненты (виджеты) для сред
быстрой разработки программ.
Комплекс организационно-педагогических условий.
Для реализации программы «Программирование на языке Python» помещение должно
соответствовать следующим характеристикам.
Учебный класс соответствует требованиям санитарных норм и правил, установленных
СанПиН 2.4.4.3172-14 «Санитарно-эпидемиологические требования к устройству содержанию и
организации режима работы образовательных организаций дополнительного образования
детей», утвержденных Постановлением Главного государственного санитарного врача
Российской Федерации от 4 июля 2014 г. №41.
Класс оборудован учебной мебелью: рабочее место учителя, рабочие места учащихся для
работы с теоретическим материалом и с оборудованием для практических работ, компьютерные
столы для стационарно установленных компьютеров (компьютерный класс), классная доска,
шкаф для хранения электронных компонентов и дополнительного оборудования.
Технические средства обучения включают компьютер преподавателя, акустическую
систему, мультимедийный проектор, мобильный компьютер (ноутбук), индивидуальный, на
каждого обучающегося.
Специализированное программное обеспечение, которое может быть использовано для
реализации данной программы, имеет либо открытые лицензии, либо бесплатные, либо
предоставляется образовательным организациям в рамках различных образовательных
программ. Состав:
 Thonny;
 Visual Studio Code;
 Eclipse;
 Python 3+.
Специальных требований к одежде обучающихся
регламентированных правилами образовательного учреждения.

нет,

за

исключением

Формы аттестации
Текущий контроль - проводится по окончанию изучения темы в виде устного опроса,
практической работы, через просмотры работ, при этом оцениваются усвоение и качество
выполнения изучаемых на занятиях приемов и операций, выявление ошибок и успехов в работе.
Промежуточная аттестация – проводится за каждое полугодие по пройденным темам,
осуществляется при помощи практических заданий и устного опроса по теории. При оценке
результатов также учитывается качество выполненных работ, уровень творческой
деятельности, найденные продуктивные технические и технологические решения, степень
самостоятельности. Мониторинг развития качеств личности учащихся проводится в конце
учебного года по таким качествам личности как активность, организаторские способности;
коммуникативные
навыки,
коллективизм;
ответственность,
самостоятельность,
дисциплинированность;
нравственность,
гуманность;
креативность,
склонность
к
исследовательско-проектировочной деятельности.
Оценивание результатов обучения
Результатом обучения считается способность учащегося написать программу (разработать
проект) определённого уровня сложности. Далее выделяются следующие уровни сложности:
A: начальный уровень, воспроизведение изучаемого материала с незначительными
изменениями;

Муниципальное автономное общеобразовательное учреждение «Лицей № 7»

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

Глава 1. Программирование на языке Python
§ 1. Первые программы
§ 2. Диалоговые программы
A: Напишите программу, которая вводит три целых числа и находит их сумму.
B: Напишите программу, которая вводит три целых числа и находит их сумму и
произведение.
C: Напишите программу, которая вводит три целых числа и находит их сумму,
произведение и среднее арифметическое.
§ 3. Компьютерная графика
А-C: Напишите программу, которая строит следующий рисунок:

A:
)

B:

C:

§ 4. Процедуры
A-C: Напишите программу, которая строит следующий рисунок, используя единственную
процедуру:

A:

B:

C:

§ 5. Обработка целых чисел
A: Напишите программу, которая вводит трёхзначное число и разбивает его на цифры.
B: Напишите программу, которая вводит с клавиатуры количество секунд и выводит то же
самое время в часах, минутах и секундах.
C: Напишите программу, которая вводит с клавиатуры четырёхзначное натуральное число
и переставляет его первую и последнюю цифры, например, из числа 1234 должно
получиться число 4231.
§ 6. Обработка вещественных чисел
A: Напишите программу, которая вычисляет квадратный корень введённого числа.
B: Напишите программу, которая вводит с клавиатуры координаты двух точек на
плоскости и вычисляет длину соединяющего их отрезка.
C: Напишите программу, которая вводит с клавиатуры координаты двух точек в
пространстве и вычисляет длину соединяющего их отрезка.
§ 7. Случайные и псевдослучайные числа

Муниципальное автономное общеобразовательное учреждение «Лицей № 7»

A: В игре «Русское лото» из мешка случайным образом выбираются бочонки, на каждом из
которых написано число от 1 до 90. Напишите программу, которая выводит наугад
первые 5 выигрышных номеров.
B: Напишите программу, которая моделирует бросание двух игральных кубиков: при
запуске выводит случайное число на отрезке [2; 12].
C: Игральный кубик бросается три раза (выпадает три случайных значения). Из этих чисел
составляется целое число, программа должна найти его квадрат.
§ 8. Ветвления
A: Напишите программу, которая вводит три целых числа и находит максимальное из них.
B: Напишите программу, которая вводит пять целых чисел и находит максимальное из них.
C: Напишите программу, которая вводит последовательно возраст Антона, Бориса и
Виктора и определяет, кто из них старше.
§ 9. Сложные условия
A: Напишите программу, которая получает три числа и выводит количество одинаковых
чисел в этой цепочке.
B: Напишите программу, которая получает номер месяца и выводит соответствующее ему
время года или сообщение об ошибке.
C: Напишите программу, которая получает возраст человека (целое число, не
превышающее 120) и выводит этот возраст со словом «год», «года» или «лет».
Например, «21 год», «22 года», «25 лет».
§ 10. Циклы с условием
A: Напишите программу, которая Напишите программу, которая получает два целых числа
A и B (0 < A < B) и выводит квадраты всех натуральных чисел на отрезке [A, B].
B: Напишите программу, которая получает два целых числа и находит их произведение, не
используя операцию умножения. Числа могут быть отрицательными.
C: Напишите программу, которая вводит натуральное число N и вычисляет сумму всех
чисел Фибоначчи, меньших N. Предусмотреть защиту от ввода отрицательного числа N.
§ 11. Анимация
A: Напишите программу, которая моделирует движение объекта, пролетающего через
игровое поле.
B: Напишите программу, которая моделирует движение двух объекта, пролетающих через
игровое поле в разных направлениях.
C: Напишите программу, которая моделирует движение двух объекта, пролетающих через
игровое поле в разных направлениях. Объекты должны отталкиваться от стенок поля.
§ 12. Циклы по переменной
A: Напишите программу, которая находит все пятизначные числа, которые при делении на
133 дают в остатке 125, а при делении на 134 дают в остатке 111.
B: Напишите программу, которая находит все трёхзначные Армстронга (для которых
сумма кубов цифр числа равна самому числу).
C: Напишите программу, которая получает натуральное число N и выводит на экран все
автоморфные числа, не превосходящие N (натуральное число называется автоморфным,
если его десятичная запись совпадает с последними цифрам его квадрата, например, 252
= 625.).
§ 13. Циклы в компьютерной графике
A-C: Напишите программу, которая строит узор:

Муниципальное автономное общеобразовательное учреждение «Лицей № 7»

а)

б)

в)

Второй уровень
Глава 1. Программирование на языке Python
§ 1. Проектирование программ
§ 2. Процедуры
A: Напишите процедуру, которая принимает параметр – натуральное число N – и выводит
на экран квадрат из звёздочек размером NN символов.
B: Напишите процедуру, которая выводит на экран в столбик все цифры переданного ей
числа, начиная с последней.
C: Напишите процедуру, которая выводит на экран запись переданного ей числа в римской
системе счисления.
§ 3. Рекурсия
A: Напишите рекурсивную процедуру, которая переводит число в троичную систему
счисления.
B: Напишите рекурсивную процедуру, которая переводит число в шестнадцатеричную
систему счисления.
C: Напишите рекурсивную процедуру, которая переводит число в негадвоичную систему
счисления (систему с основанием –2).
§ 4. Функции
A: Напишите функцию, которая возвращает старшую цифру переданного ей натурального
числа.
B: Напишите функцию, которая возвращает количество делителей переданного ей
натурального числа.
C: Напишите логическую функцию, которая возвращает результат True, если переданное
ей число – это число Фибоначчи.
§ 5. Символьные строки
A: Напишите программу, которая заменяет в символьной строке все точки на нули и все
буквы «X» на единицы.
B: Напишите программу, которая выполняет инверсию битовой строки: заменяет в ней все
нули на единицы и наоборот.
C: Напишите программу, которая вычисляет сумму неизвестного количества натуральных
чисел, записанную в виде символьной строки, например, «1+25+12+34+89»
§ 6. Массивы (списки)
A: Напишите программу, которая вводит целое число X и заполняет массив
последовательными натуральными числами, начиная с X.
B: Напишите программу, которая вводит целое число X и заполняет массив
последовательными натуральными числами, начиная с X, в обратном порядке.
C: Напишите программу, которая заполняет массив из N элементов первыми N числами
Фибоначчи.
§ 7. Алгоритмы обработки массивов

Муниципальное автономное общеобразовательное учреждение «Лицей № 7»

A: Напишите программу, которая определяет сумму элементов массива с чётными
значениями.
B: Напишите программу, которая в массиве с чётным количеством элементов меняет
местами пары соседних элементов.
C: Напишите программу, которая находит в массиве все числа Фибоначчи и строит из них
новый массив.
§ 8. Поиск в массивах
A: Напишите программу, которая находит в массиве минимальный и максимальный
элементы и их индексы.
B: Напишите программу, которая находит в массиве количество элементов, равных
минимальному, и их индексы.
C: Напишите программу, которая находит в массиве два максимальных элемента и их
индексы.
§ 9. Используем массивы
A: Закончите программу из параграфа.
B: Доработайте программу из параграфа так, чтобы тарелки двигались в другом
направлении.
C: Доработайте программу из параграфа так, чтобы попадание в меньшую по размеру
тарелку приводило к большему увеличению счёта.
§ 10. Матрицы
A: Напишите программу, которая находит максимальный элемент на главной диагонали
квадратной матрицы.
B: Напишите программу, которая находит максимальный элемент матрицы и его индексы
(номера строки и столбца).
C: Напишите программу, которая выполняет транспонирование матрицы.
§ 11. Сложность алгоритмов
Контроль не предусмотрен.
Третий уровень
Глава 1. Программирование на языке Python
§ 1. Простые алгоритмы сортировки
A: Напишите программу, которая выполняет сортировку массива методом «пузырька».
B: Напишите программу, которая выполняет сортировку массива методом «пузырька» в
обратном порядке (сверху вниз).
C: Напишите программу, которая выполняет сортировку двух половин массива (отдельно)
методом выбора.
§ 2. Быстрые алгоритмы сортировки
A: Напишите программу, которая выполняет сортировку массива по убыванию методом
слияния.
B: Напишите программу, которая выполняет быструю сортировку массива символьных
строк по убыванию длины.
C: Напишите программу, которая сравнивает количество операций при сортировке массива
методами «пузырька» и слияния.
§ 3. Двоичный поиск
A: Напишите программу, которая находит в отсортированном массиве индексы всех
элементов, равных заданному значению X.

Муниципальное автономное общеобразовательное учреждение «Лицей № 7»

B: Напишите программу, которая сравнивает количество проверок при линейном и
двоичном поиске в отсортированном массиве.
C: Напишите программу, которая определяет среднее количество проверок при двоичном
поиске в отсортированном массиве. Используя результаты работы этой программы,
построийте зависимости количества проверок от размера массива.
§ 4. Обработка файлов
A: Напишите программу, которая вычисляет сумму чисел, записанных в файле в столбик.
B: Напишите программу, которая сортирует числа, записанные в файле в столбик.
C: Напишите программу, которая сортирует набор чисел, записанных в двух файлах в
столбик. Отсортированные числа должны быть записаны в новый файл.
§ 5. Целочисленные алгоритмы
A: Напишите программу, которая вводит натуральное число N и находит все простые числа
на отрезке [2; N]. Используйте алгоритм «решето Эратосфена».
B: Напишите программу, которая вводит натуральные числа M и N и находит все простые
числа на отрезке [M; N]. Используйте алгоритм «решето Эратосфена».
C: Напишите программу, которая определяет количество операций, которые выполняются
при решении задачи A. Используя результаты работы этой программы, постройте
зависимость количества операций (или времени работы программы) от N.
§ 6. Словари
A: Напишите программу, которая строит алфавитно-частотный словарь для заданного
файла, в котором каждое слово записано в отдельной строке.
B: Напишите программу, которая строит алфавитно-частотный словарь для заданного
файла с произвольным текстом.
C: Напишите программу, которая сравнивает тексты разных авторов на основе частоты
использования предлогов и союзов.
§ 7. Структуры
A: Напишите программу управления базой данных. Она должна поддерживать добавление,
удаление и просмотр записей.
B: Напишите программу управления базой данных. Она должна поддерживать добавление,
удаление, просмотр и поиск записей по ключу.
C: Напишите программу управления базой данных. Она должна поддерживать добавление,
удаление, просмотр, поиск записей по ключу и сортировку по ключу.
§ 8. Стек, очередь, дек
A: Напишите программу, которая проверяет правильность скобочного выражения с тремя
типами скобок.
B: Напишите программу, которая вычисляет значение арифметического выражения,
записанного в префиксной форме.
C: Напишите программу, которая применяет алгоритм заливки области для поиска пути в
лабиринте.
§ 9. Деревья
A: Напишите программу, которая вычисляет введённое арифметическое выражение без
скобок.
B: Напишите программу, которая вычисляет введённое арифметическое выражение со
скобками.
C: Напишите программу, которая вычисляет введённое арифметическое выражение со
скобками и функциями (sin, cos, sqrt, abs).
§ 10. Графы

Муниципальное автономное общеобразовательное учреждение «Лицей № 7»

A: Напишите программу, которая строит минимальное остовное дерево для
неориентированного графа.
B: Напишите программу, которая определяет кратчайший маршрут из одной вершины
графа в другую с помощью алгоритма Дейкстры.
C: Напишите программу, которая определяет кратчайшие маршрут между каждой парой
вершин графа с помощью алгоритма Флойда-Уоршелла.
§ 11. Динамическое программирование
A: Напишите программу, которая вычисляет количество битовых цепочек длины N, в
которых нет двух единиц подряд.
B: Напишите программу, которая вычисляет количество битовых цепочек длины N, в
которых нет трёх единиц подряд.
C: Напишите программу, которая решает задачу о ранце.
§ 12. Игровые модели
A: Напишите программу, которая играет с человеком в игру Баше.
B: Напишите программу, которая определяет тип позиции (выигрышная или проигрышная)
в игре «крестики-нолики» на доске 33.
Напишите программу, которая играет с человеком в «крестики-нолики».
Четвёртый уровень
Глава 1. Программирование на языке Python
§ 1. Что такое ООП?
§ 2. Модель задачи: классы и объекты
A: Перечислите свойства и методы, которыми могли бы обладать объекты класса Яхта.
B: Постройте объектно-ориентированную модель для задачи моделирования дорожного
движения. Рассмотрите классы объектов Дорога, Светофор, Машина и их взаимосвязь.
C: Постройте объектно-ориентированную модель для придуманной вами задачи
моделирования.
§ 3. Классы и объекты в программе
A: Закончите программу, рассмотренную в параграфе.
B: Добавьте в программу из параграфа класс Торпедный аппарат.
C: Добавьте в программу из параграфа классы Торпедный аппарат и Торпеда.
§ 4. Скрытие внутреннего устройства
A: Постройте программную реализацию класса Перо. Все данные должны быть скрыты.
B: Постройте программную реализацию класса Машина. Все данные должны быть скрыты.
C: Измените программу игры «Торпедная атака» так, чтобы все поля у объектов были
закрытыми.
§ 5. Иерархия классов
A: В программе нужно моделировать следующие классы: Озеро, Пресное озеро, Солёное
озеро, Река, Море, Водоём, Океан. Постройте иерархию классов для этой задачи.
B: В программе нужно моделировать следующие классы: Дерево, Осина, Берёза, Озеро,
Река, Заяц, Волк, Медведь. Постройте иерархию классов для этой задачи.
C: В программе нужно моделировать следующие классы: Корабль, Подводная лодка,
Самолет, Вертолет, Гидросамолет, Мотоцикл, Трактор. Постройте иерархию классов
для этой задачи.
§ 6. Классы-наследники (I)
A: Закончите программу из параграфа.

Муниципальное автономное общеобразовательное учреждение «Лицей № 7»

B: Добавьте в программу из задания А ещё один класс неподвижных объектов, которые
изображаются квадратом или ромбом.
C: Добавьте в программу из задания А ещё один класс неподвижных объектов, которые при
анимации изменяются случайным образом.
§ 7. Классы-наследники (II)
A: Закончите программу из текста параграфа.
B: Измените программу так, чтобы космический корабль, который попал в чёрную дыру
или в пульсар, уничтожался. Вместо него должен появляться новый корабль в случайном
месте.
C: Добавьте в игру объекты класса TDestroyer – специальные боевые космические корабли,
которые охотятся за кораблями и странниками и уничтожают их при встрече.
§ 8. Событийно-ориентированное программирование
A: Постройте программу, которая запрашивает разрешение на завершение работы.
B: Измените цвет формы в программе из задания А.
C: Доработайте программу из задания А так, чтобы при щелчке мышью по форме
изменялся цвет формы.
§ 9. Использование компонентов (виджетов)
A: Закончите программу для работы с RGB-кодами цвета.
B: Напишите программу для перевода чисел из восьмеричной системы счисления в
десятичную.
C: Напишите программу для перевода чисел из десятичной системы счисления в римскую
и обратно.
§ 10. Создание компонентов
A: Постройте компонент для ввода целых чисел.
B: Постройте компонент для ввода целых чисел в шестнадцатеричной системе счисления.
C: Постройте компонент для ввода чисел в римской системе счисления.
§ 11. Модель и представление
A: Закончите программу из параграфа.
B: Постройте программу «Калькулятор» для выполнения вычислений с целыми числами.
C: Постройте программу «Калькулятор» для выполнения вычислений с целыми числами в
римской системе счисления.


Наверх
На сайте используются файлы cookie. Продолжая использование сайта, вы соглашаетесь на обработку своих персональных данных. Подробности об обработке ваших данных — в политике конфиденциальности.

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