Машинное обучение на матфаке 2022 — различия между версиями

Материал из Wiki - Факультет компьютерных наук
Перейти к: навигация, поиск
 
(не показано 75 промежуточных версии 3 участников)
Строка 7: Строка 7:
 
* [https://t.me/+GqWLqJMS4WMzNDJi  Чат курса]
 
* [https://t.me/+GqWLqJMS4WMzNDJi  Чат курса]
 
* [https://t.me/+4PQXGlC4CgsyMmJi Телеграм канал с объявлениями]
 
* [https://t.me/+4PQXGlC4CgsyMmJi Телеграм канал с объявлениями]
<!--
+
 
 
== Семинары ==
 
== Семинары ==
  
Строка 14: Строка 14:
 
! Группа !! Преподаватель !! Расписание
 
! Группа !! Преподаватель !! Расписание
 
|-
 
|-
| 1 ||  Екатерина Глазкова || пятница 13:00-14:20
+
| 1 ||  [https://telegram.me/catherineglazkova Екатерина Глазкова] || четверг 10:00 — 11:20, ауд. 318
 
|-
 
|-
| 2 || Тимур Петров  || четверг 13:00-14:20
+
| 2 || [https://telegram.me/Palladain Тимур Петров] || понедельник 16:20 — 17:40, ауд. 318
 
|}
 
|}
-->
 
  
=== Система оценивания ===
+
== Система оценивания ==
 
==== Формула оценки ====
 
==== Формула оценки ====
 
Результирующая оценка по дисциплине рассчитывается по формуле:
 
Результирующая оценка по дисциплине рассчитывается по формуле:
Строка 40: Строка 39:
 
== Материалы ==
 
== Материалы ==
 
=== Семинары ===
 
=== Семинары ===
* 10.01: Введение в numpy, pandas, matplotlib. [https://github.com/ischurov/math-ml-2021-public/blob/main/seminars/sem01_intro.ipynb Конспект занятия]
+
 
 +
{| class="wikitable"
 +
|-
 +
! Номер !! Дата !! Тема !! Материалы семинара !! Видео
 +
|-
 +
| 1 || 10.01 / 13.01 || Введение в numpy, pandas, matplotlib || [https://github.com/ischurov/math-ml-2022-public/blob/main/seminars/sem01_intro.ipynb Ноутбук] || [https://www.youtube.com/watch?v=RYvDFiMAdtc&list=PLEwK9wdS5g0pq7ev-iMG9Vw8fWbld87Ic&index=2 семинар Сони Дымченко с прошлого года]
 +
|-
 +
| 2 || 18.01 / 20.01 || KNN || [https://colab.research.google.com/drive/1Ky9HnVLw0O61rAAxb8KQAA1BHwatOSMY?usp=sharing Ноутбук] || [https://zoom.us/rec/share/kBMvd3uSP4lTwxQrxOeV8wKf5iCjD8hVmHan0jOzU1B0k4X1XZWyeq4m8Xu7qxri.92aICOjcKWFUYKk7 семинар Кати]
 +
|-
 +
| 3 || 24.01 / 27.01 || KNN из коробки, кросс-валидация || [https://colab.research.google.com/drive/1-Co-5Qb_sALbyy6b0HEyuOA-wKujUJd5?usp=sharing Ноутбук] || [https://zoom.us/rec/share/Ht_DMpEqTnlhnaJoWAV_nkZGl0TVz0ZC6JDTn9snjY7KhW13nI75A-T9nnwUT9j3.x_0021RoxkZEYu1X семинар Кати]
 +
|-
 +
| 4 || 31.01 / 3.02 || Линейная регрессия, градиентный спуск, коэффициент детерминации || [https://colab.research.google.com/drive/1_6e313Qe4V1CnZ4QexOu7mqk4ksM_4oU?usp=sharing Ноутбук] || [https://youtu.be/iFMwKTRlSzI семинар Тимура], [https://disk.yandex.ru/i/7XwT6a7dGAxP5A семинар Кати]
 +
|-
 +
| 5 || 07.02 / 10.02 || Линейная регрессия, отбор признаков, регуляризация || [https://colab.research.google.com/drive/1FEK-eFao-gg-aCRYMg8Rih0n6Domeb9T?usp=sharing Ноутбук]|| [https://youtu.be/WAu9yeGtmJo семинар Тимура], [https://disk.yandex.ru/i/kvB8hoJMxUYNeA семинар Кати]
 +
|-
 +
| 6 || 14.02 / 17.02 || Логистическая регрессия, метрики классификации || [https://colab.research.google.com/drive/1VyJcBiIALAp9Gp9eNFsYhn9xv0okKfrO?usp=sharing Ноутбук] || [https://youtu.be/f2mS6vSJuuM семинар Руслана Хайдурова с прошлого года]
 +
|-
 +
| 7 || 21.02 / 24.02 || Работа с текстами || [https://colab.research.google.com/drive/1dXF0UTq_lOjR1ejsKNU2YjaqLXpgEGGo?usp=sharing Ноутбук] || [https://disk.yandex.ru/i/k7QtECVJApcUEw семинар Кати]
 +
|-
 +
| 8 || 28.02 / 03.03 || Решающие деревья || [https://colab.research.google.com/drive/1HGsnVze-_1ChRFAzMZlSOHRn7k8NH5Cs?usp=sharing Ноутбук] [https://colab.research.google.com/drive/12HqBSHMp4YNnMTuGLeukbkaTD-PEALyD?usp=sharing Ноутбук (solved)]|| [https://youtu.be/iKwjq57vCaw семинар Тимура]
 +
|-
 +
| 9 || 07.03 / 10.03 || Случайный лес || [https://colab.research.google.com/drive/1uPkB3nInA63IHlrxDsZ6vH4HR64e5_jm?usp=sharing Ноутбук] || [https://youtu.be/RMQJscqKDUk семинар Тимура], [https://disk.yandex.ru/i/wyqYFoPn4-W8Hg семинар Кати]
 +
|-
 +
| 10 || 14.03 / 17.03 || Градиентный бустинг || [https://colab.research.google.com/drive/1haSwwhRpniKMqNP4XHszIKwyzmJAawov?usp=sharing Ноутбук][https://colab.research.google.com/drive/1-Wmb-eNRxo6RruhIsheRppbli-aCgsd3?usp=sharing solved] || [https://disk.yandex.ru/i/ekxbCMOAtUfjiA семинар Кати]
 +
|-
 +
| 11 || 21.03 / 24.03 || Введение в pytorch || [https://colab.research.google.com/drive/1C_G-hTbHBRPf5CvcOEYn9YbLCy67WmUk?usp=sharing Ноутбук] || [https://disk.yandex.ru/i/5fdm-2f7B184hQ семинар Кати]
 +
|-
 +
| 12 || 04.04 / 07.04 || Работа с изображениями, сверточные сети, регуляризация, fine-tuning || [https://colab.research.google.com/drive/1qtECDb8dzyOHcbIB86MzVoOJItpy529I?usp=sharing Ноутбук], [https://colab.research.google.com/drive/18YvjWi42w2VN_KxrWMC8IKqsNQsvfN7q?usp=sharing solved] || [https://disk.yandex.ru/d/vI4r2_oCQgr7Ng семинар Кати]
 +
|-
 +
| 13 || 11.04 / 14.04 || RNN || [https://colab.research.google.com/drive/14i1r3ntSuA8QRf0wbzsR7R9lG2ZVhnt_?usp=sharing Ноутбук] [https://colab.research.google.com/drive/1HJ6OY4Zs9avgCVDJFMINZwDI0P7_40o4?usp=sharing Solved] [https://pytorch.org/tutorials/intermediate/seq2seq_translation_tutorial.html туториал с примером применения nn.GRU в pytorch] || [https://disk.yandex.ru/i/Xn1j_UbocxsO3Q семинар Кати]
 +
|-
 +
| 14 || 18.04 / 21.04 || Transformer || [https://colab.research.google.com/drive/18sRp3FBYQuCnJ7ziHx-Y0gcpt-jQe6Qc?usp=sharing Ноутбук][https://jalammar.github.io/illustrated-transformer/ Визуализация архитектуры] [https://colab.research.google.com/drive/1THfuzdraEFJZBQ8gwRXJ2rginq8Ef7Ik?usp=sharing Ноутбук к семинару 21/04]||[https://disk.yandex.ru/i/APZl10fIyb3xRg семинар Кати]
 +
|-
 +
| 15 || 28.04 || Vanishing and exploding gradients, normalization layers, residual connections || [https://colab.research.google.com/drive/1yjDSkPH95cq94hIu0SDlWv6VKPJT6dxk?usp=sharing Ноутбук]|| [https://disk.yandex.ru/i/5lVnzLHHg-9J6w семинар Кати]
 +
|-
 +
| 16 || 16.05 / 19.05 || Матричные разложения и приложения, SVD, PCA, LSA || [https://colab.research.google.com/drive/1hGQv0B3Rlnzk3XnSCTof1b0HkHKVU2cp?usp=sharing Ноутбук] || [https://youtu.be/F-HW0dlT7ks Семинар Сони Дымченко 2020 года]
 +
|-
 +
| 17 || 26.05 || Кластеризация || [https://colab.research.google.com/drive/1KE5_-4_fpCY3nJCeEixT2wsqg8Gn4ahv?usp=sharing Ноутбук]
 +
|-
 +
| 18 || 30.05 || Генерация текстов, BERT, GPT || [https://colab.research.google.com/drive/156KDRJqYlez1WbtNjfNo9AW4s4w7mmvo?usp=sharing Ноутбук] || [https://youtu.be/brcGGekUOTY Семинар]
 +
|-
 +
| 19 || 02.06 || Генерация картинок, GAN, виртуальная примерочная || [https://colab.research.google.com/drive/1NoWs7c05pHWw1dqPPfPjgMH0mV6gLOUa?usp=sharing Ноутбук]||
 +
|}
 +
 
 +
=== Лекции ===
 +
 
 +
{| class="wikitable"
 +
|-
 +
! Дата !! Тема !! Ссылки
 +
|-
 +
| 14.01 || Задачи и методы машинного обучения || [https://www.youtube.com/watch?v=COQFOm2tzTE&list=PLEwK9wdS5g0pq7ev-iMG9Vw8fWbld87Ic&index=2 Видео прошлого года]
 +
|-
 +
| 17.01
 +
| Оценка качества предсказаний предиктивных моделей. Введение в статистическую теорию принятия решений. Метод k ближайших соседей.
 +
|  [http://math-info.hse.ru/math-ml/chapter/label/chap:3:els/ Конспект], [https://www.youtube.com/watch?v=N79imD4BVZM видео прошлого года]. Дополнительные конспекты: [https://betanalpha.github.io/assets/case_studies/conditional_probability_theory.html об условных вероятностях] (англ.), [http://math-info.hse.ru/math-ml/chapter/label/chap:2:prob/ напоминание про теорию вероятностей]
 +
|-
 +
| 24.01
 +
| Разложение ошибки на шум, смещение и разброс
 +
| Конспекты: [http://math-info.hse.ru/math-ml/chapter/label/chap:2:prob/#label_subsection_number_1_4_2 состоятельность и несмещенность статистических оценок], [http://math-info.hse.ru/math-ml/chapter/label/chap:4:bias-variance/ шум, смещение и разброс], [https://youtu.be/m5P7-j_K-8U видео лекции]
 +
|-
 +
| 31.01
 +
| Линейная регрессия, метод наименьших квадратов
 +
| [http://math-info.hse.ru/math-ml/chapter/label/chap:5:linear-reg/#label_chap_5_linear-reg Конспект], [https://youtu.be/jb8rWwJ_h_Q видео лекции]
 +
|-
 +
| 07.02
 +
| Ещё о линейной регрессии: дисперсия МНК-оценки
 +
| [http://math-info.hse.ru/math-ml/chapter/label/chap:6:linear-reg2/#label_chap_6_linear-reg2 Конспект], [https://youtu.be/Ok8CGK0jCMQ видео лекции]
 +
|-
 +
| 14.02
 +
| Ещё о линейной регрессии: регуляризация. Логистическая регрессия
 +
| [https://youtu.be/lC0V7MYgyBE Видео лекции], конспекты Е. Соколова: [https://github.com/esokolov/ml-course-hse/blob/master/2017-fall/lecture-notes/lecture03-linregr.pdf Ещё о линейных регрессиях], [https://github.com/esokolov/ml-course-hse/blob/master/2017-fall/lecture-notes/lecture05-linclass.pdf логистическая регрессия]
 +
|-
 +
| 21.02
 +
| Ещё о логистической регрессии
 +
| [https://youtu.be/U5P8zDt6esc Видео лекции], конспекты Е. Соколова: [https://github.com/esokolov/ml-course-hse/blob/master/2017-fall/lecture-notes/lecture05-linclass.pdf логистическая регрессия], [https://github.com/esokolov/ml-course-hse/blob/master/2017-fall/lecture-notes/lecture06-linclass.pdf многоклассовая классификация]
 +
|-
 +
| 28.02
 +
| Метод опорных векторов. Решающие деревья
 +
| [https://youtu.be/JH52SogcC28 Видео лекции], конспекты Е. Соколова:  [https://github.com/esokolov/ml-course-hse/blob/master/2017-fall/lecture-notes/lecture05-linclass.pdf метод опорных векторов] (см. часть 2), [https://github.com/esokolov/ml-course-hse/blob/master/2017-fall/lecture-notes/lecture07-trees.pdf решающие деревья]
 +
|-
 +
| 7.03
 +
| Ансамбли. Случайные леса
 +
| [https://youtu.be/6dMDgtZP1UE Видео лекции], конспекты Е. Соколова: [https://github.com/esokolov/ml-course-hse/blob/master/2017-fall/lecture-notes/lecture08-ensembles.pdf решающие леса]
 +
|-
 +
| 14.03
 +
| Градиентный бустинг
 +
| [https://youtu.be/2ZxOOVeWt9Y Видео лекции], конспекты Е. Соколова: [https://github.com/esokolov/ml-course-hse/blob/master/2017-fall/lecture-notes/lecture09-ensembles.pdf градиентный бустинг] (мы не обсуждали AdaBoost)
 +
|-
 +
| 21.03
 +
| Нейросети
 +
| [https://youtu.be/FX_zo4mox0k Видео лекции], Конспекты Е. Соколова: [https://github.com/esokolov/ml-course-hse/blob/master/2017-fall/lecture-notes/lecture11-dl.pdf Графы вычислений и элементы глубинного обучения]. Дополнительный материал: [http://neuralnetworksanddeeplearning.com/chap4.html теорема об универсальной аппроксимации] (англ.)
 +
|-
 +
| 5.04
 +
| Свёрточные нейросети
 +
| [https://youtu.be/qeLzwi1b_rk Видо лекции], [http://cs231n.github.io/convolutional-networks/  convolutional networks] (англ.)
 +
|-
 +
| 11.04
 +
| Обработка последовательностей: свёртки и RNN
 +
| [https://youtu.be/3ySXTvZ--LI Видео лекции], [http://colah.github.io/posts/2015-08-Understanding-LSTMs/ пост про RNN и LSTM]
 +
|-
 +
| 18.04
 +
| Механизм внимания. Архитектура transformer
 +
| [https://youtu.be/XUSHYyaC8bU Видео лекции]
 +
|-
 +
| 16.05
 +
| Задачи unsupervised learning. Снижение размерности. Метод главных компонент. Кластеризация. K-means
 +
| [https://youtu.be/4GoY3vvZrCU Видео лекции]
 +
|}
 +
 
 +
=== Домашние задания ===
 +
* [https://github.com/ischurov/math-ml-2022-public/blob/main/homeworks/hw1_theor.ipynb ДЗ№1] (теоретическое), срок сдачи 25 января, 23:59:59, сдавать [https://www.dropbox.com/request/NXUVOYww9dSzAyleoE9v сюда].
 +
* [https://github.com/ischurov/math-ml-2022-public/blob/main/homeworks/hw2_practice.ipynb ДЗ№2] (практическое), срок сдачи 23 февраля, 23:59:59, сдавать [https://www.dropbox.com/request/NXUVOYww9dSzAyleoE9v сюда].
 +
* ДЗ№3: соревнование (подробности в канале).
 +
* [https://github.com/ischurov/math-ml-2022-public/blob/main/homeworks/hw4_theor.ipynb ДЗ№4] (теоретическая), срок сдачи 23 апреля, 23:59:59, сдавать [https://www.dropbox.com/request/NXUVOYww9dSzAyleoE9v сюда].
 +
 
 +
== Прошедшие контрольные ==
 +
=== Midterm ===
 +
* [http://math-info.hse.ru/f/2018-19/math-ml/midterm.pdf Вариант 2018-19 учебного года]
 +
* [https://github.com/ischurov/math-ml-2021-public/blob/main/assessment/midterm-2020.pdf Вариант 2019-20 учебного года],
 +
** [https://youtu.be/iGQ518pCAEM Разбор] ([http://math-info.hse.ru/f/2020-21/math-ml/midterm2019-20.pdf вариант из разбора])
 +
=== Final ===
 +
* [https://github.com/ischurov/math-ml-2021-public/blob/main/assessment/final2019.pdf Экзамен 2019]
 +
* [https://github.com/ischurov/math-ml-2021-public/blob/main/assessment/final2020.pdf Экзамен 2020]
 +
 
 +
== Полезные ссылки ==
 +
* [http://wiki.cs.hse.ru/Машинное_обучение_на_матфаке_2021 Страница курса прошлого года]
 +
* [https://mml-book.github.io/book/mml-book.pdf Математика для машинного обучения] (англ.)

Текущая версия на 01:31, 2 июня 2022

О курсе

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

Лектор: Щуров Илья Валерьевич

Новости и объявления

Семинары

Группа Преподаватель Расписание
1 Екатерина Глазкова четверг 10:00 — 11:20, ауд. 318
2 Тимур Петров понедельник 16:20 — 17:40, ауд. 318

Система оценивания

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

Результирующая оценка по дисциплине рассчитывается по формуле:

Oитог = 0.2 * Окр + 0.29 * Опрак дз + 0.29 * Отеор дз + 0.22 * Оэкз

Правила вычисления оценок

Оценка за практические/теоретические домашние задания вычисляется как сумма баллов по всем практическим/теоретическим домашним заданиям, переведенная в 10-балльную шкалу. Количество баллов за разные задания может различаться в зависимости от их сложности. Все промежуточные оценки (за домашние, контрольную и экзамен) могут быть не целыми и не округляются. Итоговая оценка округляется по стандартным правилам, оценка вида (k+1/2), где k — целое число округляется вверх.

Правила сдачи заданий

Если вы сдаёте работу позже срока, её оценка умножается на exp(-t / 86400), где t — число секунд, прошедшее с дедлайна. Иными словами, опоздать на пару секунд не страшно, но опоздав на сутки, вы поделите свой результат на e. Сдать после срока можно только один раз, а если вы сдали работу вовремя, досдать после срока какие-либо задачи уже нельзя. Это не касается соревнований: там есть жесткое время окончания соревнования, и после него уже ничего отправить нельзя.

Все письменные работы выполняются самостоятельно. Вам запрещено смотреть в чужие решения (в том числе в чужой код), до тех пор, пока вы не сделали и не сдали эту задачу сами. Это касается решений и кода, написанного вашими однокурсниками, написанного предшествующими поколениями или найденного где-либо ещё. Из этого, в частности, следует, что вам запрещено целенаправленно искать решение вашей задачи в интернете. (Хотя, конечно, вы можете использовать поиск в интернете, чтобы разобраться в том, как работают те или иные инструменты или как сделать конкретное действие, если это действие не является само по себе решением задачи.) Вам также запрещено показывать свои решения другим студентам. При обнаружении плагиата или иных нарушений академической этики оценки за соответствующее домашнее задание обнуляются всем задействованным в списывании студентам, а также подаётся докладная записка в деканат.

При наличии уважительной причины (предоставляется справка, подтвержденная учебным офисом) вес контрольной работы может быть перенесён на экзамен; также может быть перенесён дедлайн по домашнему заданию (за исключением соревнований). Для согласования обращаться к лектору.

Теоретические домашние задания можно сдавать в виде Jupyter Notebook (.ipynb; там поддерживаются формулы в LaTeX), в виде отдельных PDF-документов, набранных в LaTeX или с помощью любого другого инструмента, поддерживающего вёрстку формул, либо в виде аккуратного скана аккуратно написанного от руки решения, также в формате PDF. В случае, если решение написано неаккуратно с точки зрения проверяющего, работа может получить штраф в 5% от оценки, либо, если работа вызывает существенные трудности для чтения, отправлена на доработку без продления срока сдачи.

Материалы

Семинары

Номер Дата Тема Материалы семинара Видео
1 10.01 / 13.01 Введение в numpy, pandas, matplotlib Ноутбук семинар Сони Дымченко с прошлого года
2 18.01 / 20.01 KNN Ноутбук семинар Кати
3 24.01 / 27.01 KNN из коробки, кросс-валидация Ноутбук семинар Кати
4 31.01 / 3.02 Линейная регрессия, градиентный спуск, коэффициент детерминации Ноутбук семинар Тимура, семинар Кати
5 07.02 / 10.02 Линейная регрессия, отбор признаков, регуляризация Ноутбук семинар Тимура, семинар Кати
6 14.02 / 17.02 Логистическая регрессия, метрики классификации Ноутбук семинар Руслана Хайдурова с прошлого года
7 21.02 / 24.02 Работа с текстами Ноутбук семинар Кати
8 28.02 / 03.03 Решающие деревья Ноутбук Ноутбук (solved) семинар Тимура
9 07.03 / 10.03 Случайный лес Ноутбук семинар Тимура, семинар Кати
10 14.03 / 17.03 Градиентный бустинг Ноутбукsolved семинар Кати
11 21.03 / 24.03 Введение в pytorch Ноутбук семинар Кати
12 04.04 / 07.04 Работа с изображениями, сверточные сети, регуляризация, fine-tuning Ноутбук, solved семинар Кати
13 11.04 / 14.04 RNN Ноутбук Solved туториал с примером применения nn.GRU в pytorch семинар Кати
14 18.04 / 21.04 Transformer НоутбукВизуализация архитектуры Ноутбук к семинару 21/04 семинар Кати
15 28.04 Vanishing and exploding gradients, normalization layers, residual connections Ноутбук семинар Кати
16 16.05 / 19.05 Матричные разложения и приложения, SVD, PCA, LSA Ноутбук Семинар Сони Дымченко 2020 года
17 26.05 Кластеризация Ноутбук
18 30.05 Генерация текстов, BERT, GPT Ноутбук Семинар
19 02.06 Генерация картинок, GAN, виртуальная примерочная Ноутбук

Лекции

Дата Тема Ссылки
14.01 Задачи и методы машинного обучения Видео прошлого года
17.01 Оценка качества предсказаний предиктивных моделей. Введение в статистическую теорию принятия решений. Метод k ближайших соседей. Конспект, видео прошлого года. Дополнительные конспекты: об условных вероятностях (англ.), напоминание про теорию вероятностей
24.01 Разложение ошибки на шум, смещение и разброс Конспекты: состоятельность и несмещенность статистических оценок, шум, смещение и разброс, видео лекции
31.01 Линейная регрессия, метод наименьших квадратов Конспект, видео лекции
07.02 Ещё о линейной регрессии: дисперсия МНК-оценки Конспект, видео лекции
14.02 Ещё о линейной регрессии: регуляризация. Логистическая регрессия Видео лекции, конспекты Е. Соколова: Ещё о линейных регрессиях, логистическая регрессия
21.02 Ещё о логистической регрессии Видео лекции, конспекты Е. Соколова: логистическая регрессия, многоклассовая классификация
28.02 Метод опорных векторов. Решающие деревья Видео лекции, конспекты Е. Соколова: метод опорных векторов (см. часть 2), решающие деревья
7.03 Ансамбли. Случайные леса Видео лекции, конспекты Е. Соколова: решающие леса
14.03 Градиентный бустинг Видео лекции, конспекты Е. Соколова: градиентный бустинг (мы не обсуждали AdaBoost)
21.03 Нейросети Видео лекции, Конспекты Е. Соколова: Графы вычислений и элементы глубинного обучения. Дополнительный материал: теорема об универсальной аппроксимации (англ.)
5.04 Свёрточные нейросети Видо лекции, convolutional networks (англ.)
11.04 Обработка последовательностей: свёртки и RNN Видео лекции, пост про RNN и LSTM
18.04 Механизм внимания. Архитектура transformer Видео лекции
16.05 Задачи unsupervised learning. Снижение размерности. Метод главных компонент. Кластеризация. K-means Видео лекции

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

  • ДЗ№1 (теоретическое), срок сдачи 25 января, 23:59:59, сдавать сюда.
  • ДЗ№2 (практическое), срок сдачи 23 февраля, 23:59:59, сдавать сюда.
  • ДЗ№3: соревнование (подробности в канале).
  • ДЗ№4 (теоретическая), срок сдачи 23 апреля, 23:59:59, сдавать сюда.

Прошедшие контрольные

Midterm

Final

Полезные ссылки