Спецкурс
Матрица
Основная информация
  Пункт Содержание
1 Направление Третий Путь
2 Класс 8-11
3 Тип курса зачётный для всех классов
4 Преподаватели Афшар Али-Фарин, Белова Ольга, Виноградов Владимир
5 Стажёры -
6 Время проведения Понедельник (2 пары) 17:20- 20:15
7 Цель курса Рассказать школьникам, что такое программирование, и научить их пользоваться питоном.
8 Задачи курса 1) Научить синтаксису языка Python
2) Научить писать алгоритмы для решения задач
3) Научить школьников использовать некоторые библиотеки
4) Научить самостоятельно искать нужную информацию в интернете 
9 Особенности курса Курс нацелен не только на запоминание теории и языка программирования, но также и на применение знаний в решении задач и даже написании проектов.
10 Формат проведения занятия (включая использование classroom) Занятие начинается с теор.опроса. На первой паре разбирается новый теоретический материал; на второй проводится семинар.Также для более глубокого погружения в программирование в первом семестре будут даваться "мини-проекты" раз в две-три недели; во втором семестре будет дан итоговый большой проект, в котором ученики должны будут использовать библиотеки. 
11 Целевая аудитория Курс предназначен для школьников, которые хотели бы узнать, что такое программирование, или углубить свои знания в этой сфере.
12 Краткое описание курса Курс о "прикладном" программировании; будет разбираться не только теория, но и применение этой теории для оптимального решения задач и даже написания полноценных программ! 
13 Количество слушателей от 20 до 30 человек
14 Отбор Без отбора. На первом занятии будет проводиться тест для определения уровня знаний, а также для разделения на две группы по уровню знаний.
15 Формы контроля и
система отчётности
Приблизительное распределение баллов в каждом семестре:                                           
• Выполнение домашних заданий – 20%
• Мини-проекты – 20%
• Работа на семинарах – 20%
• Опросы по теории – 10%
• Экзамен в конце семестра – 30%
16 Формат курса: онлайн/оффлайн/гибрид. В случае онлайн, какие платформы используются? Очно; при необходимости - переход в Discord
20 Дополнительная информация о курсе Желательно, чтоб все школьники имели на занятиях ноутбук/планшет. 
Позанятийный план
№ занятия Дата (Понедельник) Тематический блок План занятия
1 03.10.2022 Введение - 1  Вступительный тест для определения уровня знаний. Скачивания среды разработки. Структура программы в Python.
2 10.10.2022 Введение - 2 Комментарии. Блок. Правила оформления отступов. Инструкция присваивания. Групповое присваивание. Комбинированные инструкции присваивания. Типы данных и математические операции над ними. Базовые функции. Условный оператор if.
3 17.10.2022 Циклы Циклы в Python, работа и устройство циклов for и while, типичное применение range и enumerate в цикле for. Вложенные циклы. Выход из цикла -  break и continue. Исключения. Инструкция try…except…
4 24.10.2022 Строки и регулярные выражения Строки. Операции над строками. Основные методы строк. Операции с регулярными выражениями, модуль re. Основные шаблоны и квантификаторы. Основные методы операций с регулярными выражениями в модуле re.
5 31.10.2022 Списки Списки в Python. Обращение к элементам списка и создание срезов. Обход списка и поиск элементов в списке. Ключевые операции, проводящие к изменению списка и порождающие измененные списки, копирование списков.
6 07.11.2022 Массивы Массивы. Операции над массивами. Основные методы массивов. Двумерные массивы.
7 14.11.2022 Массивы Массивы. Выражения генераторы и генераторы списков в Python. Использование условий в генераторах.
8 21.11.2022 Алгоритмы сортировки Алгоритм обменной сортировки. Алгоритм сортировки выбором. Алгоритм сортировки вставкам. Алгоритм быстрой сортировки. Алгоритм сортировки слиянием.
9 28.11.2022 Множества, кортежи и словари Множества в Python. Основные способы создания, получения и изменения значений. Обход множеств. Выполнение основных операций с парой множеств в Python. Кортежи в Python. Отличия кортежей от списков. Словари в Python. Итерирование по словарям, преобразование между словарями и списками в Python. Операции с представлениями словарей.
10 05.12.2022 Функции Объявление и вызов функции в Python. Параметры функции со значением по умолчанию и комментирование функции. Получение информации о функции. Способы передачи параметров при вызове функции. Лямбда-функции. Функции-генераторы. Вложенные функции. Концепция map/filter/reduce. Рекурсия.
11 12.12.2022 Стек и очередь Абстрактная структура данных стек и очередь: базовые и расширенные операции, их сложность. 
12 19.12.2022   Консультация перед контрольной работой
13 26.12.2022   Контрольная работа
  02.01.2023    
  09.01.2023    
  16.01.2023    
  23.01.2023    
14 30.01.2023 Работа с файлами Работа с файлами формата csv и txt: функции обработки CSV- и TXT- файлов. 
15 06.02.2023 Классы Концепция класса и объекта. Принципы и механизмы ООП. Объявление класса, конструктор, создание объектов и одиночное наследование в Python. 
16 13.02.2023 Классы Управление доступом к атрибутам класса в Python. Методы классов и статические переменные и методы в Python. Специальные методы для использования пользовательских классов со стандартными операторами и функциями.
17 20.02.2023 Модули и библиотеки Синтаксис подключения библиотек. Библиотека numpy. Базовые операции над массивами. Библиотека pandas. Библиотека random.
  27.02.2023    
18 06.03.2023 Модули и библиотеки Модули для работы с датой и временем: time, datetime, calendar.  Библиотека Matplotlib. Иерархия объектов в Matplotlib. Модуль pyplot. Построение графиков: точечных, линейных, гистограмм. Основные элементы графика. 
19 13.03.2023 Модули и библиотеки Модули для работы с датой и временем: time, datetime, calendar.  Библиотека Matplotlib. Иерархия объектов в Matplotlib. Модуль pyplot. Построение графиков: точечных, линейных, гистограмм. Основные элементы графика. 
20 20.03.2023 Модули и библиотеки Библиотека Tkinter. Создание графического калькулятора.
21 27.03.2023 Проект Консультация по проектам
22 03.04.2023 Проект Сдача проектов
23 10.04.2023   Консультация перед контрольной работой
24 17.04.2023   Итоговая контрольная работа
Список литературы
1 М. Саммерфилд "Программирование на Python 3"
2 Зед А. Шоу "Легкий способ выучить Python"
3 pythontutor.ru    
4 https://www.python.org/doc/  
5 https://pythonworld.ru/samouchitel-python