Спецкурс
Парселтанг
Основная информация
  Пункт Содержание
1 Направление Третий Путь
2 Класс 8-11
3 Тип курса зачётный для всех классов
4 Преподаватели Петрин Андрей, Корж Любовь
5 Стажёры нет
6 Время проведения Среда 18:55 - 20:15
7 Цель курса Дать школьникам инструмент для практической работы с данными.
8 Задачи курса 1. Познакомить школьников с основами современного прикладного программирования на языке Python.
2. На практике показать широту возможностей, открывающихся перед специалистами, имеющими минимальные знания программирования.
3. Дать первый опыт в работе с API крупных сервисов, регуляризаций и автоматизацией.
9 Особенности курса Мы не планируем учить программистов: если вы хотите связать свою жизнь с разработкой, то этот курс будет недостаточно теоретизирован, мы пройдемся "по верхам" большинства концепций и будем избегать наиболее продвинутых, но редко пригождающихся на практике тем. Вместо этого курс будет изобиловать примерами из реальной жизни, проектной работой, практическими заданиями.
10 Формат проведения занятия Краткая лекция около 10-30 минут в зависимости от темы, остальное время семинарская часть.
Работа студента происходит в Jupyter ноутбуках, развернутых на мощностях ЭМШ: наличие "мощного" ноутбука в классе ничего не даст, но мы рекомендуем работать на собственном компьютере из удобства работы в привычной среде.
На занятиях после сдачи ДЗ тратим около 15 минут на обсуждение интересных моментов и сложностей.
11 Целевая аудитория Школьники, желающие освоить базовые приемы работы с данными, познакомиться с основами одного из самых популярных в мире языков программирования, углубить свою компьютерную грамотность.
12 Краткое описание курса Курс программирования "как иностранного языка",  дающий широкий обзор методов работы с данными для будущих экономистов и других специальностей.
13 Количество слушателей от 10 до 20 человек
14 Отбор Не планируется.
В случае повышенного ажиотажа на первом занятии будут собраны краткие мотивирующие письма, на основе которых будет произведен отбор.
15 Формы контроля и
система отчётности
"Первичная" оценка за каждый семестр состоит из 100 баллов: 60 баллов за 6 домашних заданий за семестр (по 10 баллов за каждый), и 40 баллов за финальный проект.

Финальный проект проверяет умение работать с менее четко поставленной задачей, чем домашние задания. Проект разрешается делать в командах до 3 человек. Проект первого семестра будет опубликован не позднее 15 октября. Проект второго полугодия будет обсуждаться на занятии 12.02 (первая постановка) и 11.03 (промежуточный результат), и защищаться на занятии 08.04. Предлагаемые темы проектов будут опубликованы не позднее 15 февраля. Студенты курса могут предложить собственную тему проекта, согласовав её с обоими преподавателями курса.

Итоговая оценка по пятибальной шкале складывается из рейтинга курса (баллам) согласно критериям:
Требования к оценке "2" (не удовлетворительно):
* Студент не показал умения решить четко описанную по шагам задачу в срок
* Ничего из требований на "3"

Требования к оценке "3" (удовлетворительно):
* Студент способен решить четко описанную по шагам задачу в срок
* Студент владеет базовыми знаниями и умениями программирования
* Студент знаком с описанными в рамках курса методами решения задач, способен их повторить и незначительно модифицировать самостоятельно без прочей помощи.
* В рамках работы над задачей возникают попытки применить нестандартные методы решения

Требования к оценке "4" (хорошо):
* Всё что на "3"
* Студент хорошо владеет функционалом, описанном на курсе
* Студент успешно придумывает собственные методы решения, не только явно описанные в курсе
* Студент обладает базовым навыком декомпозирования задачи на составляющие, применяет его в работе

Требования к оценке "5" (отлично):
* Всё что на "4"
* Студент отлично усвоил все описанные на курсе темы, способен использовать их на практике
* Студент способен самостоятельно решить задачу, придумать архитектуру решения задачи "с нуля"
16 Пользуется ли курс системой googleclassroom? Да 
20 Дополнительная информация о курсе Для выполнения домашних заданий необходим компьютер дома.
Позанятийный план
№ занятия Дата (Среда) Тематический блок План занятия
1 02.10.2019 Программирование Вступление, описание курса. Jupyter ноутбуки. Переменные. Калькулятор.
2 09.10.2019 Программирование Списки, кортежи. Изменяемые и неизменяемые объекты. Индексы и срезы. Условный оператор IF.
3 16.10.2019 Программирование Циклы while, for.
4 23.10.2019 Программирование Создание функций и их использование на Python.
5 30.10.2019 Программирование Словари, множества. Counter, defaultdict.
6 06.11.2019 Программирование Практический семинар по пройденным темам.
7 13.11.2019 Программирование Работа с файлами. Кодировки. Файловая система Windows, Linux, Mac.
8 20.11.2019 Numpy Логические операции, работа с векторами.
9 27.11.2019 Pandas Dataframe, series. Добавление, изменение данных по строкам, по колонкам.
10 04.12.2019 Pandas Select, pivot, multiindex. Объединение нескольких датафреймов, merge, concat, join. Простейшие графики.
11 11.12.2019 Проект Защита проекта.
12 18.12.2019 Чаепитие Чаепитие :-)
  25.12.2019    
  01.01.2020    
  08.01.2020    
  15.01.2020    
  22.01.2020    
13 29.01.2020 Статистика Основы статистики: описательные статистики, понятие случайной величины, моменты, понятие распределения, понятие плотности. 
14 05.02.2020 Excel ВПР, Индекс, ПоискПоз, сводные таблицы.
15 12.02.2020 Web scraping Веб-скрейпинг. Сбор данных из Интернета с последующей обработкой.
16 19.02.2020 API Работа с API. HTTP протокол, заголовки, тело запроса. Авторизация. VK.com, геокодер Яндекс.
17 26.02.2020 Таблицы из Python Работа с excel из Python, скачивание и загрузка данных google docs.
18 04.03.2020 Визуализация Основы визуализации, различные виды диаграмм.
19 11.03.2020 Регуляризация Отправка имейлов. Регуляризация.
20 18.03.2020 Виртуальная машина Создание виртуальной машины. Создание Telegram | Facebook бота.
21 25.03.2020 Machine learning Intro to ML: tensorflow. Распознование рукописного текста.
22 01.04.2020 SQL Язык запросов SQL.
23 08.04.2020 Проект Защита проекта 1.
24 15.04.2020 Проект, чаепитие Защита проекта 2; чаепитие! :-)
  22.04.2020    
  29.04.2020    
  06.05.2020    
  13.05.2020    
  20.05.2020    
  27.05.2020    
  03.06.2020    
  10.06.2020    
  17.06.2020    
  24.06.2020    
Список литературы
1 Марк Лутц "Изучаем Python"  
2 adventofcode.com  
3 leetcode.com    
4 math-hse.info