МОВС Основы программирования на Python (ММОВС23, 1-2 модули) — различия между версиями

Материал из Wiki - Факультет компьютерных наук
Перейти к: навигация, поиск
м (UPD Zoom link)
м (UPD after sem5)
Строка 29: Строка 29:
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
! Занятие !! Тема !! Дата !! Материалы для самоподготовки к семинарам !! Дополнительные материалы
+
! Занятие !! Тема !! Дата !! Ссылки
 
|-
 
|-
 
| style="background:#eaecf0;" | '''1''' [[https://www.youtube.com/watch?v=QDPsZt9SlkQ&list=PLmA-1xX7IuzDMSdaH9B67TYDe2c4oFwSV Запись]] || [[https://github.com/pileyan/Python_2023_Master/tree/master/lect01.%20Data%20types Ноутбуки]] Основные типы и структуры данных.
 
| style="background:#eaecf0;" | '''1''' [[https://www.youtube.com/watch?v=QDPsZt9SlkQ&list=PLmA-1xX7IuzDMSdaH9B67TYDe2c4oFwSV Запись]] || [[https://github.com/pileyan/Python_2023_Master/tree/master/lect01.%20Data%20types Ноутбуки]] Основные типы и структуры данных.
  || 05.09.23 || ||  
+
  || 05.09.23 ||
 
|-
 
|-
 
| style="background:#eaecf0;" | '''2''' [[https://www.youtube.com/watch?v=fhgl4POcxAw&list=PLmA-1xX7IuzDMSdaH9B67TYDe2c4oFwSV Запись]] || [[https://github.com/pileyan/Python_2023_Master/tree/master/lect02.%20Data%20types%202 Ноутбуки]] Основные типы и структуры данных. Продолжение
 
| style="background:#eaecf0;" | '''2''' [[https://www.youtube.com/watch?v=fhgl4POcxAw&list=PLmA-1xX7IuzDMSdaH9B67TYDe2c4oFwSV Запись]] || [[https://github.com/pileyan/Python_2023_Master/tree/master/lect02.%20Data%20types%202 Ноутбуки]] Основные типы и структуры данных. Продолжение
  || 12.09.23 || ||  
+
  || 12.09.23 ||
 
|-
 
|-
 
| style="background:#eaecf0;" | '''3''' [[https://www.youtube.com/watch?v=8TDbTguBtt8&list=PLmA-1xX7IuzDMSdaH9B67TYDe2c4oFwSV Запись]] || [[https://github.com/pileyan/Python_2023_Master/tree/master/lect03.%20Loops Ноутбуки]] Ветвления, циклы
 
| style="background:#eaecf0;" | '''3''' [[https://www.youtube.com/watch?v=8TDbTguBtt8&list=PLmA-1xX7IuzDMSdaH9B67TYDe2c4oFwSV Запись]] || [[https://github.com/pileyan/Python_2023_Master/tree/master/lect03.%20Loops Ноутбуки]] Ветвления, циклы
  || 26.09.23 || ||
+
  || 26.09.23 ||
 
|-
 
|-
| style="background:#eaecf0;" | '''4''' [[https://www.youtube.com/watch?v=Av0L8YHz8hE&list=PLmA-1xX7IuzDMSdaH9B67TYDe2c4oFwSV Запись]] || [[https://github.com/pileyan/Python_2023_Master/blob/master/lect04.%20Functions/Functions.ipynb Ноутбук]] Функции, рекурсия, генераторы, декораторы. Сложность вычислений || 03.10.23 || ||
+
| style="background:#eaecf0;" | '''4''' [[https://www.youtube.com/watch?v=Av0L8YHz8hE&list=PLmA-1xX7IuzDMSdaH9B67TYDe2c4oFwSV Запись]] || [[https://github.com/pileyan/Python_2023_Master/blob/master/lect04.%20Functions/Functions.ipynb Ноутбук]] Функции, рекурсия, генераторы, декораторы. Сложность вычислений || 03.10.23 || [https://habr.com/ru/articles/320288/ Статья про генераторы] на Хабре
 
|-
 
|-
| style="background:#eaecf0;" | '''5''' [[ Запись]] || [[ Ноутбук]] Регулярные выражения
+
| style="background:#eaecf0;" | '''5''' [[https://www.youtube.com/watch?v=nfvORkyJNXA&list=PLmA-1xX7IuzDMSdaH9B67TYDe2c4oFwSV Запись]] || [[https://github.com/pileyan/Python_2023_Master/blob/master/lect05.%20Regex/regexp.ipynb Ноутбук]] Регулярные выражения
  || 10.10.23 || ||
+
  || 10.10.23 || [https://habr.com/ru/articles/349860/ Статья] про регулярки на Хабре, [https://stepik.org/course/107335/syllabus Курс на Stepik] про регулярки <br/>[https://regex101.com/ regex101] - сайт для разбора регулярных выражений, [https://docs.python.org/3/library/re.html Доки] библиотеки re, [https://pynative.com/python-regex-findall-finditer/ описание работы метода finditer]
 
|-
 
|-
| style="background:#eaecf0;" | '''6''' [[ Запись]] || [[ Ноутбук]] Парсинг || 17.10.23 || ||  
+
| style="background:#eaecf0;" | '''6''' [[ Запись]] || [[ Ноутбук]] Парсинг || 17.10.23 ||  
 
|-
 
|-
 
| style="background:#eaecf0;" | '''7''' [[ Запись]] || [[ Ноутбук]] Введение в numpy и pandas
 
| style="background:#eaecf0;" | '''7''' [[ Запись]] || [[ Ноутбук]] Введение в numpy и pandas
  || || ||  
+
  || 19.10.23 (Чт.) ||  
 
|-
 
|-
| Конец первого модуля |
 
|-
 
| style="background:#eaecf0;" | '''8''' [[ Запись]] || [[ Ноутбук]] Разведочный анализ данных
 
||  || ||
 
  
 +
| style="background:#eaecf0;" | '''8''' [[ Запись]] || [[ Ноутбук]] Разведочный анализ данных
 +
|| 24.10.23 ||
 +
|-
 +
| Конец первого модуля |
 
|-
 
|-
 
| style="background:#eaecf0;" | '''9''' [[ Запись]] || [[ Ноутбук]] Визуализация данных
 
| style="background:#eaecf0;" | '''9''' [[ Запись]] || [[ Ноутбук]] Визуализация данных
  ||  || ||  
+
  ||  ||
 
|-
 
|-
 
| style="background:#eaecf0;" | '''10''' [[ Запись]] || [[ Ноутбук]] Классы и основы ООП
 
| style="background:#eaecf0;" | '''10''' [[ Запись]] || [[ Ноутбук]] Классы и основы ООП
||  || ||
+
||  ||
 
|-
 
|-
| style="background:#eaecf0;" | '''11''' [[ Запись]] || [[ Ноутбук]] Анализ текстовой информации 1: Исправление опечаток ||  || ||  
+
| style="background:#eaecf0;" | '''11''' [[ Запись]] || [[ Ноутбук]] Анализ текстовой информации 1: Исправление опечаток ||  ||
 
|-
 
|-
| style="background:#eaecf0;" | '''12''' [[ Запись]] || [[ Ноутбук]] Анализ текстовой информации 2: Appproximate Nearest Neighbors (ANN) search - Faiss ||  || ||  
+
| style="background:#eaecf0;" | '''12''' [[ Запись]] || [[ Ноутбук]] Анализ текстовой информации 2: Appproximate Nearest Neighbors (ANN) search - Faiss ||  ||  
 
|-
 
|-
 
|}
 
|}

Версия 09:26, 12 октября 2023

О курсе

Занятия проводятся в Zoom новая ссылка по вторникам в 19:40

Контакты

Чат курса в TG: https://t.me/+MAwRza1aQ9Q4MzNi

Преподаватель: Пиле Ян Эрнестович (https://www.hse.ru/org/persons/591284001)

Ассистент Telegram
Калашникова Анастасия @kalassnikovaa
Флоринский Михаил @roflinski
Морозов Антон @MAntonV

Материалы курса

Ссылка на плейлист курса на YouTube: YouTube-playlist

Ссылка на GitHub с материалами курса: GitHub repository

После 4-го занятия возможны перестановки по блокам тем

Занятие Тема Дата Ссылки
1 [Запись] [Ноутбуки] Основные типы и структуры данных. 05.09.23
2 [Запись] [Ноутбуки] Основные типы и структуры данных. Продолжение 12.09.23
3 [Запись] [Ноутбуки] Ветвления, циклы 26.09.23
4 [Запись] [Ноутбук] Функции, рекурсия, генераторы, декораторы. Сложность вычислений 03.10.23 Статья про генераторы на Хабре
5 [Запись] [Ноутбук] Регулярные выражения 10.10.23 Статья про регулярки на Хабре, Курс на Stepik про регулярки
regex101 - сайт для разбора регулярных выражений, Доки библиотеки re, описание работы метода finditer
6 Запись Ноутбук Парсинг 17.10.23
7 Запись Ноутбук Введение в numpy и pandas 19.10.23 (Чт.)
8 Запись Ноутбук Разведочный анализ данных 24.10.23
9 Запись Ноутбук Визуализация данных
10 Запись Ноутбук Классы и основы ООП
11 Запись Ноутбук Анализ текстовой информации 1: Исправление опечаток
12 Запись Ноутбук Анализ текстовой информации 2: Appproximate Nearest Neighbors (ANN) search - Faiss

Записи консультаций

Формула оценивания

Оценка = 0.3*ОТесты + 0.7*ОДЗ

Распределительное задание

Ноутбук на GitHub. Дедлайн: 08.09.23 (Пт), 23:59 МСК

По результатам мы можем порекомендовать вам не посещать настоящий курс и идти на курсы MLOps. Начало (1-й модуль, Елизавета Гаврилова) и MLOps (2-й модуль, Владислав Гончаренко)

Вторая опция не проходить курс: сдать проект, требования по которым описаны ниже.

Заполненный ноутбук с заданиями распределительного тестирования нужно приложить в Anytask в соответствующий слот.

Проект

Получить оценку за этот курс по альтернативному треку (без ДЗ и тестов) можно путём сдачи проекта.

Требования:

В целом, вас не хочется ограничивать, но предложение преподавателя такое:

  • Парсер;
  •   Разведочный анализ данных/какую-то обработку этих собранных данных;
  •    Потенциальную обработку ошибок (парсер не завелся/запрос вам отправили неправильный);
  •     Неплохо бы фронтенд взаимодействия с пользователем (например, в телеге бота запилить);
  •      И выкладку на сервер, чтоб работало без вашего включенного компа.

Итоговая цель примерно такова, что проект должен отвечать на вопрос: Умеет ли студент на некотором уровне решать задачи с помощью питона.

Если у вас есть альтернативные предложения по проекту - готовы их обсудить.

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

Инвайт в Anytask: BCB3V6W

  1. ДЗ-1: Типы данных, выдано 14.09.23, дедлайн: 24.09.23 23:59 (МСК)
  2. ДЗ-2: Функции, выдано 04.10.23, дедлайн: 17.10.23 23:59 (МСК)

Тесты

1)

2)

3)

4)

5)

Литература

  • Лутц Марк, "Программирование на Python"
  • Dan Bader, "Python Tricks: The Book"
  • Гарри Персиваль, "Python. Разработка на основе тестирования"
  • Micha Gorelick & Ian Ozsvald "High Performance Python"