Программирование для всех (основы работы с Python): различия между версиями

Материал из MathINFO
Перейти к навигации Перейти к поиску
 
(не показано 9 промежуточных версий этого же участника)
Строка 62: Строка 62:
 
Основное:
 
Основное:
  
* Проверка условий ([https://github.com/allatambov/PyAll20/blob/master/conditions.ipynb конспект], conditions.ipynb). Условные конструкции и цикл while ([https://nbviewer.jupyter.org/github/allatambov/allatambov.github.io/blob/master/pydj/seminars/if-else-while.ipynb конспект], if-else-while.ipynb).  
+
* Проверка условий ([https://nbviewer.jupyter.org/github/allatambov/PyAll20/blob/master/conditions.ipynb конспект], [https://www.dropbox.com/s/ra61c5ljj04w2uh/conditions.ipynb?dl=0 conditions.ipynb]). Условные конструкции и цикл while ([https://nbviewer.jupyter.org/github/allatambov/allatambov.github.io/blob/master/pydj/seminars/if-else-while.ipynb конспект], [https://www.dropbox.com/s/xk9rjgjsxx4aoct/if-else-while.ipynb?dl=0 if-else-while.ipynb]).  
 
* Pythontutor: [https://pythontutor.ru/lessons/ifelse/ условия]. Pythontutor: цикл [https://pythontutor.ru/lessons/while/ while].  
 
* Pythontutor: [https://pythontutor.ru/lessons/ifelse/ условия]. Pythontutor: цикл [https://pythontutor.ru/lessons/while/ while].  
* Практические задания: условные конструкции и цикл while ([https://nbviewer.jupyter.org/github/allatambov/PyAll20/blob/master/problems04.ipynb задания], [https://www.dropbox.com/s/6i2311qhbxrgkp2/problems04.ipynb?dl=0 problems04.ipynb]), решения.
+
* Практические задания: [https://nbviewer.jupyter.org/github/allatambov/PyAll20/blob/master/problems04.ipynb задания], [https://www.dropbox.com/s/6i2311qhbxrgkp2/problems04.ipynb?dl=0 problems04.ipynb], [https://nbviewer.jupyter.org/github/allatambov/PyAll2021/blob/main/problems04-solutions.ipynb решения], [https://www.dropbox.com/s/hnilqfbknvi9ej7/problems04-solutions.ipynb?dl=0 problems04-solutions.ipynb]
  
 
Дополнительное:
 
Дополнительное:
Строка 72: Строка 72:
 
'''Тема 5*. Структуры данных в Python: кортежи, множества, словари.'''
 
'''Тема 5*. Структуры данных в Python: кортежи, множества, словари.'''
  
* Тема изучается на DataCamp.
+
* Тема изучается на DataCamp (глава Dictionaries - the root of Python).
 
* Вспомогательные лекции: кортежи ([https://github.com/allatambov/allatambov.github.io/blob/master/icef/seminars/tuples.ipynb конспект], [https://allatambov.github.io/icef/seminars/tuples.ipynb tuples.ipynb]), словари ([https://github.com/allatambov/allatambov.github.io/blob/master/icef/seminars/dicts.ipynb конспект], [https://allatambov.github.io/icef/seminars/dicts.ipynb dicts.ipynb]), множества ([https://nbviewer.jupyter.org/github/PyBasics-19/py-basics-19/blob/master/lectures/sets.ipynb конспект]).
 
* Вспомогательные лекции: кортежи ([https://github.com/allatambov/allatambov.github.io/blob/master/icef/seminars/tuples.ipynb конспект], [https://allatambov.github.io/icef/seminars/tuples.ipynb tuples.ipynb]), словари ([https://github.com/allatambov/allatambov.github.io/blob/master/icef/seminars/dicts.ipynb конспект], [https://allatambov.github.io/icef/seminars/dicts.ipynb dicts.ipynb]), множества ([https://nbviewer.jupyter.org/github/PyBasics-19/py-basics-19/blob/master/lectures/sets.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 файл]).
 
* Примеры задач на словари с решениями ([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 сентября [https://www.dropbox.com/sh/drxyk8f27xy2h8r/AAD3USABXA3W2OnDuIrTYZD6a?dl=0 Видеозапись] ===
 +
 +
'''Тема 6. Функции в Python.'''
 +
 +
Основное:
 +
 +
* Тема изучается на DataCamp (глава Writing your own functions, глава Default arguments, variable-length arguments and scope).
 +
* Вспомогательная лекция: [https://nbviewer.jupyter.org/github/ischurov/pythonhse/blob/master/Lecture%204.ipynb functions]. Pythontutor: [https://pythontutor.ru/lessons/functions/ функции].
 +
* Практические задания: [https://nbviewer.jupyter.org/github/allatambov/PyAll2021/blob/main/problems05.ipynb задания], [https://www.dropbox.com/s/yhbgbb17q3n1mg0/problems05.ipynb?dl=0 problems05.ipynb], [https://github.com/allatambov/PyAll2021/blob/main/problems05-solutions.ipynb решения], [https://www.dropbox.com/s/cl4iz1yd9aqfn6u/problems05-solutions.ipynb?dl=0 problems05-solutions.ipynb]
 +
 +
Дополнительное:
 +
 +
* Lambda-функции: [https://nbviewer.jupyter.org/github/allatambov/PyDat-0919/blob/master/lectures-seminars/5-files/lambda-functions.ipynb конспект].
 +
 +
'''Тема 7. Массивы NumPy.'''
 +
 +
* Массивы NumPy: [https://nbviewer.jupyter.org/github/allatambov/PyAll20/blob/master/numpy-01.ipynb конспект], [https://www.dropbox.com/s/8iw7na03szq2rog/numpy-01.ipynb?dl=0 numpy-01.ipynb]
 +
* Файл [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 октября [https://www.dropbox.com/sh/9w2hbnt5rzn5xup/AABfiuRNHSQbIo5PEK9uOHUka?dl=0 Видеозапись] ===
 +
 +
'''Тема 8. Датафреймы Pandas.'''
 +
 +
Основное:
 +
 +
* Файлы для работы: [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].
 +
* Датафреймы Pandas: работа со строками и столбцами таблицы ([https://nbviewer.org/github/allatambov/PyAll20/blob/master/pandas-part01.ipynb конспект], [https://www.dropbox.com/s/3biebws9mu9igtw/pandas-part01.ipynb?dl=0 pandas-part01.ipynb]).
 +
* Датафреймы Pandas: группировка и агрегирование ([https://nbviewer.org/github/allatambov/PyAll20/blob/master/pandas-part02.ipynb конспект], [https://www.dropbox.com/s/06964ffrndk3k9k/pandas-part02.ipynb?dl=0 pandas-part02.ipynb]).
 +
 +
Дополнительное:
 +
 +
* [https://pandas.pydata.org/pandas-docs/stable/user_guide/10min.html Тьюториалы] по pandas.
 +
* [https://matplotlib.org/stable/ Галерея] matplotlib.
 +
 +
=== 14 октября [https://www.dropbox.com/sh/1xo10453ojrhncm/AADKR19U9mnmM15JsJo-nYGIa?dl=0 Видеозапись] ===
 +
 +
'''Тема 9. Парсинг HTML файлов с BeautifulSoup.'''
 +
 +
Основное:
 +
 +
* Парсинг HTML файлов с BeautifulSoup: [https://github.com/allatambov/PyAll20/blob/master/web-scrape.ipynb конспект], [https://www.dropbox.com/s/102bcq6c2w3a3nl/web-scrape.ipynb?dl=0 web-scrape.ipynb].
 +
* Тьюториалы по HTML: [https://www.w3schools.com/ w3schools.com]
 +
 +
Дополнительное:
 +
 +
* [https://www.crummy.com/software/BeautifulSoup/bs4/doc/ Документация] BeautifulSoup.
 +
* Базовые примеры [https://python-scripts.com/beautifulsoup-html-parsing парсинга] с BeautifulSoup.
  
 
== Домашние задания ==
 
== Домашние задания ==
Строка 96: Строка 144:
 
| [https://nbviewer.jupyter.org/github/allatambov/PyAll2021/blob/main/homework06.ipynb Домашнее задание 7] || 07.10 23:59 || [https://www.dropbox.com/s/ssgupbvllbo4gjh/homework06.ipynb?dl=0 ipynb] || [https://www.dropbox.com/request/C8lgQ0PF53djzS2wNSVb Dropbox] || обычное
 
| [https://nbviewer.jupyter.org/github/allatambov/PyAll2021/blob/main/homework06.ipynb Домашнее задание 7] || 07.10 23:59 || [https://www.dropbox.com/s/ssgupbvllbo4gjh/homework06.ipynb?dl=0 ipynb] || [https://www.dropbox.com/request/C8lgQ0PF53djzS2wNSVb Dropbox] || обычное
 
|-
 
|-
| [https://nbviewer.jupyter.org/github/allatambov/PyAll2021/blob/main/homework08.ipynb Домашнее задание 8] || 14.10 23:59 || [https://www.dropbox.com/s/f4sey304p7keu2t/homework08.ipynb?dl=0 ipynb] || Dropbox || обычное
+
| [https://nbviewer.jupyter.org/github/allatambov/PyAll2021/blob/main/homework08.ipynb Домашнее задание 8] || 14.10 23:59 || [https://www.dropbox.com/s/f4sey304p7keu2t/homework08.ipynb?dl=0 ipynb] || [https://www.dropbox.com/request/cIRNUbrhMB3RfsLEbZCl Dropbox] || обычное
 
|-
 
|-
| Домашнее задание 9: глава Aggregating DataFrames || 17.10 23:59 || – || [https://learn.datacamp.com/courses/data-manipulation-with-pandas DataCamp] || DataCamp
+
| Домашнее задание 9: глава Aggregating DataFrames || 20.10 23:59 || – || [https://learn.datacamp.com/courses/data-manipulation-with-pandas DataCamp] || DataCamp
 
|-
 
|-
| Домашнее задание 10: глава Slicing and Indexing DataFrames || 17.10 23:59|| – || [https://learn.datacamp.com/courses/data-manipulation-with-pandas DataCamp] || DataCamp
+
| Домашнее задание 10: глава Slicing and Indexing DataFrames || 20.10 23:59|| – || [https://learn.datacamp.com/courses/data-manipulation-with-pandas DataCamp] || DataCamp
 
|}
 
|}
  

Текущая версия на 15:08, 21 октября 2021

Дорогие студенты!

Это страница адаптационного курса «Программирование для всех (основы работы с 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

Основное:

Дополнительное:

16 сентября Видеозапись

Тема 2. Типы данных в Python. Ввод и вывод.

Тема 3. Списки и цикл for. Методы на строках.

Основное:

Дополнительное:

23 сентября Видеозапись

Тема 4. Проверка условий и условные конструкции. Цикл while.

Основное:

Дополнительное:

Сравнение continue и pass (статья).

Тема 5*. Структуры данных в Python: кортежи, множества, словари.

30 сентября Видеозапись

Тема 6. Функции в Python.

Основное:

Дополнительное:

Тема 7. Массивы NumPy.

7 октября Видеозапись

Тема 8. Датафреймы Pandas.

Основное:

Дополнительное:

14 октября Видеозапись

Тема 9. Парсинг HTML файлов с 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

Дополнительные материалы

Визуализация

Статистика

  • Проверка статистических гипотез: конспект
  • Доверительные интервалы: конспект
  • Генерация выборок и их правдоподобие: конспект
  • Визуализация и выявление связей в данных: конспект
  • Оценка связи между переменными, измеренными в разных шкалах: конспект
  • Парная регрессия и проверка гипотез о коэффициентах регрессии: конспект
  • Множественная регрессия и проверка качества модели: конспект
  • Линейная регрессия с качественными предикторами, дамми-переменные, эффекты взаимодействия: конспект

Веб-скрейпинг

Дизайн и интерактив

Классы

Объекты и классы в Python: конспект