HSE Продвинутый C++ 2021
390 subscribers
1 photo
2 files
32 links
Download Telegram
Раз обсуждение в чате происходит. Я недоглядел эту историю, поэтому я объявляю policy, которой мы будем придерживаться. Ответственность, если вы планировали, и мы вам подпортили жизнь беру я.

Мы не добавляем тестов за половину времени до дедлайна, то есть мы не добавляем тестов за неделю, если дедлайн 2, и не добавляем тестов за 1.5 если дедлайн в 3 недели. Как бы люди не пихали плохие решения, это начинает сказываться на вашем времени и ощущении неопределённости. Я не хочу, чтобы это было так.

Если мы добавляем тесты, то это должно учить какой-то истории. Например, бывает, что масса людей сдала плохое решение, которое мы не хотели, и тогда мы можем добавить и сделать так, чтобы вы перерешали. Инженерный код субъективный, поэтому здесь не получится как на ICPC контестах, — это всегда баланс между чистотой кода, корректностью и нашим желанием чему-то научить.

Если единичные решения плохие, мы не будем добавлять тесты, чтобы поломать вас. Мы можем написать с просьбой переделать, но формально вы это не обязаны делать. Запихали и запихали, мы всё в итоге не найдём, а так создаём только преценденты для плохих отношений и неопределенности.
+2 дня к scheme

Последнее дз двигаться не будет, там не будет времени
В эту субботу лекции по С++ не будет, будет перенос, о нем сообщу как только узнаю
Завтра будет лекция по С++ в 13:00 во время математической логики

Поговорим про многопоточность в индустрии, синхронные, асинхронные парадигмы -- лёгкие треды, корутины. Немного про науку, про модели памяти атомарных операций, транзакционную память, если останется время.

Если будет огромный интерес, сделаем ещё одну лекцию на след неделе по продвинутым темам. Но для тех, кто сильно заинтересуется, посоветуем пройти на РС и курс от Романа Липовского
Формат пересдачи по C++:

Мы разрешим дорешать все задачи (мелкие и большие), но максимум от баллов каждой задачи можно будет получить 60%. Это идёт поверх заработанных баллов.

Также со всеми, кто пересдает, мы поговорим лично по решенным задачам и можем задавать вопросы по коду у любой задачи

Максимум на пересдаче можно получить 6
В задаче timerqueue используйте wait_until c std::condition_variable, wait_for пораждает false positive у TSAN https://github.com/google/sanitizers/issues/1259

С днём новых задач! 🤡 — Вчера был весь день в перелётах. Добавили 4 задачи.

Сейчас выложу все лекции на ютуб и в репозиторий, я вылетел из графика немного из-за таймзон.

Большую домашку выложим на след неделе, мы хотим поработать над материалами, чтобы вы совсем не умерли.

Оценка за бонусы: максимум 1.5 балла к итогу. Сейчас 7 задач, мы добавим максимум ещё 1-2. В итоге оценка за бонус будет кол-во решённых / кол-во бонусов * 1.5
Система будет недоступна в период с 2:30 до 3:30.

Скорее всего ничего не поломается, но вероятность есть, задачи могут не сдаваться.
Доброй ночи/утра

Мы добавили пару задач, это coroutine и generator в новый семинар (больше задач в семинаре не будет). Они с большой вероятностью могут у вас не собраться. Чтобы это исправить, сделайте одно из трёх

1.
На ubuntu и debian установите пакет libboost-context-dev sudo apt install libboost-context-dev
На mac brew install boost
2.
Соберите из исходников только библиотеку context и указывайте в CMake пусть до установки через -DBOOST_ROOT=<path>. Прочитайте внимательно инструкцию по ссылке
3.
Если вы не планируете решать задачи совсем, закомментируйте в CMakeLists.txt эти две строки до того момента, как захотите решать задачи

