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

Материал из MathINFO
Перейти к навигации Перейти к поиску
 
(не показаны 24 промежуточные версии этого же участника)
Строка 33: Строка 33:
 
* Markdown и Jupyter: [https://www.ibm.com/support/knowledgecenter/SSQNUZ_current/com.ibm.icpdata.doc/dsx/markd-jupyter.html больше] про Markdown, интерактивные [https://ipywidgets.readthedocs.io/en/stable/examples/Widget%20Basics.html виджеты] в Jupyter.
 
* Markdown и Jupyter: [https://www.ibm.com/support/knowledgecenter/SSQNUZ_current/com.ibm.icpdata.doc/dsx/markd-jupyter.html больше] про Markdown, интерактивные [https://ipywidgets.readthedocs.io/en/stable/examples/Widget%20Basics.html виджеты] в Jupyter.
 
* 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 сентября [https://www.dropbox.com/sh/ythwvhwj93t6lkc/AABGLcvvwUxRlncjCu0j7dRqa?dl=0 Видеозапись] ===
 +
 +
'''Тема 2. Типы данных в Python. Ввод и вывод.'''
 +
 +
* Типы переменных, ввод и вывод в Python ([https://nbviewer.jupyter.org/github/allatambov/PyAll20/blob/master/input-output.ipynb конспект], [https://www.dropbox.com/s/ldckrtt3xun8684/input-output.ipynb?dl=0 input-output.ipynb]). Pythontutor: [https://pythontutor.ru/lessons/inout_and_arithmetic_operations/ ввод и вывод].
 +
* Форматирование строк ([https://nbviewer.jupyter.org/github/PyBasics-19/py-basics-19/blob/master/lectures/1-introduction/str-formating.ipynb конспект], [https://www.dropbox.com/s/ubeg3ep1nuqqjmz/str-formating.ipynb?dl=0 str-formatting.ipynb]).
 +
* Практические задания: [https://nbviewer.jupyter.org/github/allatambov/PyAll2021/blob/main/problems-02.ipynb задания], [https://www.dropbox.com/s/7pdggwxgn5mi1qx/problems-02.ipynb?dl=0 problems-02.ipynb], [https://nbviewer.jupyter.org/github/allatambov/PyAll2021/blob/main/problems-02-solutions.ipynb решения], [https://www.dropbox.com/s/ywe26y2dzhym3cq/problems-02-solutions.ipynb?dl=0 problems-02-solutions.ipynb].
 +
 +
'''Тема 3. Списки и цикл for. Методы на строках.'''
 +
 +
Основное:
 +
 +
* Частично изучается на DataCamp (глава Python Lists, глава Functions and Packages).
 +
* Списки и цикл for: введение ([https://nbviewer.jupyter.org/github/allatambov/PyAll20/blob/master/lists-for.ipynb конспект], [https://www.dropbox.com/s/lco881xpds8l5wc/lists-for.ipynb?dl=0 lists-for.ipynb]). Pythontutor: [https://pythontutor.ru/lessons/lists/ списки], [https://pythontutor.ru/lessons/for_loop/ цикл for].
 +
* Методы .split() и .join(): [https://nbviewer.jupyter.org/github/allatambov/allatambov.github.io/blob/master/icef/seminars/split-join.ipynb конспект], [https://www.dropbox.com/s/gmn2mlqqillhg5k/split-join.ipynb?dl=0 split-join.ipynb].
 +
* Практические задания: [https://nbviewer.jupyter.org/github/allatambov/PyAll20/blob/master/problems03.ipynb задания], [https://www.dropbox.com/s/ymgi4au2avocoqb/problems-03.ipynb?dl=0 problems03.ipynb], [https://nbviewer.jupyter.org/github/allatambov/PyAll2021/blob/main/problems-03-solutions.ipynb решения], [https://www.dropbox.com/s/tph0gwv7drg2fgz/problems-03-solutions.ipynb?dl=0 problems-03-solutions.ipynb].
 +
 +
Дополнительное:
 +
 +
* Списки: методы на списках. ([https://github.com/allatambov/allatambov.github.io/blob/master/icef/seminars/lists-2.ipynb конспект], [https://allatambov.github.io/icef/seminars/lists-2.ipynb lists-2.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 сентября [https://www.dropbox.com/sh/f1mxu5yh796q2wm/AAB-ZwZsy1SUSSgmNmsUqB9Ha?dl=0 Видеозапись] ===
 +
 +
'''Тема 4. Проверка условий и условные конструкции. Цикл while.'''
 +
 +
Основное:
 +
 +
* Проверка условий ([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].
 +
* Практические задания: [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]
 +
 +
Дополнительное:
 +
 +
Сравнение continue и pass ([https://www.geeksforgeeks.org/difference-between-continue-and-pass-statements-in-python/ статья]).
 +
 +
'''Тема 5*. Структуры данных в Python: кортежи, множества, словари.'''
 +
 +
* Тема изучается на 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://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.
  
 
== Домашние задания ==
 
== Домашние задания ==
Строка 42: Строка 132:
 
| Домашнее задание 1: глава Python Lists|| 16.09 14:40 || – || [https://learn.datacamp.com/courses/intro-to-python-for-data-science DataCamp] || DataCamp
 
| Домашнее задание 1: глава Python Lists|| 16.09 14:40 || – || [https://learn.datacamp.com/courses/intro-to-python-for-data-science DataCamp] || DataCamp
 
|-
 
|-
| [https://nbviewer.jupyter.org/github/allatambov/PyAll20/blob/master/hw/homework01.ipynb Домашнее задание 2] || 24.09 23:59 || [https://www.dropbox.com/s/igvbyn0029kp8c7/homework01.ipynb?dl=0 ipynb] || [https://www.dropbox.com/request/2vU4GWy8HJAk1t9mOIfP Dropbox] || обычное
+
| [https://nbviewer.jupyter.org/github/allatambov/PyAll20/blob/master/hw/homework01.ipynb Домашнее задание 2] || 23.09 23:59 || [https://www.dropbox.com/s/igvbyn0029kp8c7/homework01.ipynb?dl=0 ipynb] || [https://www.dropbox.com/request/2vU4GWy8HJAk1t9mOIfP Dropbox] || обычное
 
+
|-
 +
| Домашнее задание 3: глава Functions and Packages || 23.09 14:40 || – || [https://learn.datacamp.com/courses/intro-to-python-for-data-science DataCamp] || DataCamp
 +
|-
 +
| Домашнее задание 4: глава  Writing your own functions || 30.09 14:40 || – || [https://learn.datacamp.com/courses/python-data-science-toolbox-part-1 DataCamp] || DataCamp
 +
|-
 +
| Домашнее задание 5: глава Dictionaries – the root of Python || 30.09 14:40 || – || [https://learn.datacamp.com/courses/data-types-for-data-science-in-python DataCamp] || DataCamp
 +
|-
 +
| Домашнее задание 6: глава Default arguments, variable-length arguments and scope || 07.10 14:40 || – || [https://learn.datacamp.com/courses/python-data-science-toolbox-part-1 DataCamp] || DataCamp
 +
|-
 +
| [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] || [https://www.dropbox.com/request/cIRNUbrhMB3RfsLEbZCl Dropbox] || обычное
 +
|-
 +
| Домашнее задание 9: глава Aggregating DataFrames || 20.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: конспект