Программирование для всех (основы Python)
Дорогие студенты!
Это страница обязательного курса «Программирование для всех (основы Python)», читаемого на программе «Прикладная политология» 1 курса магистратуры в 1 модуле 2023-2024 учебного года.
Преподаватель: Тамбовцева Алла Андреевна.
Содержание
- 1 Правила игры и план курса
- 2 Программное обеспечение
- 3 Материалы и лабораторные работы
- 3.1 Неделя 0. Подготовка к работе. Настройка рабочего места.
- 3.2 Неделя 1. Введение в Python. Переменные и типы данных. Ввод и вывод.
- 3.3 Лабораторная работа 1. Логические выражения и условные конструкции.
- 3.4 Неделя 2. Отладка кода. Списки и цикл for. Методы .split() и .join()
- 3.5 Лабораторная работа 2. Методы на строках и методы на списках.
- 3.6 Неделя 3. Аналоги цикла for. Кортежи и словари.
- 3.7 Лабораторная работа 3. Цикл while.
- 3.8 Неделя 4. Словари и датафреймы pandas. Формат JSON и знакомство с API
- 3.9 Лабораторная работа 4. Работа с текстовыми файлами.
- 3.10 Неделя 5. Работа с данными с датафреймом pandas.
- 3.11 Лабораторная работа 5. Работа с функциями.
- 3.12 Неделя 6. Введение в парсинг с библиотекой BeautifulSoup
- 4 Домашние задания
Правила игры и план курса
- Программа курса, организационная презентация.
- Формула оценки: 0.3 * Домашние задания + 0.2 * Лабораторные работы + 0.2 * Тест + 0.3 * Экзамен.
- Дедлайны у лабораторных работ жёсткие и не переносятся.
- Домашние задания, сданные позже дедлайна, оцениваются со штрафом: в пределах часа – 10% от оценки, суток – 30%, недели – 60%.
- Сопровождающий онлайн-курс «Python как иностранный».
Программное обеспечение
Перед занятиями необходимо установить дистрибутив Anaconda (скачать можно здесь), который включает в себя интерпретатор языка Python, библиотеки для обработки, анализа и визуализации данных, а также среду для работы Jupyter Notebook. Также есть возможность работать в Jupyter Notebook онлайн, используя ресурс Google Colab (для создания и редактирования файлов нужен аккаунт Gmail).
Подробности по установке и работе – см. ниже в неделе 0.
Материалы и лабораторные работы
Неделя 0. Подготовка к работе. Настройка рабочего места.
Для подготовки к работе на курсе необходимо ознакомиться со следующими материалами онлайн-курса:
- Видео. Подготовка рабочего места, инструкция по открытию файлов в Jupyter Notebook.
- Видео. Первая программа, задачи для тренировки.
А также с материалами по работе в Jupyter Notebook и Google Colab:
- Запуск Jupyter без Anaconda Navigator (инструкция).
- Работа в Jupyter Notebook (видео), работа в Google Colab (видео).
Дополнительно:
- Набор текста в Jupyter (видео, ipynb).
- Markdown: больше про Markdown, знакомство с Jupyter Notebook и Markdown (читать, ipynb).
- LaTeX: Overleaf, документация, материалы других курсов по LaTeX.
Неделя 1. Введение в Python. Переменные и типы данных. Ввод и вывод.
- Видеозаписи занятий и ipynb-файлы.
- Вычисления в Python (читать, ipynb). Переменные и типы данных (читать, ipynb).
- Ввод и вывод, форматирование строк (читать, ipynb).
- Практикум 1 (читать, ipynb), решения (читать, ipynb).
Дополнительно:
- Pythontutor: визуализатор кода, вычисления, ввод и вывод.
- Интерактивные виджеты в Jupyter (альтернатива стандартному вводу и не только).
- Стандарты оформления кода Python: PEP8.
- Вычисления с заданной точностью с модулем decimal, официальная документация decimal.
- Вычисления с обыкновенными дробями с модулем fractions, официальная документация fractions.
- Символьные вычисления с sympy: часть 1 (sympy-1.ipynb), часть 2 (sympy-2.ipynb), официальная документация sympy.
Лабораторная работа 1. Логические выражения и условные конструкции.
Для выполнения лабораторной работы необходимо самостоятельно познакомиться с конструкцией if-elif-else
и формулировкой логических выражений.
Для этого (на выбор) можно:
- Прослушать материал темы 2 Условия и логические выражения онлайн-курса «Python как иностранный».
- Прочитать конспект лекции Логические выражения и условные конструкции.
- Изучить материалы онлайн-учебника Pythontutor.
Лабораторная работа | Задания | Дедлайн | Куда сдавать |
---|---|---|---|
Лабораторная работа 1 | ipynb | 19 сентября 18:00 | ссылка на Dropbox |
Неделя 2. Отладка кода. Списки и цикл for. Методы .split() и .join()
- Видеозаписи занятий и ipynb-файлы.
- Отладка кода: виды ошибок и ловля исключений с try-except (читать, ipynb).
- Списки, цикл for и функция range() (читать, ipynb).
- Методы .split() и .join() (читать, ipynb).
- Практикум 2 (читать, ipynb), решения (читать, ipynb).
Дополнительно:
- Официальная документация по ошибкам и исключениям, перечень исключений.
- Pythontutor: визуализатор кода.
- Pythontutor: цикл for, списки, строки.
Лабораторная работа 2. Методы на строках и методы на списках.
Для выполнения лабораторной работы необходимо самостоятельно познакомиться с основными методами
на строках и списках.
Для этого (на выбор) можно:
- Прослушать материал темы 5 Методы онлайн-курса «Python как иностранный».
- Прочитать конспект лекции Методы на строках, конспект лекции Методы на списках.
- Изучить материалы онлайн-учебника Pythontutor: цикл for, строки, списки, split(), join().
Лабораторная работа | Задания | Дедлайн | Куда сдавать |
---|---|---|---|
Лабораторная работа 2 | ipynb | 26 сентября 18:00 | ссылка на Dropbox |
Неделя 3. Аналоги цикла for. Кортежи и словари.
- Видеозаписи занятий и ipynb-файлы.
- Аналоги цикла for: списковые включения, функция map(), числовые массивы (читать, ipynb).
- Кортежи, функция zip() и словари (читать, ipynb).
- Практикум 3 (читать, ipynb), решения (читать, ipynb).
Дополнительно:
- Pythontutor: генераторы списков, словари.
- Множества в Python: конспект, урок на Pythontutor.
Лабораторная работа 3. Цикл while.
Для выполнения лабораторной работы необходимо самостоятельно познакомиться с циклом while
и конструкцией цикл for + оператор break (последняя – по желанию).
Для этого (на выбор) можно:
- Прослушать материал темы 3 Цикл while онлайн-курса «Python как иностранный».
- Прочитать конспект краткой лекции Цикл while и его альтернативы.
- Изучить материалы онлайн-учебника Pythontutor: цикл while.
Лабораторная работа | Задания | Дедлайн | Куда сдавать |
---|---|---|---|
Лабораторная работа 3 | ipynb | 03 октября 18:00 | ссылка на Dropbox |
Неделя 4. Словари и датафреймы pandas. Формат JSON и знакомство с API
- Видеозаписи занятий и ipynb-файлы.
- Разнообразие словарей (читать, ipynb).
- Практикум 4, часть 1. Работа с JSON (читать, ipynb), файл last_votes.json.
- Практикум 4, часть 2. Работа с API ВКонтакте (читать, ipynb).
Лабораторная работа 4. Работа с текстовыми файлами.
Для выполнения лабораторной работы необходимо самостоятельно познакомиться с обработкой txt-файлов. Для этого (на выбор) можно:
- Прослушать материал темы 9 Текстовые файлы и таблицы (первые два раздела) онлайн-курса «Python как иностранный».
- Прочитать конспект лекции Чтение и запись txt-файлов.
Лабораторная работа | Задания | Дедлайн | Куда сдавать |
---|---|---|---|
Лабораторная работа 4 | ipynb, файл incantations.txt | 10 октября 18:00 | ссылка на Dropbox |
Неделя 5. Работа с данными с датафреймом pandas.
- Видеозаписи и ipynb-файлы.
- Базовые операции с датафреймами pandas (расширенная версия с функциями, читать, ipynb, файл Salaries.csv).
- Обработка опросных данных с pandas (пока сырой файл с кодом ipynb, файл NPK_final.xlsx).
Дополнительно:
- Массивы и датафреймы pandas: введение (читать, ipynb).
- Pandas, scipy и проверка статистических гипотез (читать, ipynb, файл NPK.xlsx).
Лабораторная работа 5. Работа с функциями.
Для выполнения лабораторной работы необходимо самостоятельно познакомиться с написанием функций в Python. Для этого (на выбор) можно:
- Прослушать материал темы 8 Функции (достаточно первого раздела) онлайн-курса «Python как иностранный».
- Прочитать конспект лекции Функции (для желающих – более подробная лекция И.В.Щурова).
Лабораторная работа | Задания | Дедлайн | Куда сдавать |
---|---|---|---|
Лабораторная работа 5 | ipynb | 17 октября 18:00 | ссылка на Dropbox |
Неделя 6. Введение в парсинг с библиотекой BeautifulSoup
- Видеозаписи и ipynb-файлы.
- Знакомство с HTML: слайды, пример кода HTML: файл.
- Практикум 6. Практикум по парсингу с BeautifulSoup (читать, ipynb), решения (читать, ipynb).
Домашние задания
Домашнее задание | Задания | Дедлайн | Куда сдавать |
---|---|---|---|
Домашнее задание 1 | ipynb | 24.09 23:59 | ссылка на Dropbox |
Домашнее задание 2 | ipynb | 02.10 23:59 | ссылка на Dropbox |
Домашнее задание 3 | ipynb | 12.10 23:59 | ссылка на Dropbox |
Домашнее задание 4 | ipynb polit.csv | 21.10 23:59 | ссылка на Dropbox |
Домашнее задание 5* | ipynb | 29.10 23:59 | ссылка на Dropbox |
Домашнее задание №5 – бонусное, необязательное для выполнения.
Оценку за него можно зачесть вместо пропущенного ДЗ/лабораторной работы или заданий,
за которые была получена низкая оценка.