Практикум на ЭВМ (317)/2019 (осень)
Материал из MachineLearning.
(→Материалы занятий) |
|||
(17 промежуточных версий не показаны.) | |||
Строка 2: | Строка 2: | ||
* Зачёт с оценкой | * Зачёт с оценкой | ||
* Преподаватели: [[Участник:Kropotov|Д.А. Кропотов]], [[Участник:Arti_lehtonen| Артём Попов]], Евгений Бобров, Максим Кодрян, Максим Находнов, Чернышёв Александр | * Преподаватели: [[Участник:Kropotov|Д.А. Кропотов]], [[Участник:Arti_lehtonen| Артём Попов]], Евгений Бобров, Максим Кодрян, Максим Находнов, Чернышёв Александр | ||
- | * Занятия проходят в ауд. | + | * Занятия проходят в ауд. 506 по вторникам, начало в 16:20. Первое занятие 3 сентября. |
Анонимные отзывы по курсу можно оставлять здесь: [https://goo.gl/forms/im2Y51K0yVTgWQEQ2 ссылка на гугл-форму] | Анонимные отзывы по курсу можно оставлять здесь: [https://goo.gl/forms/im2Y51K0yVTgWQEQ2 ссылка на гугл-форму] | ||
Репозиторий со всеми материалами: [https://github.com/mmp-practicum-team/mmp_practicum_fall_2019 ссылка] | Репозиторий со всеми материалами: [https://github.com/mmp-practicum-team/mmp_practicum_fall_2019 ссылка] | ||
+ | |||
+ | Для доступа к системе сдачи заданий anytask, свяжитесь с одним из преподавателей. | ||
= Объявления = | = Объявления = | ||
Строка 12: | Строка 14: | ||
= Правила сдачи практикума = | = Правила сдачи практикума = | ||
- | 1. В рамках семестра предполагается три больших практических задания и | + | 1. В рамках семестра предполагается три больших практических задания и шесть домашних заданий. Все задания сдаются в систему anytask, инвайт к курсу можно получить у преподавателя. |
- | 2. За каждое большое практическое задание можно получить до 50-ти баллов. Задание включает в себя написание программного кода, выполнение экспериментов и написание отчёта о проделанной работе. Срок выполнения каждого задания — | + | 2. За каждое большое практическое задание можно получить до 50-ти баллов. Задание включает в себя написание программного кода, выполнение экспериментов и написание отчёта о проделанной работе. Срок выполнения каждого задания — 2 недели. Задания, сданные после этого срока, принимаются со штрафом. За каждый день штраф — 1 балл. Практическое задание считается зачтённым, если по нему выполнены и засчитаны все три этапа работы. |
3. За каждое домашнее задание можно получить от 15 до 20 баллов (в зависимости от задания). Задание включает в себя написание программного кода. Срок выполнения каждого задания — 1 неделя. Задания, сданные после этого срока, не принимаются на проверку. | 3. За каждое домашнее задание можно получить от 15 до 20 баллов (в зависимости от задания). Задание включает в себя написание программного кода. Срок выполнения каждого задания — 1 неделя. Задания, сданные после этого срока, не принимаются на проверку. | ||
Строка 20: | Строка 22: | ||
4. Предусмотрены различные бонусные активности: бонусные задачи, за которые можно получить дополнительные баллы. | 4. Предусмотрены различные бонусные активности: бонусные задачи, за которые можно получить дополнительные баллы. | ||
- | 5. | + | 5. Критерии итоговой оценки: |
- | * отлично — | + | * отлично — 170 баллов, 3 практических задания зачтены |
- | * хорошо — | + | * хорошо — 125 баллов, 2 практических задания зачтены |
- | * удовлетворительно — | + | * удовлетворительно — 85 баллов, 1 практическое задание зачтено |
= Материалы занятий = | = Материалы занятий = | ||
Строка 37: | Строка 39: | ||
Организационные вопросы. Введение в Python. | Организационные вопросы. Введение в Python. | ||
| | | | ||
+ | [https://github.com/mmp-practicum-team/mmp_practicum_fall_2019/blob/master/01_introduction/intro_slides.pdf презентация] | ||
+ | |||
+ | [https://github.com/mmp-practicum-team/mmp_practicum_fall_2019/blob/master/01_introduction/intro_notebook.ipynb ноутбук (python)] | ||
| | | | ||
+ | |||
+ | Ознакомиться с PEP8: | ||
+ | |||
+ | [https://www.python.org/dev/peps/pep-0008/ оригинал] | ||
+ | [https://pythonworld.ru/osnovy/pep-8-rukovodstvo-po-napisaniyu-koda-na-python.html перевод] | ||
+ | |||
+ | Контест 1: Python (в anytask) | ||
<!-- Конец занятия --> | <!-- Конец занятия --> | ||
- | | | + | |- <!-- Новое занятие --> |
+ | |10 сентября | ||
+ | |Занятие 2 | ||
+ | | | ||
+ | Библиотека numpy. Векторизация вычислений. | ||
+ | | | ||
+ | [https://github.com/mmp-practicum-team/mmp_practicum_fall_2019/blob/master/02_numpy/intro_to_numpy_empty.ipynb ноутбук (numpy)] | ||
+ | [https://github.com/mmp-practicum-team/mmp_practicum_fall_2019/blob/master/02_numpy/intro_to_numpy.ipynb ноутбук (numpy), заполненный] | ||
+ | |||
+ | Важные статьи документации numpy: | ||
+ | |||
+ | * [https://numpy.org/devdocs/user/theory.broadcasting.html#array-broadcasting-in-numpy broadcasting] | ||
+ | * [https://numpy.org/devdocs/reference/arrays.indexing.html#arrays-indexing advanced indexing] | ||
+ | |||
+ | | | ||
+ | Контест 2: Numpy (в anytask) | ||
+ | <!-- Конец занятия --> | ||
+ | |||
+ | |- <!-- Новое занятие --> | ||
+ | |17 сентября | ||
+ | |Занятие 3 | ||
+ | | | ||
+ | Организация кода в Python. | ||
+ | |||
+ | Функции, модули, классы. | ||
+ | | | ||
+ | [https://github.com/mmp-practicum-team/mmp_practicum_fall_2019/blob/master/03_python/python_functions_modules_classes.pdf презентация] | ||
+ | |||
+ | | | ||
+ | Контест 3: Классы (в anytask) | ||
+ | <!-- Конец занятия --> | ||
+ | |- <!-- Новое занятие --> | ||
+ | |24 сентября | ||
+ | |Занятие 4 | ||
+ | | | ||
+ | Метрические методы классификации. | ||
+ | |||
+ | Обсуждение первого практического задания. | ||
+ | |||
+ | Введение в обработку изображений. | ||
+ | |||
+ | Визуализация в Python. | ||
+ | | | ||
+ | [https://github.com/mmp-practicum-team/mmp_practicum_fall_2018/blob/master/04_knn_images/lecture.pdf конспект (о задании, 2018)] | ||
+ | |||
+ | [https://github.com/mmp-practicum-team/mmp_practicum_fall_2018/blob/master/04_knn_images/image_processing.pdf презентация (изображения, 2018)] | ||
+ | |||
+ | [https://github.com/mmp-practicum-team/mmp_practicum_fall_2018/blob/master/04_knn_images/visualization.ipynb визуализация (2018)] | ||
+ | | | ||
+ | |||
+ | [https://github.com/mmp-practicum-team/mmp_practicum_fall_2018/tree/master/Tasks/task1 1 практическое задание] | ||
+ | <!-- Конец занятия --> | ||
+ | |- <!-- Новое занятие --> | ||
+ | |01 октября | ||
+ | |Занятие 5 | ||
+ | | | ||
+ | Подготовка текстовых отчётов. Система TeX. | ||
+ | | | ||
+ | [https://github.com/mmp-practicum-team/mmp_practicum_fall_2018/blob/master/05_tex_reports/tex_reports.pdf презентация (2018)]<br> | ||
+ | [https://github.com/mmp-practicum-team/mmp_practicum_fall_2018/blob/master/05_tex_reports/lecture_source.tex пример текста в TeXе (2018)] | ||
+ | | | ||
+ | |||
+ | <!-- Конец занятия --> | ||
+ | |- <!-- Новое занятие --> | ||
+ | |8 октября | ||
+ | |Занятие 6 | ||
+ | | | ||
+ | Обработка исключений. Мененджеры контекста. Тестирование. | ||
+ | |||
+ | Подготовка коротких выступлений. | ||
+ | |||
+ | | | ||
+ | [https://github.com/mmp-practicum-team/mmp_practicum_fall_2018/blob/master/06_testing/testing.pdf презентация (тестирование, 2018)] | ||
+ | |||
+ | [https://github.com/mmp-practicum-team/mmp_practicum_fall_2018/blob/master/06_testing/presentation.pdf презентация (выступления, 2018)] | ||
+ | | | ||
+ | |||
+ | <!-- Конец занятия --> | ||
+ | |- <!-- Новое занятие --> | ||
+ | |15 октября | ||
+ | |Занятие 7 | ||
+ | | | ||
+ | Итераторы и генераторы. | ||
+ | |||
+ | | | ||
+ | [https://github.com/mmp-practicum-team/mmp_practicum_fall_2019/blob/master/07_iterators/Prac_Presentation7.pdf презентация] | ||
+ | | | ||
+ | |||
+ | <!-- Конец занятия --> | ||
+ | |- <!-- Новое занятие --> | ||
+ | |22 октября | ||
+ | |Занятие 8 | ||
+ | | Декораторы. | ||
+ | | | ||
+ | | | ||
+ | <!-- Конец занятия --> | ||
+ | |- <!-- Новое занятие --> | ||
+ | |29 октября | ||
+ | |Занятие 9 | ||
+ | | Обсуждение второго практического задания (LogReg). | ||
+ | Введение в обработку текстов. | ||
+ | | | ||
+ | | | ||
+ | <!-- Конец занятия --> | ||
+ | |- <!-- Новое занятие --> | ||
+ | |5 ноября | ||
+ | |Занятие 10 | ||
+ | | ML-инфраструктура (часть 1) | ||
+ | | | ||
+ | | | ||
+ | <!-- Конец занятия --> | ||
+ | |- <!-- Новое занятие --> | ||
+ | |19 ноября | ||
+ | |Занятие 11 | ||
+ | | ML-инфраструктура (часть 2) | ||
+ | | | ||
+ | | | ||
+ | <!-- Конец занятия --> | ||
+ | |- <!-- Новое занятие --> | ||
+ | |26 ноября | ||
+ | |Занятие 12 | ||
+ | | Обсуждение третьего практического задания. | ||
+ | | | ||
+ | | | ||
+ | <!-- Конец занятия --> | ||
+ | |} | ||
= Требования к отчёту по практическим заданиям = | = Требования к отчёту по практическим заданиям = |
Текущая версия
- Обязательный курс для студентов каф. ММП 3 курса, 5 семестр
- Зачёт с оценкой
- Преподаватели: Д.А. Кропотов, Артём Попов, Евгений Бобров, Максим Кодрян, Максим Находнов, Чернышёв Александр
- Занятия проходят в ауд. 506 по вторникам, начало в 16:20. Первое занятие 3 сентября.
Анонимные отзывы по курсу можно оставлять здесь: ссылка на гугл-форму
Репозиторий со всеми материалами: ссылка
Для доступа к системе сдачи заданий anytask, свяжитесь с одним из преподавателей.
Содержание |
Объявления
Пока нет.
Правила сдачи практикума
1. В рамках семестра предполагается три больших практических задания и шесть домашних заданий. Все задания сдаются в систему anytask, инвайт к курсу можно получить у преподавателя.
2. За каждое большое практическое задание можно получить до 50-ти баллов. Задание включает в себя написание программного кода, выполнение экспериментов и написание отчёта о проделанной работе. Срок выполнения каждого задания — 2 недели. Задания, сданные после этого срока, принимаются со штрафом. За каждый день штраф — 1 балл. Практическое задание считается зачтённым, если по нему выполнены и засчитаны все три этапа работы.
3. За каждое домашнее задание можно получить от 15 до 20 баллов (в зависимости от задания). Задание включает в себя написание программного кода. Срок выполнения каждого задания — 1 неделя. Задания, сданные после этого срока, не принимаются на проверку.
4. Предусмотрены различные бонусные активности: бонусные задачи, за которые можно получить дополнительные баллы.
5. Критерии итоговой оценки:
- отлично — 170 баллов, 3 практических задания зачтены
- хорошо — 125 баллов, 2 практических задания зачтены
- удовлетворительно — 85 баллов, 1 практическое задание зачтено
Материалы занятий
Дата | Номер | Тема | Материалы | Д/З |
---|---|---|---|---|
3 сентября | Занятие 1 |
Организационные вопросы. Введение в Python. |
Ознакомиться с PEP8: Контест 1: Python (в anytask) | |
10 сентября | Занятие 2 |
Библиотека numpy. Векторизация вычислений. |
Важные статьи документации numpy: |
Контест 2: Numpy (в anytask) |
17 сентября | Занятие 3 |
Организация кода в Python. Функции, модули, классы. |
Контест 3: Классы (в anytask) | |
24 сентября | Занятие 4 |
Метрические методы классификации. Обсуждение первого практического задания. Введение в обработку изображений. Визуализация в Python. | ||
01 октября | Занятие 5 |
Подготовка текстовых отчётов. Система TeX. | ||
8 октября | Занятие 6 |
Обработка исключений. Мененджеры контекста. Тестирование. Подготовка коротких выступлений. | ||
15 октября | Занятие 7 |
Итераторы и генераторы. | ||
22 октября | Занятие 8 | Декораторы. | ||
29 октября | Занятие 9 | Обсуждение второго практического задания (LogReg).
Введение в обработку текстов. | ||
5 ноября | Занятие 10 | ML-инфраструктура (часть 1) | ||
19 ноября | Занятие 11 | ML-инфраструктура (часть 2) | ||
26 ноября | Занятие 12 | Обсуждение третьего практического задания. |
Требования к отчёту по практическим заданиям
Отчёт должен быть самодостаточным документом в формате PDF, подготовленным в системе LATEX. Студенты, хорошо выполнившие отчёты по прошлым заданиям, получают возможность сдавать отчёты в формате HTML или PDF, подготовленные с помощью jupyter notebook.
Отчёт должен давать проверяющему ответы на следующие вопросы:
- К какому курсу относится задание?
- Какое задание выполнено?
- Кем выполнено задание?
- В чём заключалось задание?
- Что было сделано? Что не было сделано?
- Даны ли правильные ответы на все теоретические вопросы задания?
- Проведены ли все необходимые эксперименты? Получены ли осмысленные ВЫВОДЫ?
- Выполнена ли творческая часть задания?
- Пользовался ли студент чьей-либо помощью? Если да, то в каком объёме?
- Какой литературой пользовался студент?
Некоторые элементы хорошего отчёта:
- Объём отчёта: 5--20 страниц;
- Текст отчёта не повторяет полной формулировки задания;
- Структура отчёта соответствует пунктам задания;
- Используются векторные шрифты;
- Графики оформлены надлежащим образом;
- Шкала для графиков выбрана правильно;
- На разных графиках результаты для одинаковых методов отображаются одним и тем же цветом;
- Между расположением графиков и местами их упоминания в тексте относительно небольшое расстояние (на той же или на соседней странице);
- На страницах не должно быть много пустого места;
- В большинстве случаев графики/таблицы/псевдокоды алгоритмов не должны занимать большей части одной страницы отчёта;
- Все числа в тексте/таблицах указаны с необходимым числом значащих цифр;
- В большинстве случае в отчёте не должно быть никакого кода;
- Для всех экспериментов описан выбранный дизайн экспериментов, а также сделаны выводы из полученных результатов;
Требования к программному коду
- Код должен в целом соответствовать PEP8 (eng или rus )
- В частности, код должен проходить автоматическую проверку стиля ссылка. Скрипт запускается из командной строки так: python3 mmp_pep8.py <ваш скрипт>. Код, вызывающий предупреждения, может дополнительно штрафоваться.
- Код должен быть понятным и единообразным. Переменные, функции и другие элементы кода должны иметь осмысленные, значимые имена, отвечающие их назначению.
- Код, который не соответствует прототипам, выданным в задании, автоматически оценивается в 0 баллов
- Код, который не удовлетворяет требованиям задания (например, запрету на использование конкретных библиотек), автоматически оценивается в 0 баллов
- Код, содержащий плагиат, автоматически оценивается в 0 баллов
Страницы прошлых лет
2018-2019 (осень) , 2018-2019 (весна)