Программирование для всех (основы Python): различия между версиями
(не показано 38 промежуточных версий этого же участника) | |||
Строка 42: | Строка 42: | ||
* [https://www.dropbox.com/scl/fo/7imtuortunv6tecijywue/h?rlkey=2ce7fogtfdcmj8vb84on17oem&dl=0 Видеозаписи] занятий и ipynb-файлы. | * [https://www.dropbox.com/scl/fo/7imtuortunv6tecijywue/h?rlkey=2ce7fogtfdcmj8vb84on17oem&dl=0 Видеозаписи] занятий и ipynb-файлы. | ||
− | * Вычисления в Python (читать, [https://www.dropbox.com/scl/fi/fh93w4sqt1zyqwcgbeh8n/01-calculations.ipynb?rlkey=mzs1ajomwl7vsr75ggan1c15z&dl=0 ipynb]). Переменные и типы данных (читать, [https://www.dropbox.com/scl/fi/o5c56bb6btw90m75udo2v/02-variables-types.ipynb?rlkey=3uxa9zgbbuajc8augz9qre0ip&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://www.dropbox.com/scl/fi/3zwbvurhpu33wrtsn9pyw/03-input-output.ipynb?rlkey=gjobha5soiiee1cvqf07xytp4&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]), решения (читать, 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]). |
Дополнительно: | Дополнительно: | ||
Строка 53: | Строка 53: | ||
* [https://pyprog.pro/python/st_lib/decimal.html Вычисления] с заданной точностью с модулем decimal, официальная документация [https://docs.python.org/3/library/decimal.html decimal]. | * [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]. | * [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]. | + | * Символьные вычисления с 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. Логические выражения и условные конструкции. === | === Лабораторная работа 1. Логические выражения и условные конструкции. === | ||
Строка 71: | Строка 71: | ||
|- | |- | ||
|} | |} | ||
+ | |||
+ | === Неделя 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§ion=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§ion=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§ion=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§ion=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]). | ||
== Домашние задания == | == Домашние задания == | ||
Строка 78: | Строка 194: | ||
! Домашнее задание !! Задания !! Дедлайн !! Куда сдавать | ! Домашнее задание !! Задания !! Дедлайн !! Куда сдавать | ||
|- | |- | ||
− | | Домашнее задание 1 || ipynb | + | | [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 учебного года.
Преподаватель: Тамбовцева Алла Андреевна.
Содержание
- 1 Правила игры и план курса
- 2 Программное обеспечение
- 3 Материалы и лабораторные работы
- 3.1 Неделя 0. Подготовка к работе. Настройка рабочего места.
- 3.2 Неделя 1. Введение в Python. Переменные и типы данных. Ввод и вывод.
- 3.3 Лабораторная работа 1. Логические выражения и условные конструкции.
- 3.4 Неделя 2. Отладка кода. Списки и цикл for. Методы .split() и .join()
- 3.5 Лабораторная работа 2. Методы на строках и методы на списках.
- 3.6 Неделя 3. Аналоги цикла for. Кортежи и словари.
- 3.7 Лабораторная работа 3. Цикл while.
- 3.8 Неделя 4. Словари и датафреймы pandas. Формат JSON и знакомство с API
- 3.9 Лабораторная работа 4. Работа с текстовыми файлами.
- 3.10 Неделя 5. Работа с данными с датафреймом pandas.
- 3.11 Лабораторная работа 5. Работа с функциями.
- 3.12 Неделя 6. Введение в парсинг с библиотекой BeautifulSoup
- 4 Домашние задания
Правила игры и план курса
- Программа курса, организационная презентация.
- Формула оценки: 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.
- Видео. Первая программа, задачи для тренировки.
А также с материалами по работе в Jupyter Notebook и Google Colab:
- Запуск Jupyter без Anaconda Navigator (инструкция).
- Работа в Jupyter Notebook (видео), работа в Google Colab (видео).
Дополнительно:
- Набор текста в Jupyter (видео, ipynb).
- Markdown: больше про Markdown, знакомство с Jupyter Notebook и Markdown (читать, ipynb).
- LaTeX: Overleaf, документация, материалы других курсов по LaTeX.
Неделя 1. Введение в Python. Переменные и типы данных. Ввод и вывод.
- Видеозаписи занятий и ipynb-файлы.
- Вычисления в Python (читать, ipynb). Переменные и типы данных (читать, ipynb).
- Ввод и вывод, форматирование строк (читать, ipynb).
- Практикум 1 (читать, ipynb), решения (читать, ipynb).
Дополнительно:
- Pythontutor: визуализатор кода, вычисления, ввод и вывод.
- Интерактивные виджеты в Jupyter (альтернатива стандартному вводу и не только).
- Стандарты оформления кода Python: PEP8.
- Вычисления с заданной точностью с модулем decimal, официальная документация decimal.
- Вычисления с обыкновенными дробями с модулем fractions, официальная документация fractions.
- Символьные вычисления с sympy: часть 1 (sympy-1.ipynb), часть 2 (sympy-2.ipynb), официальная документация sympy.
Лабораторная работа 1. Логические выражения и условные конструкции.
Для выполнения лабораторной работы необходимо самостоятельно познакомиться с конструкцией if-elif-else
и формулировкой логических выражений.
Для этого (на выбор) можно:
- Прослушать материал темы 2 Условия и логические выражения онлайн-курса «Python как иностранный».
- Прочитать конспект лекции Логические выражения и условные конструкции.
- Изучить материалы онлайн-учебника Pythontutor.
Лабораторная работа | Задания | Дедлайн | Куда сдавать |
---|---|---|---|
Лабораторная работа 1 | ipynb | 19 сентября 18:00 | ссылка на Dropbox |
Неделя 2. Отладка кода. Списки и цикл for. Методы .split() и .join()
- Видеозаписи занятий и ipynb-файлы.
- Отладка кода: виды ошибок и ловля исключений с try-except (читать, ipynb).
- Списки, цикл for и функция range() (читать, ipynb).
- Методы .split() и .join() (читать, ipynb).
- Практикум 2 (читать, ipynb), решения (читать, ipynb).
Дополнительно:
- Официальная документация по ошибкам и исключениям, перечень исключений.
- Pythontutor: визуализатор кода.
- Pythontutor: цикл for, списки, строки.
Лабораторная работа 2. Методы на строках и методы на списках.
Для выполнения лабораторной работы необходимо самостоятельно познакомиться с основными методами
на строках и списках.
Для этого (на выбор) можно:
- Прослушать материал темы 5 Методы онлайн-курса «Python как иностранный».
- Прочитать конспект лекции Методы на строках, конспект лекции Методы на списках.
- Изучить материалы онлайн-учебника Pythontutor: цикл for, строки, списки, split(), join().
Лабораторная работа | Задания | Дедлайн | Куда сдавать |
---|---|---|---|
Лабораторная работа 2 | ipynb | 26 сентября 18:00 | ссылка на Dropbox |
Неделя 3. Аналоги цикла for. Кортежи и словари.
- Видеозаписи занятий и ipynb-файлы.
- Аналоги цикла for: списковые включения, функция map(), числовые массивы (читать, ipynb).
- Кортежи, функция zip() и словари (читать, ipynb).
- Практикум 3 (читать, ipynb), решения (читать, ipynb).
Дополнительно:
- Pythontutor: генераторы списков, словари.
- Множества в Python: конспект, урок на Pythontutor.
Лабораторная работа 3. Цикл while.
Для выполнения лабораторной работы необходимо самостоятельно познакомиться с циклом while
и конструкцией цикл for + оператор break (последняя – по желанию).
Для этого (на выбор) можно:
- Прослушать материал темы 3 Цикл while онлайн-курса «Python как иностранный».
- Прочитать конспект краткой лекции Цикл while и его альтернативы.
- Изучить материалы онлайн-учебника Pythontutor: цикл while.
Лабораторная работа | Задания | Дедлайн | Куда сдавать |
---|---|---|---|
Лабораторная работа 3 | ipynb | 03 октября 18:00 | ссылка на Dropbox |
Неделя 4. Словари и датафреймы pandas. Формат JSON и знакомство с API
- Видеозаписи занятий и ipynb-файлы.
- Разнообразие словарей (читать, ipynb).
- Практикум 4, часть 1. Работа с JSON (читать, ipynb), файл last_votes.json.
- Практикум 4, часть 2. Работа с API ВКонтакте (читать, ipynb).
Лабораторная работа 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).
Дополнительно:
- Массивы и датафреймы pandas: введение (читать, ipynb).
- Pandas, scipy и проверка статистических гипотез (читать, ipynb, файл NPK.xlsx).
Лабораторная работа 5. Работа с функциями.
Для выполнения лабораторной работы необходимо самостоятельно познакомиться с написанием функций в Python. Для этого (на выбор) можно:
- Прослушать материал темы 8 Функции (достаточно первого раздела) онлайн-курса «Python как иностранный».
- Прочитать конспект лекции Функции (для желающих – более подробная лекция И.В.Щурова).
Лабораторная работа | Задания | Дедлайн | Куда сдавать |
---|---|---|---|
Лабораторная работа 5 | ipynb | 17 октября 18:00 | ссылка на Dropbox |
Неделя 6. Введение в парсинг с библиотекой BeautifulSoup
- Видеозаписи и ipynb-файлы.
- Знакомство с HTML: слайды, пример кода HTML: файл.
- Практикум 6. Практикум по парсингу с BeautifulSoup (читать, ipynb), решения (читать, ipynb).
Домашние задания
Домашнее задание | Задания | Дедлайн | Куда сдавать |
---|---|---|---|
Домашнее задание 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 – бонусное, необязательное для выполнения.
Оценку за него можно зачесть вместо пропущенного ДЗ/лабораторной работы или заданий,
за которые была получена низкая оценка.