Практикум на ЭВМ (317)/2019 (осень)

Материал из MachineLearning.

(Различия между версиями)
Перейти к: навигация, поиск
Текущая версия (19:55, 7 сентября 2020) (править) (отменить)
(Материалы занятий)
 
(15 промежуточных версий не показаны.)
Строка 7: Строка 7:
Репозиторий со всеми материалами: [https://github.com/mmp-practicum-team/mmp_practicum_fall_2019 ссылка]
Репозиторий со всеми материалами: [https://github.com/mmp-practicum-team/mmp_practicum_fall_2019 ссылка]
 +
 +
Для доступа к системе сдачи заданий anytask, свяжитесь с одним из преподавателей.
= Объявления =
= Объявления =
Строка 14: Строка 16:
1. В рамках семестра предполагается три больших практических задания и шесть домашних заданий. Все задания сдаются в систему anytask, инвайт к курсу можно получить у преподавателя.
1. В рамках семестра предполагается три больших практических задания и шесть домашних заданий. Все задания сдаются в систему anytask, инвайт к курсу можно получить у преподавателя.
-
2. За каждое большое практическое задание можно получить до 50-ти баллов. Задание включает в себя написание программного кода, выполнение экспериментов и написание отчёта о проделанной работе. Срок выполнения каждого задания — 3 недели. Задания, сданные после этого срока, не принимаются на проверку. Практическое задание считается зачтённым, если по нему выполнены и засчитаны все три этапа работы.
+
2. За каждое большое практическое задание можно получить до 50-ти баллов. Задание включает в себя написание программного кода, выполнение экспериментов и написание отчёта о проделанной работе. Срок выполнения каждого задания — 2 недели. Задания, сданные после этого срока, принимаются со штрафом. За каждый день штраф — 1 балл. Практическое задание считается зачтённым, если по нему выполнены и засчитаны все три этапа работы.
3. За каждое домашнее задание можно получить от 15 до 20 баллов (в зависимости от задания). Задание включает в себя написание программного кода. Срок выполнения каждого задания — 1 неделя. Задания, сданные после этого срока, не принимаются на проверку.
3. За каждое домашнее задание можно получить от 15 до 20 баллов (в зависимости от задания). Задание включает в себя написание программного кода. Срок выполнения каждого задания — 1 неделя. Задания, сданные после этого срока, не принимаются на проверку.
Строка 20: Строка 22:
4. Предусмотрены различные бонусные активности: бонусные задачи, за которые можно получить дополнительные баллы.
4. Предусмотрены различные бонусные активности: бонусные задачи, за которые можно получить дополнительные баллы.
-
5. Предварительные критерии итоговой оценки:
+
5. Критерии итоговой оценки:
-
* отлично — 200 баллов, 3 практических задания зачтены
+
* отлично — 170 баллов, 3 практических задания зачтены
-
* хорошо — 150 баллов, 2 практических задания зачтены
+
* хорошо — 125 баллов, 2 практических задания зачтены
-
* удовлетворительно — 100 баллов, 1 практическое задание зачтено
+
* удовлетворительно — 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.

презентация

ноутбук (python)

Ознакомиться с PEP8:

оригинал перевод

Контест 1: Python (в anytask)

10 сентября Занятие 2

Библиотека numpy. Векторизация вычислений.

ноутбук (numpy)

ноутбук (numpy), заполненный

Важные статьи документации numpy:

Контест 2: Numpy (в anytask)

17 сентября Занятие 3

Организация кода в Python.

Функции, модули, классы.

презентация

Контест 3: Классы (в anytask)

24 сентября Занятие 4

Метрические методы классификации.

Обсуждение первого практического задания.

Введение в обработку изображений.

Визуализация в Python.

конспект (о задании, 2018)

презентация (изображения, 2018)

визуализация (2018)

1 практическое задание

01 октября Занятие 5

Подготовка текстовых отчётов. Система TeX.

презентация (2018)
пример текста в TeXе (2018)

8 октября Занятие 6

Обработка исключений. Мененджеры контекста. Тестирование.

Подготовка коротких выступлений.

презентация (тестирование, 2018)

презентация (выступления, 2018)

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 (весна)

2017-2018 (осень) , 2017-2018 (весна)

2016-2017

2015-2016

2014-2015

2013-2014

2012-2013

2011-2012

Личные инструменты