Программирование для всех (основы работы с Python): различия между версиями
(не показана 1 промежуточная версия этого же участника) | |||
Строка 18: | Строка 18: | ||
== Материалы == | == Материалы == | ||
− | === 9 сентября | + | === 9 сентября === |
'''Тема 1. Введение в Python и Jupyter Notebook''' | '''Тема 1. Введение в Python и Jupyter Notebook''' | ||
Строка 34: | Строка 34: | ||
* LaTeX: [https://ru.sharelatex.com/ ShareLaTeX] для желающих, [https://www.overleaf.com/learn документация] на английском, [https://github.com/allatambov/Latex материалы] других курсов по LaTeX. | * LaTeX: [https://ru.sharelatex.com/ ShareLaTeX] для желающих, [https://www.overleaf.com/learn документация] на английском, [https://github.com/allatambov/Latex материалы] других курсов по LaTeX. | ||
− | === 16 сентября | + | === 16 сентября === |
'''Тема 2. Типы данных в Python. Ввод и вывод.''' | '''Тема 2. Типы данных в Python. Ввод и вывод.''' | ||
Строка 56: | Строка 56: | ||
* Генераторы списков и enumerate() ([https://nbviewer.jupyter.org/github/allatambov/allatambov.github.io/blob/master/icef/seminars/more-lists.ipynb конспект], [https://allatambov.github.io/icef/seminars/more-lists.ipynb more-lists.ipynb]). | * Генераторы списков и enumerate() ([https://nbviewer.jupyter.org/github/allatambov/allatambov.github.io/blob/master/icef/seminars/more-lists.ipynb конспект], [https://allatambov.github.io/icef/seminars/more-lists.ipynb more-lists.ipynb]). | ||
− | === 23 сентября | + | === 23 сентября === |
'''Тема 4. Проверка условий и условные конструкции. Цикл while.''' | '''Тема 4. Проверка условий и условные конструкции. Цикл while.''' | ||
Строка 76: | Строка 76: | ||
* Примеры задач на словари с решениями ([https://nbviewer.jupyter.org/github/allatambov/allatambov.github.io/blob/master/pydj/seminars/seminar5-solutions.ipynb конспект], [https://allatambov.github.io/pydj/seminars/seminar5-solutions.ipynb файл]). | * Примеры задач на словари с решениями ([https://nbviewer.jupyter.org/github/allatambov/allatambov.github.io/blob/master/pydj/seminars/seminar5-solutions.ipynb конспект], [https://allatambov.github.io/pydj/seminars/seminar5-solutions.ipynb файл]). | ||
− | === 30 сентября | + | === 30 сентября === |
'''Тема 6. Функции в Python.''' | '''Тема 6. Функции в Python.''' | ||
Строка 95: | Строка 95: | ||
* Файл [https://allatambov.github.io/pydj/seminars/firtree.csv firtree.csv], [https://raw.githubusercontent.com/allatambov/PyDat-0919/master/lectures-seminars/7-pandas/elect.csv elect.csv]. | * Файл [https://allatambov.github.io/pydj/seminars/firtree.csv firtree.csv], [https://raw.githubusercontent.com/allatambov/PyDat-0919/master/lectures-seminars/7-pandas/elect.csv elect.csv]. | ||
− | === 7 октября | + | === 7 октября === |
'''Тема 8. Датафреймы Pandas.''' | '''Тема 8. Датафреймы Pandas.''' | ||
Строка 110: | Строка 110: | ||
* [https://matplotlib.org/stable/ Галерея] matplotlib. | * [https://matplotlib.org/stable/ Галерея] matplotlib. | ||
− | === 14 октября | + | === 14 октября === |
'''Тема 9. Парсинг HTML файлов с BeautifulSoup.''' | '''Тема 9. Парсинг HTML файлов с BeautifulSoup.''' | ||
Строка 175: | Строка 175: | ||
* Работа с API ВКонтакте: [https://allatambov.github.io/pypolit/vk-auth.pdf инструкция] по получению доступа, [https://nbviewer.jupyter.org/github/PyBasics-19/py-basics-19/blob/master/lectures/lect-vk-api.ipynb vk-api], [https://nbviewer.jupyter.org/github/PyBasics-19/py-basics-19/blob/master/lectures/vk-add.ipynb vk-add] | * Работа с API ВКонтакте: [https://allatambov.github.io/pypolit/vk-auth.pdf инструкция] по получению доступа, [https://nbviewer.jupyter.org/github/PyBasics-19/py-basics-19/blob/master/lectures/lect-vk-api.ipynb vk-api], [https://nbviewer.jupyter.org/github/PyBasics-19/py-basics-19/blob/master/lectures/vk-add.ipynb vk-add] | ||
* Работа с API mos.ru: [https://nbviewer.jupyter.org/github/allatambov/misc/blob/master/mos-API.ipynb конспект] | * Работа с API mos.ru: [https://nbviewer.jupyter.org/github/allatambov/misc/blob/master/mos-API.ipynb конспект] | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
'''Классы''' | '''Классы''' | ||
Объекты и классы в Python: [https://nbviewer.jupyter.org/github/allatambov/allatambov.github.io/blob/master/pydj/seminars/classes.ipynb конспект] | Объекты и классы в Python: [https://nbviewer.jupyter.org/github/allatambov/allatambov.github.io/blob/master/pydj/seminars/classes.ipynb конспект] |
Текущая версия на 03:22, 4 мая 2024
Дорогие студенты!
Это страница адаптационного курса «Программирование для всех (основы работы с Python)», читаемого на программе «Прикладная политология» 1 курса магистратуры в 1 модуле 2021-2022 учебного года.
Лекции и семинары ведёт: Тамбовцева Алла Андреевна
Содержание
Правила игры
- Курс реализуется в формате blended, онлайн часть обеспечивается главами курсов на платформе DataCamp.
- Формула оценки: Итог = 0.3 * Домашние задания + 0.3 * Онлайн-курс + 0.4 * Экзамен.
- При сдаче домашнего задания позже указанного срока предусмотрены штрафы: опоздание в пределах часа – штраф 10% от полученной оценки, в пределах суток – штраф 30%, в пределах недели – штраф 70%.
- Ссылка на программу курса.
Программное обеспечение
Перед занятиями необходимо установить дистрибутив Anaconda (скачать можно здесь), который включает в себя интерпретатор языка Python, библиотеки для обработки, анализа и визуализации данных, а также среду для работы Jupyter Notebook. Также есть возможность работать в Jupyter Notebook онлайн, используя ресурс Google Colab (для создания и редактирования файлов нужен аккаунт Gmail). Но в долгосрочной перспективе предпочтительнее установить Anaconda.
Материалы
9 сентября
Тема 1. Введение в Python и Jupyter Notebook
Основное:
- Инструкция по работе с Jupyter Notebook. Знакомство с Jupyter Notebook и Markdown (конспект, intro-jupyter.ipynb).
- Вычисления и переменные в Python (конспект, intro-variables.ipynb).
- Pythontutor: визуализатор кода, вычисления.
- Практические задания: задания, problems-01.ipynb, решения, problems-01-solutions.ipynb.
Дополнительное:
- Markdown и Jupyter: больше про Markdown, интерактивные виджеты в Jupyter.
- LaTeX: ShareLaTeX для желающих, документация на английском, материалы других курсов по LaTeX.
16 сентября
Тема 2. Типы данных в Python. Ввод и вывод.
- Типы переменных, ввод и вывод в Python (конспект, input-output.ipynb). Pythontutor: ввод и вывод.
- Форматирование строк (конспект, str-formatting.ipynb).
- Практические задания: задания, problems-02.ipynb, решения, problems-02-solutions.ipynb.
Тема 3. Списки и цикл for. Методы на строках.
Основное:
- Частично изучается на DataCamp (глава Python Lists, глава Functions and Packages).
- Списки и цикл for: введение (конспект, lists-for.ipynb). Pythontutor: списки, цикл for.
- Методы .split() и .join(): конспект, split-join.ipynb.
- Практические задания: задания, problems03.ipynb, решения, problems-03-solutions.ipynb.
Дополнительное:
- Списки: методы на списках. (конспект, lists-2.ipynb).
- Генераторы списков и enumerate() (конспект, more-lists.ipynb).
23 сентября
Тема 4. Проверка условий и условные конструкции. Цикл while.
Основное:
- Проверка условий (конспект, conditions.ipynb). Условные конструкции и цикл while (конспект, if-else-while.ipynb).
- Pythontutor: условия. Pythontutor: цикл while.
- Практические задания: задания, problems04.ipynb, решения, problems04-solutions.ipynb
Дополнительное:
Сравнение continue и pass (статья).
Тема 5*. Структуры данных в Python: кортежи, множества, словари.
- Тема изучается на DataCamp (глава Dictionaries - the root of Python).
- Вспомогательные лекции: кортежи (конспект, tuples.ipynb), словари (конспект, dicts.ipynb), множества (конспект).
- Примеры задач на словари с решениями (конспект, файл).
30 сентября
Тема 6. Функции в Python.
Основное:
- Тема изучается на DataCamp (глава Writing your own functions, глава Default arguments, variable-length arguments and scope).
- Вспомогательная лекция: functions. Pythontutor: функции.
- Практические задания: задания, problems05.ipynb, решения, problems05-solutions.ipynb
Дополнительное:
- Lambda-функции: конспект.
Тема 7. Массивы NumPy.
- Массивы NumPy: конспект, numpy-01.ipynb
- Файл firtree.csv, elect.csv.
7 октября
Тема 8. Датафреймы Pandas.
Основное:
- Файлы для работы: firtree.csv, elect.csv.
- Датафреймы Pandas: работа со строками и столбцами таблицы (конспект, pandas-part01.ipynb).
- Датафреймы Pandas: группировка и агрегирование (конспект, pandas-part02.ipynb).
Дополнительное:
- Тьюториалы по pandas.
- Галерея matplotlib.
14 октября
Тема 9. Парсинг HTML файлов с BeautifulSoup.
Основное:
- Парсинг HTML файлов с BeautifulSoup: конспект, web-scrape.ipynb.
- Тьюториалы по HTML: w3schools.com
Дополнительное:
- Документация BeautifulSoup.
- Базовые примеры парсинга с BeautifulSoup.
Домашние задания
Задание | Дедлайн | Файл | Ссылка для сдачи | Тип |
---|---|---|---|---|
Домашнее задание 1: глава Python Lists | 16.09 14:40 | – | DataCamp | DataCamp |
Домашнее задание 2 | 23.09 23:59 | ipynb | Dropbox | обычное |
Домашнее задание 3: глава Functions and Packages | 23.09 14:40 | – | DataCamp | DataCamp |
Домашнее задание 4: глава Writing your own functions | 30.09 14:40 | – | DataCamp | DataCamp |
Домашнее задание 5: глава Dictionaries – the root of Python | 30.09 14:40 | – | DataCamp | DataCamp |
Домашнее задание 6: глава Default arguments, variable-length arguments and scope | 07.10 14:40 | – | DataCamp | DataCamp |
Домашнее задание 7 | 07.10 23:59 | ipynb | Dropbox | обычное |
Домашнее задание 8 | 14.10 23:59 | ipynb | Dropbox | обычное |
Домашнее задание 9: глава Aggregating DataFrames | 20.10 23:59 | – | DataCamp | DataCamp |
Домашнее задание 10: глава Slicing and Indexing DataFrames | 20.10 23:59 | – | DataCamp | DataCamp |
Дополнительные материалы
Визуализация
- Основы matplotlib с pandas на DataCamp: курс
- Matplotlib: тьюториал от DataCamp
- Визуализация с seaborn: конспект, файл Chile.csv
Статистика
- Проверка статистических гипотез: конспект
- Доверительные интервалы: конспект
- Генерация выборок и их правдоподобие: конспект
- Визуализация и выявление связей в данных: конспект
- Оценка связи между переменными, измеренными в разных шкалах: конспект
- Парная регрессия и проверка гипотез о коэффициентах регрессии: конспект
- Множественная регрессия и проверка качества модели: конспект
- Линейная регрессия с качественными предикторами, дамми-переменные, эффекты взаимодействия: конспект
Веб-скрейпинг
- Управление браузером с Selenium: selenium-1, selenium-2, books
- Работа с API ВКонтакте: инструкция по получению доступа, vk-api, vk-add
- Работа с API mos.ru: конспект
Классы
Объекты и классы в Python: конспект