Курс направлен на получение базовых знаний о работе с Python 3. Для прохождения курса потребуется установить последнюю версию Python 3 (проще всего использовать дистрибутив Anaconda) и среду разработки PyCharm.
- Курс предполагает изучение следующих тем:
- Историческая справка о языке. Сравнение Python и C++.
- Типы данных, арифметические и булевы операции. Циклы и условия.
- Изменяемые и неизменяемые типы данных. Контейнеры. Генераторы списков, кортежей и словарей.
- Стандартные функции: zip, sort, map, filter.
- Модули и пространства имен.
- Коллекции (collections). Работа с файлами и директориями.
- Обработка исключений, assert.
- Стандарт pep8. Работа в Jupyter Notebook
- Библиотеки для работы с данными: math, numpy, scipy, random, pandas.
- Библиотеки для работы со временем: datetime, time.
- Библиотеки для визуализации данных: matplotlib, seaborn.
- Форматы данных: csv, xml, json.
- Объектно-ориентированное программирование на Python: классы, наследование, переопределение стандартных операторов.
- Работа с API приложений с помощью Python.
- Регулярные выражения в Python.
- Базы данных: dbm, sqlite3
Курс будет состоять из контестов (не менее 6 и не более 10) и двух задач для ревью. За каждый контест можно получить от 0 до 10 баллов, за ревью баллы начисляются только при выполнении дополнительных заданий.
Контест длится 2 недели, после чего закрывается и досдать задания из него уже нельзя. На посылку первого решения задачи для ревью дается 2 недели, на каждую следующую итерацию - 1 неделя с момента ответа семинариста. Если дедлайн пропущен, то задача считается не сданной.
Под первым решением задачи понимается код, выполняющий всю требуемую в задаче (на базовом уровне) функциональность. При последующих попытках сдачи можно добавлять функциональность, позволяющую получить дополнительные баллы.
Итоговые баллы вычисляются по формуле:
0.9*средняя_оценка_за_контесты + доп_баллы
причем количество дополнительных баллов не может превышать 4
Итоговая оценка считается в зависимости от количества сданных на ревью задач:
0 задач: неуд. 2
1 задача: оценка = итоговые баллы - 1 балл по 5-ой шкале (например, если итоговые баллы равны 8, то оценка будет хор. 7; если 6 - уд. 4; 4 - неуд. 2)
2 задачи: MIN(10, итоговые баллы)
Все задачи на ревью нужно заливать на GitHub в закрытый репозиторий. Для этого, регистрируемся здесь с почтой на phystech.edu (или любой другой, но добавляем Физтеховскую как дополнительную) и идем сюда. Жмем на Get your pack и заполняем все, что там нужно. Не смотрите, что там пишут про 5 дней, все будет доступно автоматически.
Если у вас вдруг по какой-то причине нет почты на phystech.edu, то можно отправить студенческий или написать мне ([email protected]), и мы что-нибудь придумаем.
Чтобы у меня был доступ к вашим заданиям, не забудьте добавить меня (ksuab) в список Collaborators: Репозиторий->Settings->Collaborators
Anaconda: скачиваем здесь, если у вас macOS или Windows. Про Linux можно посмореть тут.
Устанавливайте версию 3.7, а если вы считаете себя продвинутым прогером, то можете сразу почитать про environments, настроить их и начать пользоваться.
PyCharm: скачиваем здесь. Для курса достаточно установить Community edition.