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

Материал из Wiki - Факультет компьютерных наук
Перейти к: навигация, поиск
 
(не показано 47 промежуточных версии 2 участников)
Строка 1: Строка 1:
Занятия потока 2020 года начинаются 11 января в субботу, 2 и 3-я пара. На Усачева.
+
Занятия потока 2020 года начались 11 января.
 
+
Про время занятий проводится [https://forms.gle/Fw21iF3kqCcVXfPSA опрос] до вечера понедельника 15.01
+
  
 
== О курсе ==
 
== О курсе ==
  
 
[[Файл:Python-logo2.png|120px|borderless|left]]
 
[[Файл:Python-logo2.png|120px|borderless|left]]
 
  
 
Курс читается для студентов факультета математики ВШЭ в 3-4 модулях.
 
Курс читается для студентов факультета математики ВШЭ в 3-4 модулях.
  
 
На курсе есть лекции и семинары.
 
На курсе есть лекции и семинары.
 +
[https://www.youtube.com/playlist?list=PLEwK9wdS5g0oHIFPHafG0tnHekDBxE6Oy запись лекций и семинаров]
  
  
Строка 21: Строка 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-ая пара в пятницу.
 +
Группа на выбор, посещать нужно только один из семинаров.
  
 
=== Необходимые ссылки ===
 
=== Необходимые ссылки ===
Строка 26: Строка 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 запись занятий]
  
 
=== Пререквизиты курса ===
 
=== Пререквизиты курса ===
Строка 32: Строка 48:
 
* готовность работать в терминале и преодолевать трудности
 
* готовность работать в терминале и преодолевать трудности
 
* знакомство с базовым математическим аппаратом (например, основы статистики, линейная алгебра и проч.)
 
* знакомство с базовым математическим аппаратом (например, основы статистики, линейная алгебра и проч.)
 
 
 
 
=== Семинары ===
 
 
  
  
 
=== Формула оценки ===
 
=== Формула оценки ===
 +
Сумма всех полученных баллов за все задания нормированная на 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: Строка 63:
 
Обзор возможностей языка.
 
Обзор возможностей языка.
 
Философия Python, классы решаемых задач.
 
Философия Python, классы решаемых задач.
Интерпретация программы на Python. Память, процессор. Использование библиотек.
+
Интерпретация программы на Python. Память, процессор.
 +
 
 
[https://docs.google.com/presentation/d/1YdYH4HYfBZR1J0llRHgW-5seVbbArdknR9cG9riGG3M/edit?usp=sharing слайды]
 
[https://docs.google.com/presentation/d/1YdYH4HYfBZR1J0llRHgW-5seVbbArdknR9cG9riGG3M/edit?usp=sharing слайды]
 +
 +
===Лекция 2. Основы работы в Unix-среде===
 +
18.01 stdin, stdout, stderr
 +
 +
[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]
  
 
== Семинары ==
 
== Семинары ==
Строка 64: Строка 156:
  
 
== Новости курса ==
 
== Новости курса ==
 
+
В 4-ом модуле занятия очные занятия курса переносятся в Zoom. Ссылки на встречи будут публиковаться в telegram-чате курса.
  
 
== Полезные материалы ==
 
== Полезные материалы ==

Текущая версия на 12:43, 23 мая 2020

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

О курсе

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 по инструкции.

Manytask.png

Лекции

Лекция 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. К вершинам мастерства