Мы добавили бонус executors. Он оценивается в отдельные 0.5 балла в итог. Он не идёт в количественные бонусы, то есть всего бонусов до сих пор 7, за них 1.5 балла. За executors ещё 0.5 балла, в итоге за бонусы вы можете получить 2 балла. Мы советуем решать этот бонус только если вам не хватает сил или мотивации решать последнюю БДЗ, задача достаточно объёмная.


Табличку с оценками сделаем в ближайшее время, чтобы вы могли трекать свои текущие баллы
Мы выложили новое большое домашнее задание.

Это jpeg-decoder.

В нём 6 пунктов, максимум 12.5 баллов. Мы думаем, что пункт progressive самый тяжелый (и оценивается в 2.5), прочитайте все остальные. Также в этом задании есть элемент закрытых тестов -- это fuzzing тестирование. Вы можете это тестирование запускать у себя, в этом плане оно открытое.

Дедлайн 26 декабря 23:59:59. Ночью 27 декабря мы запустим все решения друг против друга. Все упавшие решения не получат баллов, которые мы указали на пункт fuzz.

Все детали на лекциях и семинарах, но вы можете начинать читать материалы, указанные в условии.

Мы можем немного менять тесты или добавить пару жпегов, всё как обычно.

В задаче также есть пасхалка, напишите лектору или семинаристу, если вы думаете, что нашли её. Первым 10 людям мы поставим +1 балл за это дз, если вы сможете её объяснить.

Удачи!
Задач больше не будет на курсе. Делайте большое дз
Мы посмотрели на ваши посылки в jpeg-decoder/fftw. Два момента:

1) Вам нужно использовать библиотеку FFTW. Не пишите вычисления по формуле руками, это приведет вас к проблемам с точностью, которые будет сложно обнаружить.

Мы забанили функции cos и acos, 4 сданных решения перетестировали. Это не универсальная проверка, но не пытайтесь ее обойти, пожалуйста.

2) Переиспользуйте план, который подготовила библиотека FFTW, между вызовами DctCalculator::Inverse(), не создавайте его каждый раз заново -- это неэффективно.

В ближайшее время мы добавим бенчмарк, проверяющий это.
Мы починили подзадачу faster в jpeg-decoder и слегка ослабили условие на перформанс (теперь надо уложиться в 8 секунд, а не в 6)
Напоминаем, что списывание строго запрещено на курсе. И карается снятием всей недели при обнаружении, а также запиской в учебный офис.

Мы в скором времени проверим все решения на списывание, в том числе и из открытых источников.

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

За курс мы нашли уже 16 случаев у 10 студентов. При обнаружении списывания у двух студентов, мы руками проверяем все остальные задачи. У некоторых студентов обнулились уже 3 недели.
В эту субботу последняя лекция по C++, поговорим про перф C++, место C++ в мире и что нас ждёт в будущем
28 декабря в 18:00 MSK посиделки со всем препод. составом по курсу С++ (или практически всем)

Начнём, наверное, с РС и каких-то баек, но задать вопросы можно любые

Вопросы: https://forms.gle/rBLV6DpZStFW4x1RA
Ссылка: https://zoom.us/j/92427240857?pwd=L3UyVnFRRHh1N2RzVmVZZUFabXhSQT09
Сегодня после 23:59 за все ноль
Фаззинг huffman и fftw прошли у всех, кто сдал, про baseline мы скажем с утра
HSE Продвинутый C++ 2021
Фаззинг huffman и fftw прошли у всех, кто сдал, про baseline мы скажем с утра
По состоянию на 22:48 London time живы только 5 решений

hse-Abramovich-Vladislav-ohhimarkk
hse-Semyon-Yentsov-swalrus
hse-Tagir-Khamitov-tagirkhamitov
hse-Tim-Gritsaev-timgri93
hse-Mikhail-Gusev-mcnckc
4 решения

Abramovich Vladislav выбывает из-за OOM инпута в 1036 байт