Участник:StasFomin/ML2019

Материал из DISCOPAL
Перейти к: навигация, поиск

Обязательные дисциплины

Машинное обучение

Лекции

ДЗ

01

Нифига не понял, как добится нормального результата. Но нет времени.

Надо будет потом сделать работу над ошибками, выяснить как решать эту задачу — очень похоже что из этого путь к классификации 0x1.tv


Алгоритмы и структуры данных

Наш курс состоит из лекций, семинаров и домашних заданий.

1. 10 лекций и 10 семинаров. 2. Оценки. Можно набрать 100 баллов, сдав все задачи. Оценки Отлично, Хорошо и Удовлетворительно будут ставиться за набранные баллы. Предварительно, на Удовлетворительно нужно набрать 50 баллов. 3. Дедлайны. На каждую задачу дается ограниченное время для ее решения: две недели. 4. Семинары. На семинаре преподаватель что-то рассказывает по теме, обсуждает небольшие задачи. Пишутся некоторые куски кода с трансляцией через проектор. 5. Тестирующая система. Перед тем, как сдать задачу преподавателю, ее нужно проверить в тестирующей системе. Ссылка на нее будет выдана с заданием. 6. Списывание. Списывать запрещено! За списывание предусмотрено наказание. Если замечено списывание, то у списавшего и у того, кто дал списать, задача аннулируется и вычитается 5 баллов. Чтобы не напороться на антиплагиат, не выкладывайте свои решения, не пользуйтесь кусками кода из интернета.

Если есть вопросы, пишите в комментариях, личным сообщением, в чат или на почту


3 группа. От Нарцева до Ястребова сдают Дмитрию Корепанову - dmitrykorepanov@gmail.com

Просьба присылать ссылки на посылки на почту с пометкой в теме "MADE12:". Ссылка на посылку обычно выглядит вот так: https://contest.yandex.ru/contest/14656/run-report/223322323322/

Дедлайны устанавливаются в две недели после публикации видео-материалов. В нашем случае для первого и второго задания - это 7 ноября.

Лекции

1
https://www.youtube.com/watch?v=WMGyg_IAawg
2
https://www.youtube.com/watch?v=1g36w_N_q6E


Advanced C++

Лекции

01

Слайды
https://drive.google.com/open?id=1sGruLwlTn5ld5dunBjcITxzR4BPofnE3

02

Слайды
https://drive.google.com/open?id=1PD6z-zhgVfVBkI7GcewdXJKylV77aL7I


HW

Для успешного прохождения курса должны быть выполнены ВСЕ домашние задания. Задания объявляются в конце каждого занятия, время на выполнение - одна неделя. Под выполнением подразумевается не просто присланное на проверку задание, а еще и его успешная защита, то есть оценка в ведомости.

Требования к домашним заданиям:

  • В вашем github должен быть репозиторий made_2019_cpp
  • Внутри репозитория должны быть директории из двух цифр, вида: 01, 02 и т.д. - это номера домашних заданий
  • Внутри каждой директории могут быть любые файлы реализующие задачу. Обязательным является только файл Makefile
  • В Makefile обязательно должны быть цели test и run. run запускает бинарный файл с домашним заданием, test запускает тесты вашего решения
  • Собираться ваш код должен компилятором С++ поддерживающим 14 стандарт
  • Внешних зависимостей быть не должно

После выполнения домашнего задания присылайте Владиславу Смирнову (vladislav.smirnov@corp.mail.ru) письмо с темой made_2019_cpp_номердз

Как оцениваются задания

1 балл, если задание выполнено (написан код, код делает то, что указано в задании, код покрыт тестами) +1 балл, если задание было сдано вовремя +2 балла на усмотрение проверяющего

Итого от 1 до 4 баллов за каждое задание.


За каждую задачу в курсе вы можете получить до 4 баллов. 1 балл из них вы теряете, если задача полностью защищена после указанных сроков. Полные правила сдачи вы можете посмотреть здесь Через неделю будут опубликованы следующие доступные лекции. К этому времени я ожидаю, что большинство из вас уже пройдет ревью домашнего задания 1, а может и обоих. Тогда вам будет более понятно, что от вас ожидается при оформлении кода.

Обсудить непонятные вопросы при выполнении дз или посмотреть на моменты, с которыми столкнулись другие студенты, вы можете в канале cpp в слаке.

Присылайте домашние задания на мою почту (vladislav.smirnov@corp.mail.ru). Учтите, что проверка может занять примерно до 3 итераций, так что задание стоит присылать за 3-4 дня до дедлайна, если вы не уверены, что оформили всё идеально. При проверке учитывается не только реализация алгоритма, но и его оформление. Будем обсуждать как правильно писать код, делить на логические части и обрабатывать ошибки.

01

1 ДЗ - 31.10.19 00:00

02

2 ДЗ - 07.11.19 00:00


Advanced Java

ДЗ надо сделать в течение недели после публикации до следующего занятия. Код запушить код в гитхаб, сделать пул реквест из бранчи в мастер, ссылку на пул реквест прислать мне. При решении попытайтесь написать красивое ооп решение. И обязательно надо добавить unit тесты

При ревью я постараюсь написать, как можно улучшить ваше решение, поэтому чем раньше вы пришлете решение, тем более подробное код ревью получить. Даже несколько раундов код ревью. По любым вопросам можно писать мне в слак. Для студентов, кто учится удалено, можно прислать решение или сразу, или как станут доступны видео лекции.

Лекции

01
https://www.youtube.com/watch?v=Ae64zyPbHg4
02
https://www.youtube.com/watch?v=HsHErIqZyWg


HW

01

Написать программу, которая считывает входной параметр c командной строки. Это имя файла. В этом файле находится информация о сделке в следующем формате: Trade: { “type”: {typeValue}, “price”: {priceValue} } Возможные значения {typeValue}: FX_SPOT, BOND, COMMODITY_SPOT, IR_SWAP и т.д. priceValue – числовое значение.

Ваша задача - считать информацию о сделке и создать объект, описанный в файле. Каждому типу сделки соответствует свой класс. price – поле сделки, нужно установить его значение. Для считывания файла используйте классы пакета java.io Задачу нужно решить двумя способами: Первый способ – с помощью конструкции switch или if switch (tradeType) { case “FX_SPOT” : .. Второй способ – создать enum TradeType c абстрактным методом createTrade(…). Додумать самим дальше, как можно здесь использовать enum. Написать логику, так чтобы ее можно было переиспользовать (например, может измениться источник данных – консоль вместо файла).

Написать unit тесты к решению. Junit подключить через gradle. Вся бизнес логика должна быть в классах, которые реализуют определенный интерфейс. Писать основную логику в static методах не надо.