Основы программирования в Python: различия между версиями
(не показано 75 промежуточных версий этого же участника) | |||
Строка 4: | Строка 4: | ||
в 3-4 модулях '''2022-2023''' учебного года. | в 3-4 модулях '''2022-2023''' учебного года. | ||
− | Семинары ведёт: Тамбовцева Алла Андреевна. | + | Семинары ведёт: Тамбовцева Алла Андреевна, почта allatambov@gmail.com. |
− | + | Учебные ассистенты: Жужлев Борис (страница [http://vk.com/id213462596 vk]), Сташевски Эмиль. | |
== Правила игры == | == Правила игры == | ||
Строка 19: | Строка 19: | ||
Также есть возможность работать в Jupyter Notebook онлайн, используя ресурс [https://colab.research.google.com/ Google Colab] (для создания и редактирования файлов нужен аккаунт Gmail). Но в долгосрочной перспективе предпочтительнее установить Anaconda. | Также есть возможность работать в Jupyter Notebook онлайн, используя ресурс [https://colab.research.google.com/ Google Colab] (для создания и редактирования файлов нужен аккаунт Gmail). Но в долгосрочной перспективе предпочтительнее установить Anaconda. | ||
+ | |||
+ | == Материалы курса == | ||
+ | |||
+ | === Занятие 01 (16 января). Знакомство со средой Jupyter Notebook. Вычисления и переменные в Python. === | ||
+ | |||
+ | * [https://www.dropbox.com/s/srp7cpi0wze9p45/class01.mp4?dl=0 Видеозапись] занятия, сырые [https://www.dropbox.com/scl/fo/idjh4ub4m4tzx4kk8d9c6/h?dl=0&rlkey=3afsnv8ltpdvktiosi716srrg ipynb-файлы] с занятия. | ||
+ | * [https://allatambov.github.io/icef/seminars/instruction-JN.pdf Инструкция] по работе с Jupyter Notebook. Знакомство с 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]). | ||
+ | * Вычисления и переменные в Python ([https://nbviewer.org/github/allatambov/allatambov.github.io/blob/master/PyProgPerm/lectures/calc-variables.ipynb читать], [https://allatambov.github.io/PyProgPerm/lectures/calc-variables.ipynb ipynb]). | ||
+ | |||
+ | Дополнительно: | ||
+ | |||
+ | * Pythontutor: [https://pythontutor.ru/lessons/int_and_float/ вычисления]. | ||
+ | * [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]. | ||
+ | * Стандарты оформления кода Python: [https://peps.python.org/pep-0008/ PEP8], проверка соответствия кода стандартам: [http://pep8online.com/ PEP8 online check]. | ||
+ | * 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. | ||
+ | |||
+ | === Занятие 02 (23 января). Типы данных в Python. Ввод и вывод. === | ||
+ | |||
+ | * Сырые ipynb-файлы лекции с занятия: [https://www.dropbox.com/s/gwe57emr6z4wedp/class02-221.ipynb?dl=0 221], [https://www.dropbox.com/s/niihui3egx8wpcb/class02-222.ipynb?dl=0 222], [https://www.dropbox.com/s/w9lgtxxfbfheadf/class02-223.ipynb?dl=0 223]. | ||
+ | * Типы данных и преобразование типов. Ввод и вывод в Python ([https://github.com/allatambov/PyPolit2023/blob/main/types-input-output.ipynb читать], [https://www.dropbox.com/s/25xaxaodtwvklp8/types-input-output.ipynb?dl=0 ipynb]). | ||
+ | * Практикум 01 ([https://github.com/allatambov/PyPolit2023/blob/main/polit-practice01.ipynb читать], [https://www.dropbox.com/s/9vtvvqa7ks9f4sv/polit-practice01.ipynb?dl=0 ipynb]), решения практикума ([https://github.com/allatambov/PyPolit2023/blob/main/polit-practice01-solutions.ipynb читать], [https://www.dropbox.com/s/l3evva8e471gzxz/polit-practice01-solutions.ipynb?dl=0 ipynb]). | ||
+ | |||
+ | Дополнительно: | ||
+ | |||
+ | * Pythontutor: [https://pythontutor.ru/lessons/inout_and_arithmetic_operations/ ввод и вывод]. | ||
+ | * Работа с f-strings: [https://realpython.com/python-f-strings/ обзор], [https://peps.python.org/pep-0498/ документация]. | ||
+ | * Исполнение кода внутри строк с функцией eval(): [https://realpython.com/python-eval-function/ обзор]. | ||
+ | |||
+ | Для тех, кто всё это знает: | ||
+ | |||
+ | * Введение в объекты и в классы в Python: [https://nbviewer.org/github/allatambov/allatambov.github.io/blob/master/pydj/seminars/classes.ipynb лекция], [https://www.w3schools.com/python/python_classes.asp тьюториал]. | ||
+ | * Работа с текстами: [https://www.datacamp.com/tutorial/wordcloud-python облака слов] (''Set up a Basic WordCloud'', в text помещаем любую строку с текстом). | ||
+ | |||
+ | === Занятие 03 (30 января). Форматирование строк. Методы .split() и .join(). === | ||
+ | |||
+ | * Сырые ipynb-файлы лекции с занятия: [https://www.dropbox.com/s/odwiv7cavqqqazj/class03-221.ipynb?dl=0 221], [https://www.dropbox.com/s/jurqm34qi2jbm2r/class03-222.ipynb?dl=0 222], [https://www.dropbox.com/s/ggxmf8n1t025gvt/class03-223.ipynb?dl=0 223]. | ||
+ | * Форматирование строк. Методы .split() и .join() ([https://github.com/allatambov/PyPolit2023/blob/main/str-formatting.ipynb читать], [https://www.dropbox.com/s/cafp16hztcgbw71/str-formatting.ipynb?dl=0 ipynb]). | ||
+ | * Практикум 02 ([https://github.com/allatambov/PyPolit2023/blob/main/polit-practice02.ipynb читать], [https://www.dropbox.com/s/6uijj42kjlxbz6x/polit-practice02.ipynb?dl=0 ipynb]), решения практикума ([https://github.com/allatambov/PyPolit2023/blob/main/polit-practice02-solutions.ipynb читать], [https://www.dropbox.com/s/ntqn7dss9ntiqgl/polit-practice02-solutions.ipynb?dl=0 ipynb]). | ||
+ | |||
+ | === Занятие 04 (6 февраля). Списки и цикл for. === | ||
+ | |||
+ | * Сырые ipynb-файлы лекции с занятия: [https://www.dropbox.com/s/mmpi28rpm7y4lou/class04-221.ipynb?dl=0 221], [https://www.dropbox.com/s/2s5jks2uih6woah/class04-222.ipynb?dl=0 222], [https://www.dropbox.com/s/wkz2h6nzcf4426x/class04-223.ipynb?dl=0 223]. | ||
+ | * Списки и цикл for ([https://github.com/allatambov/PyPolit2023/blob/main/lists-for.ipynb читать], [https://www.dropbox.com/s/i7uuco8tcoerri7/lists-for.ipynb?dl=0 ipynb]). Методы на списках ([https://github.com/allatambov/PyPolit2023/blob/main/lists-methods.ipynb читать], [https://www.dropbox.com/s/fliw226sh7bu90r/lists-methods.ipynb?dl=0 ipynb]). | ||
+ | * Практикум 03 ([https://github.com/allatambov/PyPolit2023/blob/main/polit-practice03.ipynb читать], [https://www.dropbox.com/s/6eys5q9c81yxgbw/polit-practice03.ipynb?dl=0 ipynb]), решения практикума ([https://github.com/allatambov/PyPolit2023/blob/main/polit-practice03-solutions.ipynb читать], [https://www.dropbox.com/s/x2wpf8k08clt64i/polit-practice03-solutions.ipynb?dl=0 ipynb]). | ||
+ | |||
+ | Дополнительно: | ||
+ | |||
+ | * [https://pythontutor.com/visualize.html#mode=edit Визуализатор] кода от pythontutor.com. | ||
+ | * Pythontutor: [https://pythontutor.ru/lessons/lists/ списки], [https://pythontutor.ru/lessons/for_loop/ цикл for]. | ||
+ | |||
+ | === Занятие 05 (13 февраля). Списки и кортежи. Функции range() и zip().=== | ||
+ | |||
+ | * Сырые ipynb-файлы лекции с занятия: [https://www.dropbox.com/s/6z0ec370isw80jf/class05-221.ipynb?dl=0 221], [https://www.dropbox.com/s/zsmglxvnf9xs6f8/class05-222.ipynb?dl=0 222], [https://www.dropbox.com/s/4tvg6v6jpxekyzg/class05-223.ipynb?dl=0 223]. | ||
+ | * Функция range(), функция zip() и кортежи ([https://github.com/allatambov/PyPolit2023/blob/main/range-zip.ipynb читать], [https://www.dropbox.com/s/is82na0oykr8yy1/range-zip.ipynb?dl=0 ipynb]). | ||
+ | * Практикум 04 ([https://github.com/allatambov/PyPolit2023/blob/main/polit-practice04.ipynb читать], [https://www.dropbox.com/s/oicpdcbwbbrgtwd/polit-practice04.ipynb?dl=0 ipynb]), решения практикума ([https://github.com/allatambov/PyPolit2023/blob/main/polit-practice04-solutions.ipynb читать], [https://www.dropbox.com/s/miiaj4g3h0tl6bp/polit-practice04-solutions.ipynb?dl=0 ipynb]). | ||
+ | |||
+ | === Занятие 06 (17 февраля). Списки, кортежи, массивы. Методы на строках.=== | ||
+ | |||
+ | * Сырые ipynb-файлы лекции с занятия: [https://www.dropbox.com/s/1exy0pyspvd19w7/class06-221.ipynb?dl=0 221], [https://www.dropbox.com/s/rmck0r4daza6ovp/class06-222.ipynb?dl=0 222], [https://www.dropbox.com/s/3db67qwu9c7s1xy/class06-223.ipynb?dl=0 223]. | ||
+ | * Кортежи и массивы ([https://github.com/allatambov/PyPolit2023/blob/main/tuples-arrays.ipynb читать], [https://www.dropbox.com/s/xnon71n3f10ljr9/tuples-arrays.ipynb?dl=0 ipynb]). Методы на строках ([https://github.com/allatambov/PyPolit2023/blob/main/str-methods.ipynb читать], [https://www.dropbox.com/s/t0sy2sa46bcwznf/str-methods.ipynb?dl=0 ipynb]). | ||
+ | * Практикум 05 ([https://github.com/allatambov/PyPolit2023/blob/main/polit-practice05.ipynb читать], [https://www.dropbox.com/s/3q5ked6ongrq7ax/polit-practice05.ipynb?dl=0 ipynb]), решения ([https://github.com/allatambov/PyPolit2023/blob/main/polit-practice05-solutions.ipynb читать], [https://www.dropbox.com/s/nswn46kama7lcwf/polit-practice05-solutions.ipynb?dl=0 ipynb]). | ||
+ | * Библиотека [https://pymorphy2.readthedocs.io/en/stable/ pymorphy2] для морфологического разбора и нормализации слов. | ||
+ | |||
+ | Дополнительно: | ||
+ | |||
+ | * Работа с текстами: [https://www.datacamp.com/tutorial/wordcloud-python облака слов], пример [https://github.com/stopwords-iso/stopwords-ru/blob/master/stopwords-ru.txt списка] стоп-слов для русского языка. | ||
+ | |||
+ | === Занятие 07 (27 февраля). Чтение и запись txt-файлов. Условные конструкции: введение.=== | ||
+ | |||
+ | * Сырые ipynb-файлы лекции с занятия: [https://www.dropbox.com/s/s2rwbo0tisfc0wk/221.ipynb?dl=0 221], [https://www.dropbox.com/s/vt9isy0j9bm8sv9/222.ipynb?dl=0 222], [https://www.dropbox.com/s/nigk64rrwqwhr2x/223.ipynb?dl=0 223]. | ||
+ | * Чтение и запись txt-файлов ([https://github.com/allatambov/PyPolit2023/blob/main/txt-files.ipynb читать], [https://www.dropbox.com/s/kqpsqm3sgpdbukw/txt-files.ipynb?dl=0 ipynb]). | ||
+ | * Практикум 06 ([https://github.com/allatambov/PyPolit2023/blob/main/polit-practice06.ipynb читать], [https://www.dropbox.com/s/7ek0tq61k8feagh/polit-practice06.ipynb?dl=0 ipynb]), решения ([https://github.com/allatambov/PyPolit2023/blob/main/polit-practice06-solutions.ipynb читать], [https://www.dropbox.com/s/0ti2lobr92wx7xk/polit-practice06-solutions.ipynb?dl=0 ipynb]). Файлы: [https://www.dropbox.com/s/himcx9m1qjtwm9t/intro.txt?dl=0 intro.txt], [https://www.dropbox.com/s/psx0zigb2p2qlze/ducks.txt?dl=0 ducks.txt]. | ||
+ | |||
+ | === Занятие 08 (6 марта). Условные конструкции и цикл while.=== | ||
+ | |||
+ | * Сырые ipynb-файлы лекции с занятия: [https://www.dropbox.com/s/qpx4ubb3l1mbh59/221.ipynb?dl=0 221], [https://www.dropbox.com/s/4ltbuygk6meuris/222.ipynb?dl=0 222], [https://www.dropbox.com/s/h3bi1wn8m8yv92w/223.ipynb?dl=0 223]. | ||
+ | * Логические выражения и условные конструкции ([https://github.com/allatambov/PyPolit2023/blob/main/testing-conditions.ipynb читать], [https://www.dropbox.com/s/4qetib6jgns80zb/testing-conditions.ipynb?dl=0 ipynb]). Цикл while ([https://github.com/allatambov/PyPolit2023/blob/main/while-loop.ipynb читать], [https://www.dropbox.com/s/a9mdoif1er75t9k/while-loop.ipynb?dl=0 ipynb]). | ||
+ | * Практикум 07 [https://github.com/allatambov/PyPolit2023/blob/main/polit-practice07.ipynb читать], [https://www.dropbox.com/s/tde45zpf3zr36mp/polit-practice07.ipynb?dl=0 ipynb], решения практикума ([https://github.com/allatambov/PyPolit2023/blob/main/polit-practice07-solutions.ipynb читать], [https://www.dropbox.com/s/udv4635nfluexee/polit-practice07-solutions.ipynb?dl=0 ipynb]). | ||
+ | |||
+ | Дополнительно: | ||
+ | |||
+ | * Pythontutor: [https://pythontutor.ru/lessons/ifelse/ условия], [https://pythontutor.ru/lessons/while/ цикл while]. | ||
+ | * Конструкция try-except для ловли ошибок ([https://pythonworld.ru/tipy-dannyx-v-python/isklyucheniya-v-python-konstrukciya-try-except-dlya-obrabotki-isklyuchenij.html статья]). | ||
+ | * Операции continue и pass и циклах ([https://www.geeksforgeeks.org/difference-between-continue-and-pass-statements-in-python/ статья]). | ||
+ | |||
+ | === Занятие 09 (13 марта). Повторение. Множества. === | ||
+ | |||
+ | * Сырые ipynb-файлы с занятий: [https://www.dropbox.com/s/98lvpc1jl0jdjgf/221.ipynb?dl=0 221], [https://www.dropbox.com/s/md020yqf95ysbwi/222.ipynb?dl=0 222], [https://www.dropbox.com/s/a0hy630r3i35yut/223.ipynb?dl=0 223]. | ||
+ | * Множества (читать, ipynb). | ||
+ | * Практикум 08 ([https://github.com/allatambov/PyPolit2023/blob/main/polit-practice08.ipynb читать], [https://www.dropbox.com/s/xz416hs36ou9aep/polit-practice08.ipynb?dl=0 ipynb]), решения практикума ([https://github.com/allatambov/PyPolit2023/blob/main/polit-practice08-solutions.ipynb читать], [https://www.dropbox.com/s/1lbm08kapc1tt1g/polit-practice08-solutions.ipynb?dl=0 ipynb]). | ||
+ | |||
+ | Дополнительно: | ||
+ | |||
+ | * Pythontutor: [https://pythontutor.ru/lessons/sets/ множества]. | ||
+ | |||
+ | === Занятие 10 (20 марта). Словари. === | ||
+ | |||
+ | * Сырые ipynb-файлы с занятий: [https://www.dropbox.com/s/9qxz5qiw88yk8gk/221_223.ipynb?dl=0 221], [https://www.dropbox.com/s/guwuk96g6ai53c1/222.ipynb?dl=0 222], [https://www.dropbox.com/s/9qxz5qiw88yk8gk/221_223.ipynb?dl=0 223]. | ||
+ | * Словари ([https://github.com/allatambov/PyPolit2023/blob/main/dicts.ipynb читать], [https://www.dropbox.com/s/fn4ysptfqt6oxp4/dicts.ipynb?dl=0 ipynb]). | ||
+ | * Практикум 09 ([https://github.com/allatambov/PyPolit2023/blob/main/polit-practice09.ipynb читать], [https://www.dropbox.com/s/dzvsqd98s4iny6w/polit-practice09.ipynb?dl=0 ipynb]), решения практикума ([https://github.com/allatambov/PyPolit2023/blob/main/polit-practice09-solutions.ipynb читать], [https://www.dropbox.com/s/jf296wa99ap9u3z/polit-practice09-solutions.ipynb?dl=0 ipynb]). | ||
+ | |||
+ | Дополнительно: | ||
+ | |||
+ | * Pythontutor: [https://pythontutor.ru/lessons/dicts/ словари] | ||
+ | * Формат [https://www.w3schools.com/js/js_json_intro.asp JSON], модуль json в Python: [https://www.w3schools.com/python/python_json.asp тьюториал], [https://docs.python.org/3/library/json.html документация] | ||
+ | |||
+ | === Занятие 11 (3 апреля). Функции. === | ||
+ | |||
+ | * Сырые ipynb-файлы с занятий: [https://www.dropbox.com/s/vncjqi25egurbco/221.ipynb?dl=0 221], [https://www.dropbox.com/s/8mj3krpswezamox/222.ipynb?dl=0 222], [https://www.dropbox.com/s/7ya1at2g6qak3yu/223.ipynb?dl=0 223]. | ||
+ | * Функции ([https://github.com/allatambov/PyPolit2023/blob/main/functions-short.ipynb читать], [https://www.dropbox.com/s/49ht0rfj45f71te/functions-short.ipynb?dl=0 ipynb]). Более подробная [https://nbviewer.org/github/ischurov/pythonhse/blob/master/Lecture%204.ipynb лекция] по функциям (автор И.В.Щуров). | ||
+ | * Практикум 10 ([https://github.com/allatambov/PyPolit2023/blob/main/polit-practice10.ipynb читать], [https://www.dropbox.com/s/v8r3fczrkc5jtd0/polit-practice10.ipynb?dl=0 ipynb]), решения практикума ([https://github.com/allatambov/PyPolit2023/blob/main/polit-practice10-solutions.ipynb читать], [https://www.dropbox.com/s/l5008vpqy17isy2/polit-practice10-solutions.ipynb?dl=0 ipynb]). | ||
+ | |||
+ | Дополнительно: | ||
+ | |||
+ | * Pythontutor: [https://pythontutor.ru/lessons/functions/ функции] | ||
+ | * Lambda-функции: [https://github.com/allatambov/PyICEF-2023/blob/main/lambda-functions.ipynb конспект] | ||
+ | * Создание модулей и библиотек в Python: [https://packaging.python.org/en/latest/tutorials/packaging-projects/ документация] | ||
+ | |||
+ | === Занятие 12 (10 апреля). Lambda-функции. Повторение. === | ||
+ | |||
+ | * Сырые ipynb-файлы с занятий: [https://www.dropbox.com/s/4hz334ozatm9o3f/221.ipynb?dl=0 221], [https://www.dropbox.com/s/ggo872btmojrnbd/222.ipynb?dl=0 222], [https://www.dropbox.com/s/ylue40l52ooubwj/223.ipynb?dl=0 223]. | ||
+ | * Lambda-функции, анонимные функции (читать, ipynb). | ||
+ | * Практикум 11 ([https://github.com/allatambov/PyPolit2023/blob/main/polit-practice11.ipynb читать], [https://www.dropbox.com/s/rschmfq86ev7gk8/polit-practice11.ipynb?dl=0 ipynb]), решения практикума ([https://github.com/allatambov/PyPolit2023/blob/main/polit-practice11-solutions.ipynb читать], [https://www.dropbox.com/s/haussafhusj4aum/polit-practice11-solutions.ipynb?dl=0 ipynb]). | ||
+ | |||
+ | === Занятие 13 (17 апреля). Повторение: чтение и запись файлов === | ||
+ | |||
+ | * Практикум 12 ([https://github.com/allatambov/PyPolit2023/blob/main/polit-practice12.ipynb читать], [https://www.dropbox.com/s/gkawtf3rwgxy9ma/polit-practice12.ipynb?dl=0 ipynb]), решения практикума ([https://github.com/allatambov/PyPolit2023/blob/main/polit-practice12-solutions.ipynb читать], [https://www.dropbox.com/s/30sc32owzdbbyw2/polit-practice12-solutions.ipynb?dl=0 ipynb]). | ||
+ | |||
+ | === Занятие 14 (24 апреля). Введение в HTML. Знакомство с библиотекой BeautifulSoup === | ||
+ | |||
+ | * Знакомство с HTML ([https://www.dropbox.com/s/yhdffw8qo1rpulo/Intro_HTML.pdf?dl=0 слайды]). | ||
+ | * Вспомогательный практикум по введению в BeautifulSoup: [https://github.com/allatambov/PyPolit2023/blob/main/parse-intro.ipynb читать], [https://www.dropbox.com/s/skppt9ug4memglz/parse-intro.ipynb?dl=0 ipynb]. | ||
+ | * Практикум по парсингу HTML с BeautifulSoup ([https://github.com/allatambov/PyPolit2023/blob/main/pypolit-practice-bs01.ipynb читать], [https://www.dropbox.com/s/bkjph1dneiuuq66/pypolit-practice-bs01.ipynb?dl=0 ipynb]), решения ([https://github.com/allatambov/PyPolit2023/blob/main/pypolit-practice-bs01-solutions.ipynb читать], [https://www.dropbox.com/s/d2qc5odryedfihm/pypolit-practice-bs01-solutions.ipynb?dl=0 ipynb]). | ||
+ | |||
+ | Дополнительно: | ||
+ | |||
+ | * [https://www.w3schools.com/html/default.asp Тьюториал] по HTML от W3schools. | ||
+ | * Сайт [https://codepen.io/ codepen.io] для фронт-энд разработчиков. | ||
+ | |||
+ | === Занятие 15 (22 мая). Продолжение знакомства с библиотекой BeautifulSoup === | ||
+ | |||
+ | * Практикум по парсингу HTML с BeautifulSoup: обновленные решения ([https://github.com/allatambov/PyPolit2023/blob/main/pypolit-practice-bs01-solutions-upd.ipynb читать], [https://www.dropbox.com/s/1ia39uppd88gc4q/pypolit-practice-bs01-solutions-upd.ipynb?dl=0 скачать]). | ||
+ | |||
+ | === Занятие 16 (29 мая). Подключение к API на примере ВКонтакте === | ||
+ | |||
+ | * [https://allatambov.github.io/pypolit/vk-auth.pdf Инструкция] по получению доступа к API. | ||
+ | * Практикум по работе с API ВКонтакте: ([https://github.com/allatambov/PyPolit2023/blob/main/pypolit-practice16.ipynb читать], [https://www.dropbox.com/s/t5ztufcd9h765dp/pypolit-practice16.ipynb?dl=0 скачать]). | ||
+ | |||
+ | == Домашние задания == | ||
+ | |||
+ | * Решения домашнего задания №1 необходимо загрузить в папку Dropbox по предложенным ссылкам (отдельная ссылка для каждой группы). | ||
+ | * Последующие домашние задания сдаются через систему [http://python.math-hse.info python.math-info], [https://www.dropbox.com/s/29rijoaqhlgnfdk/system-intro.mp4?dl=0 видео-инструкция] по работе с системой. | ||
+ | |||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | ! Домашнее задание !! Дедлайн | ||
+ | |- | ||
+ | | [https://nbviewer.org/github/allatambov/PyPolit2023/blob/main/hw01.ipynb Домашнее задание 1]|| 23.01 12:00, загружать сюда: [https://www.dropbox.com/request/OAJyiQMhXSfq7R0a3Y0z 221], [https://www.dropbox.com/request/HPmkqx9O8CxeAwERhqo0 222], [https://www.dropbox.com/request/dutqgl1LBoKRBJD9NQXx 223] | ||
+ | |- | ||
+ | | [https://nbviewer.org/url/python.math-hse.info/static/assignments_release/pypolit23/pypolit-hw02/pypolit-hw02.ipynb Домашнее задание 2]|| 04.02 23:59, сдается через систему | ||
+ | |- | ||
+ | | [https://nbviewer.org/url/python.math-hse.info/static/assignments_release/pypolit23/pypolit-hw03/pypolit-hw03.ipynb Домашнее задание 3]|| 16.02 23:59, сдается через систему | ||
+ | |- | ||
+ | | [https://nbviewer.org/url/python.math-hse.info/static/assignments_release/pypolit23/pyall-hw04/pyall-hw04.ipynb Домашнее задание 4]|| 27.02 23:59, сдается через систему | ||
+ | |- | ||
+ | | [https://nbviewer.org/url/python.math-hse.info/static/assignments_release/pypolit23/pypolit-hw05/pypolit-hw05.ipynb Домашнее задание 5] [https://www.dropbox.com/s/xmgzi3a8787uj5x/pesem.txt?dl=0 pesem.txt] || 20.03 23:59, сдается через систему, | ||
+ | |- | ||
+ | | [https://nbviewer.org/url/python.math-hse.info/static/assignments_release/pypolit23/pypolit-hw06/pypolit-hw06.ipynb Домашнее задание 6] || 10.04 23:59, сдается через систему | ||
+ | |- | ||
+ | | Домашнее задание 7: [https://www.dropbox.com/s/u2nw2og9xiokeje/pypolit-hw07-partA.pdf?dl=0 часть A], [https://nbviewer.org/url/python.math-hse.info/static/assignments_release/pypolit23/pypolit-hw07/pypolit-hw07.ipynb часть BC]|| 30.04 23:59, сдается через Google Forms и систему | ||
+ | |- | ||
+ | | [https://nbviewer.org/url/python.math-hse.info/static/assignments_release/pypolit23/pypolit-hw08/pypolit-hw08.ipynb Домашнее задание 8] || 09.06 23:59, сдается через систему | ||
+ | |- | ||
+ | | [https://nbviewer.org/url/python.math-hse.info/static/assignments_release/pypolit23/pypolit-hw09/pypolit-hw09.ipynb Домашнее задание 9]|| 20.06 23:59, сдается через систему | ||
+ | |- | ||
+ | |} | ||
+ | |||
+ | == Подготовка к независимому экзамену == | ||
+ | |||
+ | '''Официальная информация''' | ||
+ | |||
+ | * Студенты ОП «Политология» сдают независимый экзамен по программированию базового уровня (сложнее, чем начальный). | ||
+ | * Экзамен запланирован на 4 модуль, с 15 по 17 мая. Экзамен проходит в LMS, проводится с прокторингом. Во время выполнения экзамена разрешается пользоваться официальной шпаргалкой, доступной по ссылке в LMS. На экзамене не разрешается пользоваться облачными средами для работы типа Google Colab, но разрешается пользоваться стандартными средами для запуска кода Jupyter Notebook, PyCharm, VSCode. | ||
+ | * Для подготовки рекомендуется использовать материалы курса [https://edu.hse.ru/course/view.php?id=133389 «Python как иностранный»], а также открытый банк заданий и демоверсию экзамена из [https://edu.hse.ru/course/view.php?id=133391 официальных материалов] для подготовки. У разработчиков экзамена есть [https://t.me/+i61HquLFmHhhMWJi телеграм-канал], в котором публикуется полезная информация к экзамену, задачи и их разбор. |
Текущая версия на 03:30, 14 июня 2023
Дорогие студенты!
Это страница обязательного курса «Основы программирования в Python», читаемого на образовательной программе «Политология» 1 курса бакалавриата
в 3-4 модулях 2022-2023 учебного года.
Семинары ведёт: Тамбовцева Алла Андреевна, почта allatambov@gmail.com.
Учебные ассистенты: Жужлев Борис (страница vk), Сташевски Эмиль.
Содержание
- 1 Правила игры
- 2 Программное обеспечение
- 3 Материалы курса
- 3.1 Занятие 01 (16 января). Знакомство со средой Jupyter Notebook. Вычисления и переменные в Python.
- 3.2 Занятие 02 (23 января). Типы данных в Python. Ввод и вывод.
- 3.3 Занятие 03 (30 января). Форматирование строк. Методы .split() и .join().
- 3.4 Занятие 04 (6 февраля). Списки и цикл for.
- 3.5 Занятие 05 (13 февраля). Списки и кортежи. Функции range() и zip().
- 3.6 Занятие 06 (17 февраля). Списки, кортежи, массивы. Методы на строках.
- 3.7 Занятие 07 (27 февраля). Чтение и запись txt-файлов. Условные конструкции: введение.
- 3.8 Занятие 08 (6 марта). Условные конструкции и цикл while.
- 3.9 Занятие 09 (13 марта). Повторение. Множества.
- 3.10 Занятие 10 (20 марта). Словари.
- 3.11 Занятие 11 (3 апреля). Функции.
- 3.12 Занятие 12 (10 апреля). Lambda-функции. Повторение.
- 3.13 Занятие 13 (17 апреля). Повторение: чтение и запись файлов
- 3.14 Занятие 14 (24 апреля). Введение в HTML. Знакомство с библиотекой BeautifulSoup
- 3.15 Занятие 15 (22 мая). Продолжение знакомства с библиотекой BeautifulSoup
- 3.16 Занятие 16 (29 мая). Подключение к API на примере ВКонтакте
- 4 Домашние задания
- 5 Подготовка к независимому экзамену
Правила игры
- Формула оценки: Итог = 0.4 * Домашнее задание + 0.3 * Тест + 0.3 * Экзамен, где Домашнее задание и Тест – неокруглённые средние арифметические за все домашние задания и тесты соответственно, а Экзамен – целочисленная оценка за экзамен. Всего планируется 10 домашних заданий и 3 теста.
- Пояснения по формам контроля можно посмотреть в программе курса.
- При сдаче домашнего задания позже указанного срока предусмотрены штрафы. Опоздание в пределах часа ведёт к штрафу 10% от полученной оценки, в пределах суток – к штрафу 30%, в пределах недели – к штрафу 60%.
Программное обеспечение
Перед занятиями необходимо установить дистрибутив Anaconda (скачать можно здесь), который включает в себя интерпретатор языка Python, библиотеки для обработки, анализа и визуализации данных, а также среду для работы Jupyter Notebook.
Также есть возможность работать в Jupyter Notebook онлайн, используя ресурс Google Colab (для создания и редактирования файлов нужен аккаунт Gmail). Но в долгосрочной перспективе предпочтительнее установить Anaconda.
Материалы курса
Занятие 01 (16 января). Знакомство со средой Jupyter Notebook. Вычисления и переменные в Python.
- Видеозапись занятия, сырые ipynb-файлы с занятия.
- Инструкция по работе с Jupyter Notebook. Знакомство с Jupyter Notebook и Markdown (читать, ipynb).
- Вычисления и переменные в Python (читать, ipynb).
Дополнительно:
- Pythontutor: вычисления.
- Вычисления с заданной точностью с модулем decimal, официальная документация decimal.
- Вычисления с обыкновенными дробями с модулем fractions, официальная документация fractions.
- Символьные вычисления с sympy: часть 1 (sympy-1.ipynb), часть 2 (sympy-2.ipynb), официальная документация sympy.
- Стандарты оформления кода Python: PEP8, проверка соответствия кода стандартам: PEP8 online check.
- Markdown и Jupyter: больше про Markdown, интерактивные виджеты в Jupyter.
Занятие 02 (23 января). Типы данных в Python. Ввод и вывод.
- Сырые ipynb-файлы лекции с занятия: 221, 222, 223.
- Типы данных и преобразование типов. Ввод и вывод в Python (читать, ipynb).
- Практикум 01 (читать, ipynb), решения практикума (читать, ipynb).
Дополнительно:
- Pythontutor: ввод и вывод.
- Работа с f-strings: обзор, документация.
- Исполнение кода внутри строк с функцией eval(): обзор.
Для тех, кто всё это знает:
- Введение в объекты и в классы в Python: лекция, тьюториал.
- Работа с текстами: облака слов (Set up a Basic WordCloud, в text помещаем любую строку с текстом).
Занятие 03 (30 января). Форматирование строк. Методы .split() и .join().
- Сырые ipynb-файлы лекции с занятия: 221, 222, 223.
- Форматирование строк. Методы .split() и .join() (читать, ipynb).
- Практикум 02 (читать, ipynb), решения практикума (читать, ipynb).
Занятие 04 (6 февраля). Списки и цикл for.
- Сырые ipynb-файлы лекции с занятия: 221, 222, 223.
- Списки и цикл for (читать, ipynb). Методы на списках (читать, ipynb).
- Практикум 03 (читать, ipynb), решения практикума (читать, ipynb).
Дополнительно:
- Визуализатор кода от pythontutor.com.
- Pythontutor: списки, цикл for.
Занятие 05 (13 февраля). Списки и кортежи. Функции range() и zip().
- Сырые ipynb-файлы лекции с занятия: 221, 222, 223.
- Функция range(), функция zip() и кортежи (читать, ipynb).
- Практикум 04 (читать, ipynb), решения практикума (читать, ipynb).
Занятие 06 (17 февраля). Списки, кортежи, массивы. Методы на строках.
- Сырые ipynb-файлы лекции с занятия: 221, 222, 223.
- Кортежи и массивы (читать, ipynb). Методы на строках (читать, ipynb).
- Практикум 05 (читать, ipynb), решения (читать, ipynb).
- Библиотека pymorphy2 для морфологического разбора и нормализации слов.
Дополнительно:
- Работа с текстами: облака слов, пример списка стоп-слов для русского языка.
Занятие 07 (27 февраля). Чтение и запись txt-файлов. Условные конструкции: введение.
- Сырые ipynb-файлы лекции с занятия: 221, 222, 223.
- Чтение и запись txt-файлов (читать, ipynb).
- Практикум 06 (читать, ipynb), решения (читать, ipynb). Файлы: intro.txt, ducks.txt.
Занятие 08 (6 марта). Условные конструкции и цикл while.
- Сырые ipynb-файлы лекции с занятия: 221, 222, 223.
- Логические выражения и условные конструкции (читать, ipynb). Цикл while (читать, ipynb).
- Практикум 07 читать, ipynb, решения практикума (читать, ipynb).
Дополнительно:
- Pythontutor: условия, цикл while.
- Конструкция try-except для ловли ошибок (статья).
- Операции continue и pass и циклах (статья).
Занятие 09 (13 марта). Повторение. Множества.
- Сырые ipynb-файлы с занятий: 221, 222, 223.
- Множества (читать, ipynb).
- Практикум 08 (читать, ipynb), решения практикума (читать, ipynb).
Дополнительно:
- Pythontutor: множества.
Занятие 10 (20 марта). Словари.
- Сырые ipynb-файлы с занятий: 221, 222, 223.
- Словари (читать, ipynb).
- Практикум 09 (читать, ipynb), решения практикума (читать, ipynb).
Дополнительно:
- Pythontutor: словари
- Формат JSON, модуль json в Python: тьюториал, документация
Занятие 11 (3 апреля). Функции.
- Сырые ipynb-файлы с занятий: 221, 222, 223.
- Функции (читать, ipynb). Более подробная лекция по функциям (автор И.В.Щуров).
- Практикум 10 (читать, ipynb), решения практикума (читать, ipynb).
Дополнительно:
- Pythontutor: функции
- Lambda-функции: конспект
- Создание модулей и библиотек в Python: документация
Занятие 12 (10 апреля). Lambda-функции. Повторение.
- Сырые ipynb-файлы с занятий: 221, 222, 223.
- Lambda-функции, анонимные функции (читать, ipynb).
- Практикум 11 (читать, ipynb), решения практикума (читать, ipynb).
Занятие 13 (17 апреля). Повторение: чтение и запись файлов
Занятие 14 (24 апреля). Введение в HTML. Знакомство с библиотекой BeautifulSoup
- Знакомство с HTML (слайды).
- Вспомогательный практикум по введению в BeautifulSoup: читать, ipynb.
- Практикум по парсингу HTML с BeautifulSoup (читать, ipynb), решения (читать, ipynb).
Дополнительно:
- Тьюториал по HTML от W3schools.
- Сайт codepen.io для фронт-энд разработчиков.
Занятие 15 (22 мая). Продолжение знакомства с библиотекой BeautifulSoup
Занятие 16 (29 мая). Подключение к API на примере ВКонтакте
- Инструкция по получению доступа к API.
- Практикум по работе с API ВКонтакте: (читать, скачать).
Домашние задания
- Решения домашнего задания №1 необходимо загрузить в папку Dropbox по предложенным ссылкам (отдельная ссылка для каждой группы).
- Последующие домашние задания сдаются через систему python.math-info, видео-инструкция по работе с системой.
Домашнее задание | Дедлайн |
---|---|
Домашнее задание 1 | 23.01 12:00, загружать сюда: 221, 222, 223 |
Домашнее задание 2 | 04.02 23:59, сдается через систему |
Домашнее задание 3 | 16.02 23:59, сдается через систему |
Домашнее задание 4 | 27.02 23:59, сдается через систему |
Домашнее задание 5 pesem.txt | 20.03 23:59, сдается через систему, |
Домашнее задание 6 | 10.04 23:59, сдается через систему |
Домашнее задание 7: часть A, часть BC | 30.04 23:59, сдается через Google Forms и систему |
Домашнее задание 8 | 09.06 23:59, сдается через систему |
Домашнее задание 9 | 20.06 23:59, сдается через систему |
Подготовка к независимому экзамену
Официальная информация
- Студенты ОП «Политология» сдают независимый экзамен по программированию базового уровня (сложнее, чем начальный).
- Экзамен запланирован на 4 модуль, с 15 по 17 мая. Экзамен проходит в LMS, проводится с прокторингом. Во время выполнения экзамена разрешается пользоваться официальной шпаргалкой, доступной по ссылке в LMS. На экзамене не разрешается пользоваться облачными средами для работы типа Google Colab, но разрешается пользоваться стандартными средами для запуска кода Jupyter Notebook, PyCharm, VSCode.
- Для подготовки рекомендуется использовать материалы курса «Python как иностранный», а также открытый банк заданий и демоверсию экзамена из официальных материалов для подготовки. У разработчиков экзамена есть телеграм-канал, в котором публикуется полезная информация к экзамену, задачи и их разбор.