Основы программирования на Python весна 2020 матфак: различия между версиями

Материал из Wiki - Факультет компьютерных наук
Перейти к навигации Перейти к поиску
Нет описания правки
Нет описания правки
 
(не показаны 42 промежуточные версии 2 участников)
Строка 1: Строка 1:
Занятия проходят на Усачева в 318 аудитории.
Лекций по субботам 2-ой парой, семинар по субботам 3-ей парой либо в пятницу второй парой (на выбор, посещать нужно один из них).
Занятия потока 2020 года начались 11 января.
Занятия потока 2020 года начались 11 января.


Строка 7: Строка 4:


[[Файл:Python-logo2.png|120px|borderless|left]]
[[Файл:Python-logo2.png|120px|borderless|left]]


Курс читается для студентов факультета математики ВШЭ в 3-4 модулях.
Курс читается для студентов факультета математики ВШЭ в 3-4 модулях.


На курсе есть лекции и семинары.
На курсе есть лекции и семинары.
[https://www.youtube.com/playlist?list=PLEwK9wdS5g0oHIFPHafG0tnHekDBxE6Oy запись лекций и семинаров]




Строка 22: Строка 19:
Мовсес Элбакян https://tlg.name/sesvom
Мовсес Элбакян https://tlg.name/sesvom
Дмитрий Попов https://tlg.name/foksly
Дмитрий Попов https://tlg.name/foksly
=== Расписание ===
Занятие в пятницу 24 января повтор второго семинара будет на Усачева, 318 аудитория.
Занятие в субботу 25 января лекция и семинар будут на Покровский бульвар, 11, аудитория D208.
Лекции - 2-ая пара в субботу.
Семинары - 1-ая группа 3-ая пара в субботу, 2-ая группа 2-ая пара в пятницу.
Группа на выбор, посещать нужно только один из семинаров.


=== Необходимые ссылки ===
=== Необходимые ссылки ===
Строка 27: Строка 36:


[https://www.hse.ru/ma/pmath/courses/316531545.html карточка курса]
[https://www.hse.ru/ma/pmath/courses/316531545.html карточка курса]
[https://forms.gle/o13hK1GbXRnEqDdH7 форма для анонимной обратной связи]
[https://hse-programming-intro.manytask.org/ Manytask]
[https://www.youtube.com/playlist?list=PLEwK9wdS5g0oHIFPHafG0tnHekDBxE6Oy запись занятий]


=== Пререквизиты курса ===
=== Пререквизиты курса ===
Строка 38: Строка 53:
Сумма всех полученных баллов за все задания нормированная на 10.
Сумма всех полученных баллов за все задания нормированная на 10.


=== Как работать в терминале ===
=== Как сдавать задания в системе Manytask===
Настройте Manytask [https://gitlab.com/appleveronika/hse-programming-intro/blob/master/README.md по инструкции].


Новоприбывшим надо посмотреть слайды и пройти [https://www.learnenough.com/command-line-tutorial/basics туториал]
[[Файл:Manytask.png|500px|безрамки]]


== Лекции ==
== Лекции ==
Строка 52: Строка 68:


===Лекция 2. Основы работы в Unix-среде===  
===Лекция 2. Основы работы в Unix-среде===  
18.01 stdin, stdout, stderr
[https://docs.google.com/presentation/d/1mkUumUz5_T3oZ4VVn0bwWcKmcMQWvbolqLmIviQUbKs/edit?usp=sharing слайды]
[https://docs.google.com/presentation/d/1mkUumUz5_T3oZ4VVn0bwWcKmcMQWvbolqLmIviQUbKs/edit?usp=sharing слайды]
[https://drive.google.com/open?id=1Yu1CrYvDPOcqSkMB5v8YamZTJmrEsAJ5 примеры]
=== Лекция 3.Pipe. Асимптотики. Линейные структуры данных===
[https://docs.google.com/presentation/d/1nUm1urh4vcSCGSP6zNUwelFfKq2u6-pFPvl33z26Rgo/edit?usp=sharing слайды]
===Лекция 4-5. dict, tuple. Объектная модель Python===
[https://docs.google.com/presentation/d/1o0J774lC7W2K9M5x1WgOXUL6SMS1Lpxb-zB7GnpCgOc/edit слайды]
обещанная ссылка [https://docs.python.org/3/reference/datamodel.html python data model] 
[https://colab.research.google.com/drive/1fqhDLLLP9_BwMI075fsjFdsjp0uEzoQ0#scrollTo=3I0ZCAthYaGw задачка]
===Лекция 6.  Unicode===
[https://docs.google.com/presentation/d/16OnHqGIGwpHoaUIVGysRabCJPMxAuObtSDJ5FzLAREA/edit?usp=sharing слайды]
[https://colab.research.google.com/drive/1LWtC9J6FckQpEF5vkB7G84IAaTUhG5qZ примеры]
===Лекция 7. tuple, collections===
recap https://nedbatchelder.com/text/unipain.html
examples https://colab.research.google.com/drive/1wwc0FNK_XjF0qNozhD-d2CT9sWs8o_eQ
===Лекция 8. venv, pip and code style===
[https://docs.google.com/presentation/d/1RwGpuhgpYjyFBmU-KNSTkKWH2XwavOTaqGVWYlN52j0/edit#slide=id.g7ed131fe46_0_62 слайды]
===Лекция 9. функции, звёздочки, декораторы===
[https://github.com/yandexdataschool/python_public/blob/master/slides/3.Functions_and_IO.ipynb слайды 1 ]
[https://github.com/yandexdataschool/python_public/blob/master/slides/4.Functions_and_Decorators.ipynb слайды 2]
[https://colab.research.google.com/drive/1QGQ2bw9Ah6mVnlZDe8G9YnpaNr0Jy3Rz примеры]
===Лекция 10. Ошибки в программах и их обработка===
[https://docs.google.com/presentation/d/15TEQoJs_jxoU9gLvVvbSmipdAJw8CWO6__deSxdSdKs/edit#slide=id.g51bcb4165c_0_247 слайды]
===Лекция 11. Как использовать http api===
[https://zoom.us/j/304876602 зум 11 апреля 10-30]
[https://docs.google.com/presentation/d/1qOvVbwaDes444tMEs-7ITO16eR-opgkK5riAHOze6iE/edit#slide=id.g557a96828e_0_58 слайды]
[https://github.com/yandexdataschool/python_public/blob/master/slides/9.WEB_and_APIS.ipynb примеры]
===Лекция 12. Сети===
[https://zoom.us/j/304876602 зум 18 апреля 10-30]
[https://docs.google.com/presentation/d/1OrjLHz4rb9IUDBfHAsONNjbgCQkLH1fKVfzV9RKV6b0/edit?usp=sharing слайды]
===Лекция 13. Базы данных===
[https://zoom.us/j/304876602 зум 25 апреля 10-30]
[https://docs.google.com/presentation/d/1oJDDzGtREEey0hdlrpGbkEMOewKUM5DFiRWDaIpYFlY/edit?usp=sharing слайды]
===Лекция 14. Итераторы и генераторы===
[https://zoom.us/j/304876602 зум 16 мая 10-30]
[https://github.com/yandexdataschool/python_public/blob/master/slides/7.Iterators_n_Generators.ipynb слайды]
[http://www.dabeaz.com/generators/Generators.pdf примеры]
[https://colab.research.google.com/drive/1Bdm1y2lAHPU7zHEYG2sDY0XQQsRy1O-9?usp=sharing практика]
[https://compscicenter.ru/courses/python/2018-autumn/classes/4299/ advanced лекция по теме]
===Лекция 15. Тестирование===
[https://zoom.us/j/304876602 зум 23 мая 10-30]
[https://drive.google.com/file/d/1RS5mAb_xv6qLNJaRfqfB6JPWrXpau3vZ/view?usp=sharing слайды]
[https://docs.python.org/3/howto/logging.html logging]
полезные ссылки:
[https://docs.python.org/3/library/unittest.html unittest]
[https://docs.python.org/3/library/doctest.html doctest]
[https://docs.python.org/3/library/unittest.mock.html unittest.mock]
[http://misko.hevery.com/attachments/Guide-Writing%20Testable%20Code.pdf дизайн тестируемого приложения]
===Бонус. Numpy,Pandas===
[https://yadi.sk/i/n7wdVpuMtiXAkg видео лекции по pandas]


== Семинары ==
== Семинары ==
Строка 63: Строка 156:


== Новости курса ==
== Новости курса ==
 
В 4-ом модуле занятия очные занятия курса переносятся в Zoom. Ссылки на встречи будут публиковаться в telegram-чате курса.


== Полезные материалы ==
== Полезные материалы ==

Текущая версия от 09:43, 23 мая 2020

Занятия потока 2020 года начались 11 января.

О курсе

borderless
borderless

Курс читается для студентов факультета математики ВШЭ в 3-4 модулях.

На курсе есть лекции и семинары. запись лекций и семинаров


Лектор: Иванникова Вероника https://tlg.name/apple_veronika

Семинарист Дмитрий Контуров https://tlg.name/Kipnell

Ассистенты Мовсес Элбакян https://tlg.name/sesvom Дмитрий Попов https://tlg.name/foksly

Расписание

Занятие в пятницу 24 января повтор второго семинара будет на Усачева, 318 аудитория. Занятие в субботу 25 января лекция и семинар будут на Покровский бульвар, 11, аудитория D208.


Лекции - 2-ая пара в субботу.

Семинары - 1-ая группа 3-ая пара в субботу, 2-ая группа 2-ая пара в пятницу. Группа на выбор, посещать нужно только один из семинаров.

Необходимые ссылки

Чат курса

карточка курса

форма для анонимной обратной связи

Manytask

запись занятий

Пререквизиты курса

От слушателей курса ожидается:

  • базовое знание Python (условия, циклы, функции, классы)
  • готовность работать в терминале и преодолевать трудности
  • знакомство с базовым математическим аппаратом (например, основы статистики, линейная алгебра и проч.)


Формула оценки

Сумма всех полученных баллов за все задания нормированная на 10.

Как сдавать задания в системе Manytask

Настройте Manytask по инструкции.

Лекции

Лекция 1. Введение

13.01 Обзор возможностей языка. Философия Python, классы решаемых задач. Интерпретация программы на Python. Память, процессор.

слайды

Лекция 2. Основы работы в Unix-среде

18.01 stdin, stdout, stderr

слайды примеры

Лекция 3.Pipe. Асимптотики. Линейные структуры данных

слайды

Лекция 4-5. dict, tuple. Объектная модель Python

слайды

обещанная ссылка python data model

задачка

Лекция 6. Unicode

слайды примеры

Лекция 7. tuple, collections

recap https://nedbatchelder.com/text/unipain.html examples https://colab.research.google.com/drive/1wwc0FNK_XjF0qNozhD-d2CT9sWs8o_eQ

Лекция 8. venv, pip and code style

слайды

Лекция 9. функции, звёздочки, декораторы

слайды 1

слайды 2

примеры

Лекция 10. Ошибки в программах и их обработка

слайды

Лекция 11. Как использовать http api

зум 11 апреля 10-30

слайды примеры

Лекция 12. Сети

зум 18 апреля 10-30

слайды

Лекция 13. Базы данных

зум 25 апреля 10-30

слайды

Лекция 14. Итераторы и генераторы

зум 16 мая 10-30

слайды примеры практика

advanced лекция по теме

Лекция 15. Тестирование

зум 23 мая 10-30

слайды logging


полезные ссылки:

unittest doctest unittest.mock

дизайн тестируемого приложения

Бонус. Numpy,Pandas

видео лекции по pandas

Семинары

Семинар 1. Организационный, работа в терминале

Note! Очень желательно принести с собой ноутбук.

1. Работа в терминале

Новости курса

В 4-ом модуле занятия очные занятия курса переносятся в Zoom. Ссылки на встречи будут публиковаться в telegram-чате курса.

Полезные материалы

Основная литература

  1. Н.А.Ворожцов, А.В.Винокуров, 2008. Практика и теория программирования. Физматкнига
  2. Документация языка Python https://docs.python.org/3/
  3. Б.У. Керниган, Р. Пайк , 2017. Практика программирования. Вильямс
  4. Micha Gorelick, Ian Ozsvald, 2014. High Performance Python
  5. Лучано Рамальо, 2016. Python. К вершинам мастерства