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

Материал из MathINFO
Перейти к навигации Перейти к поиску
 
(не показано 46 промежуточных версий этого же участника)
Строка 15: Строка 15:
 
== Программное обеспечение ==
 
== Программное обеспечение ==
  
Перед занятиями необходимо установить дистрибутив '''Anaconda''' (скачать можно [https://www.anaconda.com/download здесь]), который включает в себя интерпретатор языка Python, библиотеки для обработки, анализа и визуализации данных, а также среду для работы '''Jupyter Notebook'''. Также есть возможность работать в Jupyter Notebook онлайн, используя ресурс Google Colab (для создания и редактирования файлов нужен аккаунт Gmail).
+
Перед занятиями необходимо установить дистрибутив '''Anaconda''' (скачать можно [https://www.anaconda.com/download здесь]), который включает в себя интерпретатор языка Python, библиотеки для обработки, анализа и визуализации данных, а также среду для работы '''Jupyter Notebook'''. Также есть возможность работать в Jupyter Notebook онлайн, используя ресурс [https://colab.research.google.com/ Google Colab] (для создания и редактирования файлов нужен аккаунт Gmail).
  
 
Подробности по установке и работе – см. ниже в неделе 0.
 
Подробности по установке и работе – см. ниже в неделе 0.
  
== Материалы ==
+
== Материалы и лабораторные работы ==
  
=== Неделя 0. Подготовка к работе ===
+
=== Неделя 0. Подготовка к работе. Настройка рабочего места. ===
  
 
Для подготовки к работе на курсе необходимо ознакомиться со следующими материалами [https://edu.hse.ru/course/view.php?id=133389 онлайн-курса]:  
 
Для подготовки к работе на курсе необходимо ознакомиться со следующими материалами [https://edu.hse.ru/course/view.php?id=133389 онлайн-курса]:  
Строка 38: Строка 38:
 
* Markdown: [https://gist.github.com/Jekins/2bf2d0638163f1294637 больше] про Markdown, знакомство с Jupyter Notebook и Markdown ([https://nbviewer.jupyter.org/github/allatambov/allatambov.github.io/blob/master/icef/seminars/intro-jupyter.ipynb читать], [http://allatambov.github.io/icef/seminars/intro-jupyter.ipynb ipynb]).
 
* Markdown: [https://gist.github.com/Jekins/2bf2d0638163f1294637 больше] про Markdown, знакомство с Jupyter Notebook и Markdown ([https://nbviewer.jupyter.org/github/allatambov/allatambov.github.io/blob/master/icef/seminars/intro-jupyter.ipynb читать], [http://allatambov.github.io/icef/seminars/intro-jupyter.ipynb ipynb]).
 
* LaTeX: [https://www.overleaf.com/ Overleaf], [https://www.overleaf.com/learn документация], [https://github.com/allatambov/Latex материалы] других курсов по LaTeX.
 
* LaTeX: [https://www.overleaf.com/ Overleaf], [https://www.overleaf.com/learn документация], [https://github.com/allatambov/Latex материалы] других курсов по LaTeX.
 +
 +
=== Неделя 1. Введение в Python. Переменные и типы данных. Ввод и вывод. ===
 +
 +
* [https://www.dropbox.com/scl/fo/7imtuortunv6tecijywue/h?rlkey=2ce7fogtfdcmj8vb84on17oem&dl=0 Видеозаписи] занятий и ipynb-файлы.
 +
* Вычисления в Python ([https://github.com/allatambov/PyAll23/blob/main/01-calculations.ipynb читать], [https://www.dropbox.com/scl/fi/fh93w4sqt1zyqwcgbeh8n/01-calculations.ipynb?rlkey=mzs1ajomwl7vsr75ggan1c15z&dl=0 ipynb]). Переменные и типы данных ([https://github.com/allatambov/PyAll23/blob/main/02-variables-types.ipynb читать], [https://www.dropbox.com/scl/fi/o5c56bb6btw90m75udo2v/02-variables-types.ipynb?rlkey=3uxa9zgbbuajc8augz9qre0ip&dl=0 ipynb]).
 +
* Ввод и вывод, форматирование строк ([https://github.com/allatambov/PyAll23/blob/main/03-input-output.ipynb читать], [https://www.dropbox.com/scl/fi/3zwbvurhpu33wrtsn9pyw/03-input-output.ipynb?rlkey=gjobha5soiiee1cvqf07xytp4&dl=0 ipynb]).
 +
* Практикум 1 ([https://github.com/allatambov/PyAll23/blob/main/pyall-practice01.ipynb читать], [https://www.dropbox.com/scl/fi/5dl3lj4dluhsx66jwyite/pyall-practice01.ipynb?rlkey=6bz5zym6wm75qws218u5nid7f&dl=0 ipynb]), решения ([https://github.com/allatambov/PyAll23/blob/main/pyall-practice01-solutions.ipynb читать], [https://www.dropbox.com/scl/fi/keoidwl12v566g0kfzat5/pyall-practice01-solutions.ipynb?rlkey=ej0mf8a3mr4fr5njow8ua9axq&dl=0 ipynb]).
 +
 +
Дополнительно:
 +
 +
* Pythontutor: [http://pythontutor.ru/visualizer/ визуализатор] кода, [https://pythontutor.ru/lessons/int_and_float/ вычисления], [https://pythontutor.ru/lessons/inout_and_arithmetic_operations/ ввод и вывод].
 +
* Интерактивные [https://ipywidgets.readthedocs.io/en/stable/examples/Widget%20Basics.html виджеты] в Jupyter (альтернатива стандартному вводу и не только).
 +
* Стандарты оформления кода Python: [https://peps.python.org/pep-0008/ PEP8].
 +
* [https://pyprog.pro/python/st_lib/decimal.html Вычисления] с заданной точностью с модулем decimal, официальная документация [https://docs.python.org/3/library/decimal.html decimal].
 +
* [https://pyprog.pro/python/st_lib/fractions.html Вычисления] с обыкновенными дробями с модулем fractions, официальная документация [https://docs.python.org/3/library/fractions.html fractions].
 +
* Символьные вычисления с sympy: часть 1 ([https://nbviewer.jupyter.org/github/allatambov/py-icef/blob/master/add/sympy-1.ipynb sympy-1.ipynb]), часть 2 ([https://nbviewer.jupyter.org/github/allatambov/py-icef/blob/master/add/sympy-2.ipynb sympy-2.ipynb]), официальная документация [https://www.sympy.org/en/index.html sympy].
 +
 +
=== Лабораторная работа 1. Логические выражения и условные конструкции. ===
 +
 +
Для выполнения лабораторной работы необходимо самостоятельно познакомиться с конструкцией if-elif-else <br> и формулировкой логических выражений.
 +
Для этого (на выбор) можно:
 +
 +
* Прослушать материал [https://edu.hse.ru/course/view.php?id=133389&section=2 темы 2] ''Условия и логические выражения'' онлайн-курса «Python как иностранный».
 +
* Прочитать [https://nbviewer.org/github/allatambov/PyPolit2023/blob/main/testing-conditions.ipynb конспект] лекции ''Логические выражения и условные конструкции''.
 +
* Изучить материалы онлайн-учебника [https://pythontutor.ru/lessons/ifelse/ Pythontutor].
 +
 +
{| class="wikitable"
 +
|-
 +
! Лабораторная работа !! Задания !! Дедлайн !! Куда сдавать
 +
|-
 +
| [https://github.com/allatambov/PyAll23/blob/main/lab01.ipynb Лабораторная работа 1] || [https://www.dropbox.com/scl/fi/q8c7pfbzfhwl64ivu0187/lab01.ipynb?rlkey=9kedrvolzwftdambslvv057wr&dl=0 ipynb] || 19 сентября 18:00 || [https://www.dropbox.com/request/EyHEPjdDHFXGR3cu3y8X ссылка] на Dropbox
 +
|-
 +
|}
 +
 +
=== Неделя 2. Отладка кода. Списки и цикл for. Методы .split() и .join() ===
 +
 +
* [https://www.dropbox.com/scl/fo/vrnryi5lm7s6x328ksxpu/h?rlkey=wpsxnown0fyldir4vbaxgj13c&dl=0 Видеозаписи] занятий и ipynb-файлы.
 +
* Отладка кода: виды ошибок и ловля исключений с try-except (читать, ipynb).
 +
* Списки, цикл for и функция range() ([https://github.com/allatambov/PyAll23/blob/main/05-lists-for-range.ipynb читать], [https://www.dropbox.com/scl/fi/jlvbvsvtj6sfwb4q4h62v/05-lists-for-range.ipynb?rlkey=fqwfambgpoqciui73jmmijhu7&dl=0 ipynb]).
 +
* Методы .split() и .join() ([https://github.com/allatambov/PyAll23/blob/main/06-split-join.ipynb читать], [https://www.dropbox.com/scl/fi/y7fcky0jjs6nzw8tpjwjp/06-split-join.ipynb?rlkey=qm9o9u5skb7sjvp6uarjbcv0x&dl=0 ipynb]).
 +
* Практикум 2 ([https://github.com/allatambov/PyAll23/blob/main/pyall-practice02.ipynb читать], [https://www.dropbox.com/scl/fi/8b63906eoehc2w3opquzw/pyall-practice02.ipynb?rlkey=4v1lh1x1bu1rw7quwxkl5n47o&dl=0 ipynb]), решения ([https://github.com/allatambov/PyAll23/blob/main/pyall-practice02-solutions.ipynb читать], [https://www.dropbox.com/scl/fi/k9nkk1dv4b5ppe4s7e6g5/pyall-practice02-solutions.ipynb?rlkey=f4t06ss5e3ybfq02sdd24bck9&dl=0 ipynb]).
 +
 +
Дополнительно:
 +
 +
* Официальная [https://docs.python.org/3/tutorial/errors.html документация] по ошибкам и исключениям, [https://docs.python.org/3/library/exceptions.html перечень] исключений.
 +
* Pythontutor: [https://pythontutor.com/visualize.html#mode=edit визуализатор] кода.
 +
* Pythontutor: [https://pythontutor.ru/lessons/for_loop/ цикл for], [https://pythontutor.ru/lessons/lists/ списки], [https://pythontutor.ru/lessons/str/ строки].
 +
 +
=== Лабораторная работа 2. Методы на строках и методы на списках. ===
 +
 +
Для выполнения лабораторной работы необходимо самостоятельно познакомиться с основными методами<br>на строках и списках.
 +
Для этого (на выбор) можно:
 +
 +
* Прослушать материал [https://edu.hse.ru/course/view.php?id=133389&section=5 темы 5] ''Методы'' онлайн-курса «Python как иностранный».
 +
* Прочитать [https://github.com/allatambov/PyPerm23/blob/main/str-methods.ipynb конспект] лекции ''Методы на строках'', [https://github.com/allatambov/PyPerm23/blob/main/lists-methods.ipynb конспект] лекции ''Методы на списках''.
 +
* Изучить материалы онлайн-учебника Pythontutor: [https://pythontutor.ru/lessons/for_loop/ цикл for], [https://pythontutor.ru/lessons/str/ строки], [https://pythontutor.ru/lessons/lists/ списки, split(), join()].
 +
 +
{| class="wikitable"
 +
|-
 +
! Лабораторная работа !! Задания !! Дедлайн !! Куда сдавать
 +
|-
 +
| [https://github.com/allatambov/PyAll23/blob/main/lab02.ipynb Лабораторная работа 2] || [https://www.dropbox.com/scl/fi/gq3uct7rot8ujxg43ntet/lab02.ipynb?rlkey=qfjn988bklnrgjxrzfhmqxkut&dl=0 ipynb] || 26 сентября 18:00 || [https://www.dropbox.com/request/ajyQ4MFCkgq4n79TX2Ct ссылка] на Dropbox
 +
|-
 +
|}
 +
 +
=== Неделя 3. Аналоги цикла for. Кортежи и словари. ===
 +
 +
* [https://www.dropbox.com/scl/fo/68mb0xe4srdj02adn4cf8/h?rlkey=ffsit6c3gqgrcs80t8wzkatpc&dl=0 Видеозаписи] занятий и ipynb-файлы.
 +
* Аналоги цикла for: списковые включения, функция map(), числовые массивы ([https://github.com/allatambov/PyAll23/blob/main/07-alt-for-arrays.ipynb читать], [https://www.dropbox.com/scl/fi/x2pluxwlk4v3zxvzeaqq3/07-alt-for-arrays.ipynb?rlkey=78k4xtlmes9s1ly15pmnfxkfk&dl=0 ipynb]).
 +
* Кортежи, функция zip() и словари ([https://github.com/allatambov/PyAll23/blob/main/08-tuples-zip-dicts.ipynb читать], [https://www.dropbox.com/scl/fi/s5v5i2hqvlj9kj1dewve3/08-tuples-zip-dicts.ipynb?rlkey=tqbfyd6hhawf90y1ug4p6bz5i&dl=0 ipynb]).
 +
* Практикум 3 ([https://www.dropbox.com/scl/fi/ucsxrsrl4r88l6tkkl37a/pyall-practice03.ipynb?rlkey=3cmqklhbq229bsgkw38qh4cnh&dl=0 читать], [https://www.dropbox.com/scl/fi/ucsxrsrl4r88l6tkkl37a/pyall-practice03.ipynb?rlkey=3cmqklhbq229bsgkw38qh4cnh&dl=0 ipynb]), решения ([https://github.com/allatambov/PyAll23/blob/main/pyall-practice03-solutions.ipynb читать], [https://www.dropbox.com/scl/fi/8vhfz9yhtqejrczjhbsy5/pyall-practice03-solutions.ipynb?rlkey=5sjlge3mxxw44p696s5g1glxo&dl=0 ipynb]).
 +
 +
Дополнительно:
 +
 +
* Pythontutor: [https://pythontutor.ru/lessons/lists/#section_3 генераторы списков], [https://pythontutor.ru/lessons/dicts/ словари].
 +
* Множества в Python: [https://github.com/allatambov/PyDat-0919/blob/master/lectures-seminars/3-structures/lecture-sets.ipynb конспект], урок на [https://pythontutor.ru/lessons/sets/ Pythontutor].
 +
 +
=== Лабораторная работа 3. Цикл while. ===
 +
 +
Для выполнения лабораторной работы необходимо самостоятельно познакомиться с циклом while<br> и конструкцией цикл for + оператор break (последняя – по желанию).
 +
Для этого (на выбор) можно:
 +
 +
* Прослушать материал [https://edu.hse.ru/course/view.php?id=133389&section=3 темы 3] ''Цикл while'' онлайн-курса «Python как иностранный».
 +
* Прочитать [https://github.com/allatambov/PyPolit2023/blob/main/while-loop.ipynb конспект] краткой лекции ''Цикл while и его альтернативы''.
 +
* Изучить материалы онлайн-учебника Pythontutor: [https://pythontutor.ru/lessons/while/ цикл while].
 +
 +
{| class="wikitable"
 +
|-
 +
! Лабораторная работа !! Задания !! Дедлайн !! Куда сдавать
 +
|-
 +
| [https://github.com/allatambov/PyAll23/blob/main/lab03.ipynb Лабораторная работа 3] || [https://www.dropbox.com/scl/fi/m1bk6v5l9ayhzhlnk9aba/lab03.ipynb?rlkey=vxzqxi7h8l4zxy9wygm90plgq&dl=0 ipynb] || 03 октября 18:00 || [https://www.dropbox.com/request/HijzMPfW6VS6PzPrsHl9 ссылка] на Dropbox
 +
|-
 +
|}
 +
 +
=== Неделя 4. Словари и датафреймы pandas. Формат JSON и знакомство с API ===
 +
 +
* [https://www.dropbox.com/scl/fo/bcq43shm23ks10fv2nefd/h?rlkey=i0lq25jiil5l22qqbudizo72q&dl=0 Видеозаписи] занятий и ipynb-файлы.
 +
* Разнообразие словарей ([https://github.com/allatambov/PyAll23/blob/main/09-dicts-contd.ipynb читать], [https://www.dropbox.com/scl/fi/x8m63wxetv5me2ipreyji/09-dicts-contd.ipynb?rlkey=yslyfmfbiwh865cer1g76a9kq&dl=0 ipynb]).
 +
* Практикум 4, часть 1. Работа с JSON ([https://github.com/allatambov/PyAll23/blob/main/pyall-practice04-json.ipynb читать], [https://www.dropbox.com/scl/fi/2ujiidequc1u6orrxxxwr/pyall-practice04-json.ipynb?rlkey=22eyc1si9kqdp28ri9i410diy&dl=0 ipynb]), файл [https://www.dropbox.com/scl/fi/4qnoc4v23rnbwpshv9jav/last_votes.json?rlkey=4j98a8c2ilxexoia82vhgewpb&dl=0 last_votes.json].
 +
* Практикум 4, часть 2. Работа с API ВКонтакте (читать, [https://www.dropbox.com/scl/fi/slfw2clw3scfvwuwv0hvq/pyall-practice04-vk.ipynb?rlkey=xe4rgpxr848qnpoqdt4c14lly&dl=0 ipynb]).
 +
 +
=== Лабораторная работа 4. Работа с текстовыми файлами. ===
 +
 +
Для выполнения лабораторной работы необходимо самостоятельно познакомиться с обработкой txt-файлов.
 +
Для этого (на выбор) можно:
 +
 +
* Прослушать материал [https://edu.hse.ru/course/view.php?id=133389&section=9 темы 9] ''Текстовые файлы и таблицы'' (первые два раздела) онлайн-курса «Python как иностранный».
 +
* Прочитать [https://github.com/allatambov/PyPolit2023/blob/main/txt-files.ipynb конспект] лекции ''Чтение и запись txt-файлов''.
 +
 +
{| class="wikitable"
 +
|-
 +
! Лабораторная работа !! Задания !! Дедлайн !! Куда сдавать
 +
|-
 +
| [https://github.com/allatambov/PyAll23/blob/main/lab04.ipynb Лабораторная работа 4] || [https://www.dropbox.com/scl/fi/k5swaorpmrgmbtf9labj6/lab04.ipynb?rlkey=ydhy4u7f4ki4a2f8y7yohgibr&dl=0 ipynb], файл [https://www.dropbox.com/scl/fi/nyfu5tsv66lw5n2ghx9qp/incantations.txt?rlkey=94jr265iojm6hqb9mg4nse29m&dl=0 incantations.txt] || 10 октября 18:00 || [https://www.dropbox.com/request/i02fRHgIqHcHZL6oq5pL ссылка] на Dropbox
 +
|-
 +
|}
 +
 +
=== Неделя 5. Работа с данными с датафреймом pandas. ===
 +
 +
* [https://www.dropbox.com/scl/fo/dk6tpqpmkvjgf7nnamim1/h?rlkey=d2qgpoypy7ovj1mb1r0p0coww&dl=0 Видеозаписи] и ipynb-файлы.
 +
* Базовые операции с датафреймами pandas (расширенная версия с функциями, [https://github.com/allatambov/PyAll23/blob/main/10-pandas-intro.ipynb читать], [https://www.dropbox.com/scl/fi/rn5xdeakvz10aw5zkt6l9/10-pandas-intro.ipynb?rlkey=ad7jyfmkgwrkmlyjcd6q08qv2&dl=0 ipynb], файл [https://www.dropbox.com/scl/fi/ceyoc98uiikbne5awz57v/Salaries.csv?rlkey=zhz7uk88i1jc9llxeon32zaaz&dl=0 Salaries.csv]).
 +
* Обработка опросных данных с pandas (пока сырой файл с кодом [https://www.dropbox.com/scl/fi/si21ir7pthwsgsacnauvj/NPK-raw.ipynb?rlkey=zdwsk9qva8dkdcdruerlgkcc8&dl=0 ipynb], файл [https://www.dropbox.com/scl/fi/8yv8cuvw1vov9jamex30g/NPK_final.xlsx?rlkey=zk2h40vcf76kugvqemkiomo7a&dl=0 NPK_final.xlsx]).
 +
 +
Дополнительно:
 +
 +
* Массивы и датафреймы pandas: введение ([https://github.com/allatambov/PyPerm23/blob/main/arrays-pandas.ipynb читать], [https://www.dropbox.com/s/qqfyg2fe9div3gv/arrays-pandas.ipynb?dl=0 ipynb]).
 +
* Pandas, scipy и проверка статистических гипотез ([https://nbviewer.org/github/allatambov/TWIMC3/blob/main/twimc-data04.ipynb читать], [https://www.dropbox.com/s/3035ulpzp6ed800/twimc-data04.ipynb?dl=0 ipynb], файл [https://www.dropbox.com/scl/fi/djl5fapjgypduvwciawya/NPK.xlsx?dl=0&rlkey=ycr8lu7egau0wl1djes1vk3sk NPK.xlsx]).
 +
 +
=== Лабораторная работа 5. Работа с функциями. ===
 +
 +
Для выполнения лабораторной работы необходимо самостоятельно познакомиться с написанием функций в Python.
 +
Для этого (на выбор) можно:
 +
 +
* Прослушать материал [https://edu.hse.ru/course/view.php?id=133389&section=8 темы 8] ''Функции'' (достаточно первого раздела) онлайн-курса «Python как иностранный».
 +
* Прочитать [https://github.com/allatambov/PyPerm23/blob/main/functions-short.ipynb конспект] лекции ''Функции'' (для желающих – более подробная [https://nbviewer.org/github/ischurov/pythonhse/blob/master/Lecture%204.ipynb лекция] И.В.Щурова).
 +
 +
{| class="wikitable"
 +
|-
 +
! Лабораторная работа !! Задания !! Дедлайн !! Куда сдавать
 +
|-
 +
| [https://github.com/allatambov/PyAll23/blob/main/lab05.ipynb Лабораторная работа 5] || [https://www.dropbox.com/scl/fi/h9g6w9qevtxapmdr4u35u/lab05.ipynb?rlkey=zsybekaxvqk8gh4q9zghfva9t&dl=0 ipynb] || 17 октября 18:00 || [https://www.dropbox.com/request/URwD5weVPn7s7OtFwTMj ссылка] на Dropbox
 +
|-
 +
|}
 +
 +
=== Неделя 6. Введение в парсинг с библиотекой BeautifulSoup ===
 +
 +
* [https://www.dropbox.com/scl/fo/ahrbql2z510pixxm2dexd/h?rlkey=w3nkltupkaawgq3aaxhs8bbvg&dl=0 Видеозаписи] и ipynb-файлы.
 +
* Знакомство с HTML: [https://www.dropbox.com/scl/fi/1cpkvnhbiiziqkl6ozmdv/Intro_HTML.pdf?rlkey=aqh74zep5enui28w4qoq7wwcl&dl=0 слайды], пример кода HTML: [https://raw.githubusercontent.com/allatambov/PyAll23/main/html-ex.html файл].
 +
* Практикум 6. Практикум по парсингу с BeautifulSoup ([https://github.com/allatambov/PyAll23/blob/main/practice-bs.ipynb читать], [https://www.dropbox.com/scl/fi/i3ze88eywkwe080nw2gps/practice-bs.ipynb?rlkey=hdk7dtf3iqi99pk07nijkcqj9&dl=0 ipynb]), решения ([https://github.com/allatambov/PyAll23/blob/main/practice-bs-solutions.ipynb читать], [https://www.dropbox.com/scl/fi/sc7gn9f6lh56s1qgnhpm1/practice-bs-solutions.ipynb?rlkey=fk5n6s0tqym06xyw4bw12x08c&dl=0 ipynb]).
 +
 +
== Домашние задания ==
 +
 +
{| class="wikitable"
 +
|-
 +
! Домашнее задание !! Задания !! Дедлайн !! Куда сдавать
 +
|-
 +
| [https://github.com/allatambov/PyAll23/blob/main/ma-pypolit-hw01.ipynb Домашнее задание 1] || [https://www.dropbox.com/scl/fi/1ht8mb7rgqmi92b09arul/ma-pypolit-hw01.ipynb?rlkey=wa9b34jpimz357rbcm4jth7mx&dl=0 ipynb] || 24.09 23:59 || [https://www.dropbox.com/request/ZO8PgS4Az6ngIXSfYEa2 ссылка] на Dropbox
 +
|-
 +
| [https://github.com/allatambov/PyAll23/blob/main/ma-pypolit-hw02.ipynb Домашнее задание 2] || [https://www.dropbox.com/scl/fi/rdyqo10v2f82ob4wje0yz/ma-pypolit-hw02.ipynb?rlkey=nk3c5xg2lrmih0cnns1i1417w&dl=0 ipynb] || 02.10 23:59 || [https://www.dropbox.com/request/Nh0niAPZZK5R3MsnUfd1 ссылка] на Dropbox
 +
|-
 +
| [https://github.com/allatambov/PyAll23/blob/main/ma-pypolit-hw03.ipynb Домашнее задание 3] || [https://www.dropbox.com/scl/fi/fgdgwrvfuzwtt2v35inid/ma-pypolit-hw03.ipynb?rlkey=8jh7v8bezj24qder5kqfgwdbl&dl=0 ipynb] || 12.10 23:59 || [https://www.dropbox.com/request/LFbEZh1LyGc8mBVaAjne ссылка] на Dropbox
 +
|-
 +
| [https://github.com/allatambov/PyAll23/blob/main/ma-pypolit-hw04.ipynb Домашнее задание 4] || [https://www.dropbox.com/scl/fi/1kp4q51fra6mcozmibegr/ma-pypolit-hw04.ipynb?rlkey=mrl60p36f6nke7sgssrlqe6ma&dl=0 ipynb] [https://www.dropbox.com/scl/fi/g82e5jxnfm931ydpzkqs4/polit.csv?rlkey=lsj9ph74a8u6azszarc7y5uth&dl=0 polit.csv] || 21.10 23:59 || [https://www.dropbox.com/request/5HwAwSZ8QrAZ8r0lQfaY ссылка] на Dropbox
 +
|-
 +
| [https://github.com/allatambov/PyAll23/blob/main/ma-pypolit-hw05.ipynb Домашнее задание 5*] || [https://www.dropbox.com/scl/fi/xviyvgspqtxznt2lpa56o/ma-pypolit-hw05.ipynb?rlkey=92n3xgcwhntqzizfgyfuhvydi&dl=0 ipynb] || 29.10 23:59 || [https://www.dropbox.com/request/JjBXCWxb2SQHnuaooLeD ссылка] на Dropbox
 +
|}
 +
 +
Домашнее задание №5 – бонусное, необязательное для выполнения. <br>
 +
Оценку за него можно зачесть вместо пропущенного ДЗ/лабораторной работы или заданий,
 +
за которые была получена низкая оценка.

Текущая версия на 15:38, 22 октября 2023

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

Это страница обязательного курса «Программирование для всех (основы Python)», читаемого на программе «Прикладная политология» 1 курса магистратуры в 1 модуле 2023-2024 учебного года.

Преподаватель: Тамбовцева Алла Андреевна.

Правила игры и план курса

  • Программа курса, организационная презентация.
  • Формула оценки: 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 и Google Colab:

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

Неделя 1. Введение в Python. Переменные и типы данных. Ввод и вывод.

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

Лабораторная работа 1. Логические выражения и условные конструкции.

Для выполнения лабораторной работы необходимо самостоятельно познакомиться с конструкцией if-elif-else
и формулировкой логических выражений. Для этого (на выбор) можно:

  • Прослушать материал темы 2 Условия и логические выражения онлайн-курса «Python как иностранный».
  • Прочитать конспект лекции Логические выражения и условные конструкции.
  • Изучить материалы онлайн-учебника Pythontutor.
Лабораторная работа Задания Дедлайн Куда сдавать
Лабораторная работа 1 ipynb 19 сентября 18:00 ссылка на Dropbox

Неделя 2. Отладка кода. Списки и цикл for. Методы .split() и .join()

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

Лабораторная работа 2. Методы на строках и методы на списках.

Для выполнения лабораторной работы необходимо самостоятельно познакомиться с основными методами
на строках и списках. Для этого (на выбор) можно:

Лабораторная работа Задания Дедлайн Куда сдавать
Лабораторная работа 2 ipynb 26 сентября 18:00 ссылка на Dropbox

Неделя 3. Аналоги цикла for. Кортежи и словари.

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

Лабораторная работа 3. Цикл while.

Для выполнения лабораторной работы необходимо самостоятельно познакомиться с циклом while
и конструкцией цикл for + оператор break (последняя – по желанию). Для этого (на выбор) можно:

  • Прослушать материал темы 3 Цикл while онлайн-курса «Python как иностранный».
  • Прочитать конспект краткой лекции Цикл while и его альтернативы.
  • Изучить материалы онлайн-учебника Pythontutor: цикл while.
Лабораторная работа Задания Дедлайн Куда сдавать
Лабораторная работа 3 ipynb 03 октября 18:00 ссылка на Dropbox

Неделя 4. Словари и датафреймы pandas. Формат JSON и знакомство с API

Лабораторная работа 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).

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

Лабораторная работа 5. Работа с функциями.

Для выполнения лабораторной работы необходимо самостоятельно познакомиться с написанием функций в Python. Для этого (на выбор) можно:

  • Прослушать материал темы 8 Функции (достаточно первого раздела) онлайн-курса «Python как иностранный».
  • Прочитать конспект лекции Функции (для желающих – более подробная лекция И.В.Щурова).
Лабораторная работа Задания Дедлайн Куда сдавать
Лабораторная работа 5 ipynb 17 октября 18:00 ссылка на Dropbox

Неделя 6. Введение в парсинг с библиотекой BeautifulSoup

Домашние задания

Домашнее задание Задания Дедлайн Куда сдавать
Домашнее задание 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 – бонусное, необязательное для выполнения.
Оценку за него можно зачесть вместо пропущенного ДЗ/лабораторной работы или заданий, за которые была получена низкая оценка.