Викилоги
2022-04-28
Так делать не надо:
- Leetcode/minimum-cost-to-cut-a-stick — испорчена задача, не питон, сколько уже можно объяснять.
- Литкодовские должны решаться.
- Codechefские скорее да, но надо смотреть. Spoj-могут быть проблемны.
- Профилирование
python -m cProfile -s cumulative mycode.py < bigcase.txt >profile.log
- Отладка в VSCode
{ "name": "mycode", "type": "python", "request": "launch", "program": "mycode.py", "console": "integratedTerminal", "justMyCode": true, "args": ["<", "mycode.txt"] },
- Розыгрыш «хор»-зачета за баллы.
- Двойной выигрыш → «отл»
- Логинимся сюда
- Потом кликаем на https://discopal-lab.0x1.tv/auth/oauth1?target=%2Fauth%2Fsign-in
- Соглашаемся со всем там.
- Вы должны оказаться залогинены в https://discopal-lab.0x1.tv
- Потом пройдите по ссылке- приглашению в проект «coding-tasks»
- Потом откроем совместную сессию и покодим.
- Потом пройдите по ссылке- приглашению в проект «lectures-notebooks»
Если что не получилось — посмотрите, там дальше ссылка с видео
Поразбираем:
2022-04-21
Так делать не надо:
Поразбираем:
Розыгрыш «хор»-зачета за баллы.
- Логинимся сюда
- Потом кликаем на https://discopal-lab.0x1.tv/auth/oauth1?target=%2Fauth%2Fsign-in
- Соглашаемся со всем там.
- Вы должны оказаться залогинены в https://discopal-lab.0x1.tv
- Потом пройдите по ссылке приглашению в проект «coding-tasks»
- Потом откроем совместную сессию и покодим.
Если что не получилось — посмотрите, там дальше ссылка с видео
- Категория:На_проверку
- «Отл» за 5 задач из Spoj/Codechef (не LeetCode) + одна теоретическая
- «Хор» за 3 задачи из Spoj/Codechef (не LeetCode).
2022-04-14
- Логинимся сюда
- Потом кликаем на https://discopal-lab.0x1.tv/auth/oauth1?target=%2Fauth%2Fsign-in
- Соглашаемся со всем там.
- Вы должны оказаться залогинены в https://discopal-lab.0x1.tv
- Потом пройдите по ссылке приглашению в проект «coding-tasks»
- Потом откроем совместную сессию и покодим.
Если что не получилось — посмотрите, там дальше ссылка с видео
- Категория:На_проверку
- «Отл» за 5 задач из Spoj/Codechef (не LeetCode) + одна теоретическая
- «Хор» за 3 задачи из Spoj/Codechef (не LeetCode).
Кому скучно:
Поразбираем:
2022-04-07
- Логинимся сюда
- Потом кликаем на https://discopal-lab.0x1.tv/auth/oauth1?target=%2Fauth%2Fsign-in
- Соглашаемся со всем там.
- Вы должны оказаться залогинены в https://discopal-lab.0x1.tv
- Потом пройдите по ссылке приглашению в проект «coding-tasks»
- Потом откроем совместную сессию и покодим.
Если что не получилось — посмотрите, там дальше ссылка с видео
- Категория:На_проверку
- «Отл» за 4 задачи из Spoj/Codechef (не LeetCode).
- «Хор» за 3 задачи из Spoj/Codechef (не LeetCode).
Кому скучно:
Поразбираем:
2022-03-31 Feedback
Решения задач — ищем решения именно на Python! «4 из 6» колонок чтобы были накрыты (некоторые задачи могут накрыть две колонки — две темы.
- User:Nechda — не на C++.
- «Отл» за 3 задачи из Spoj/Codechef (не LeetCode).
- До сих пор открыто после будет за 4 задачи.
Кому скучно:
Поразбираем:
2022-03-24 Feedback
Решения задач — так держать!
- «отл» автоматом для тех, кому не лень
- Участник:Shishqa/codechef/MRS
- Хорошая техника ускорения питона — I/O
- Не жалко → Участник:Shishqa/Spoj/PRMFN
- Участник:Fckxorg/RANAGIC
- «Отл-автоматом» — теперь, при условии хотя бы одной теорзадачи.
- Эта неделя → «Отл» за 3 задачи из Spoj/Codechef.
- Spoj — Browsec.
- https://www.youtube.com/channel/UC81Q2wnuk5KqOFVgAbq4nUw — разбор задач.
2021-12-20 Feedback по jupyter-ноутбукам
Просмотрел несколько видеопрезентаций по юпитер-ноутбукам.
- Часто встречается паттерн «свалка кода сбоку» в рядом лежащих питон-файлах, в ноутбуке только интерфейс к какому-нибудь простому интерфейсу. Это конечно, не то, что хотелось бы.
- Почему это плохо?
- Такой ноутбук «не работает» как передача знаний, он бесполезен, он не лучше, чем кусок кода, ибо все равно
- разбирающемуся придется реинженирить код, его функциональные связи, что там и что означает…
- такой ноутбук не «расшарить» в colab.research.google.com или cocalc.com (там всегда плохо на тему шаринга рядом лежащих файлов).
- он не работает как презентация-пояснение-живой плейграунд («а что если тут поменять XXX»?).
- Посмотрите реально примеры и разбор из Blog:Advanced Algorithms/2021-12-01 Как делать лучше jupyter по статьям
- Последовательно вводите понятия, каждая питон функция в отдельной ячейке, в ячейке перед ней — описание, в ячейке после нее — примеры вызова с характерными данными.
- Не бойтесь, если будет длинно — никогда не жалейте места для лишних слайдов или ячеек в ноутбуках — в зависимости от аудитории, слайды-ячейки можно пропустить, зато гарантирует, что хоть кто-то разберется в теме (включая вас, такой рефакторинг для научного ресерча — самый эффективный способ найти проблему).
- Вот пример неплохого доклада вашего однокурсника → https://youtu.be/XeZTpQWTDUU (ноутбук)
- При записи доклада, разумно использовать какой-нибудь экранный аннотатор (рисовалку), на худой конец, поставьте курсор побольше, это поможет.
- В идеале — добавляйте вебкамеру и научится хромакею. Учитывая, что защита в этом году будет скорее всего дистанционная — хороший повод потренироваться записывать себя, чтобы потом вырезать неудачное, остальное ускорить, и потом прокрутить на защите идеально выведенный по таймлимиту ролик защиты (на вопросы подключится живьем).
- По срокам — я выторговал в деканате до 25го декабря, но лучше не задерживать до последнего момента.
StasFomin 13:56, 20 декабря 2021 (UTC)
2021-11-15 Research Block
Концептуально:
- Это на «отл»
- Win-Win!
- Моделирование диплома-научной работы и ее защиты.
- глобальная проблема воспроизводимости + https://paperswithcode.com/ → мы помогаем решать.
- Свежие статьи на относительно знакомые темы
- Надо «воспроизвести»
- Юпитер-ноутбук или SageWorksheet или …
- Наш сервис — https://discopal-lab.0x1.tv
- Почему наш?
- https://colab.research.google.com — хорошая альтернатива, но
- все теряется, сложно собрать все времесте.
- только ядро Python (нет R/Sage/… возможно у нас будет Coq и т.п.)
- Почему не jupyterlab или jupyterhub — нет коллаборации.
- Почему не cocalc.com — стал хотеть денех.
- Введение будет отдельно
- Но разобраться что есть юпитер-ноутбук можно и самостоятельно
- Доступ к https://discopal-lab.0x1.tv (логин/емейл-пароль) получите лично (почта или тг)
- Как только пройдете более простые квесты (по задачам и тестам).
- Резервируем статью
- Открытые статьи для разбора
- Примерно как с было задачами
- Выбирайте из Открытые статьи для разбора, переходите к редактированию по «Беру…» →
- помечайте их как {{reserve-task|~~~~~}}
- «Зарезервированные статьи» убираются в Зарезервированные практические задачи
- Только одна статья! Но максимально качественно!
- Заводите в discopal-lab.0x1.tv проект.
- Правильно загрузить туда PDF статьи (на всякий случай).
- И что еще.
- И делайте юпитер-ноутбук, sage-лист и что еще.
- Полностью «переписывать статью не надо»
- Разобраться в введении
- Воспроизвести максимально декомпозировав, основной алгоритм.
- Доказательства не нужны.
- «Модель»-«Алгоритм»
- Если что не получается — пингуйте.
- Можно конечно
- Работать с локальным Jupyter
- Использовать colab
- Но регулярно перегружайте в discopal-lab — чтобы я видел прогресс, и мог комментировать-корректировать.
- Можно конечно
- Как что получится.
- Срок — первая группа — давайте попробуем до 5 декабря.
2021-11-21 Feedback
- Поздравляем тех, кто не побоялся «challenge»-задач на отлично. Часто решения там были тривиальны:
- Участник:Golovanova.oi/SRTX16E (+ Участник:MCheck/Practice/BYTESM2 + +, +, +)
- Проблема местами в чтении списка интов со входа.
- Если проблемы в решении → исправляем и снова «на проверку». (1)
- Оформление:
- Ссылки в решении → сначала на страницу, не напрямую на сайт.
- Резервирование:
- Не гонитесь за количеством литкодов — это на «уд», база.
- Выгнал из резервированных кому хватит!
- Никого левого не пускаем! — не зовите.
- Совсем плохо с решением задач — ну гуглите решения, или даже смотрите ютуб-каналы с разбором.
- Идея баланса — «задачи ←→ теория-тесты ←→ ресерч-навык»
- Вариант без «теории»
- Неделя «отл» за два «не LeetCode»-решения (Spoj/CodeChef). → до 22.11 включительно. (ну при этом надо чтобы было 4х-задачное покрытие тем, как обычно». А 23го подведем итоги по задачам (чтобы больше их не решать), откинем и удачливых, и тех, кто не осилил, и будет очередной созвон по теории.
- Как отлаживать без тестов?
- Написать генератор
- Проверить существующими решениями на других языках
2021-10-15 Practical Block
Концептуально:
- Win-Win!
- Абсолютно практические задачи с собеседований.
- LeetCode
- CodeChef
- SpojCode
- Сотни решенных и нерешенных
- Условно поделены на «Dynamic Programming», «Greedy», «Random», «Sorting», «Numbers»
- Нужно быть залогиненным
- Скрыто из интернета
- Изучайте Решенные практические задачи (Их там 1396)
- Надо решить 4 задачи из разных разделов.
- Или взять бонусную задачу — «отл» автоматом.
- Выбирайте задачи из Открытые практические задачи, переходите к редактированию по «Беру…» →
- помечайте их как {{reserve-task|~~~~~}}
- Зарезервированные задачи убираются в Зарезервированные практические задачи
(Их там 151)
- Не нужно брать десятки задач на себя сразу, и освобождайте то, что не получается.
- Решенное
- Ну смотрите, как оформлено в прошлые годы
- Решение на подстранице вашей личной страницы
- Вики-ссылка на задачу
- Python-код в «<source lang="python"></source>»
- Метка «{{checkme}}», когда решите.
- Внизу вставка всего этого по клику →
- Они попадут в Категория:На проверку
(Их там 22)
- Как легче решать Python
- Загрузка данных
- Выбирайте более свежий CPython или PyPy.
2021-09-03 Анонс «Эффективных алгоритмов-2021»
Кратко, что будет, чего не будет и что ждать.
- Лекций — не будет. Это бред и бессмыслица, особенно при дистанционке. Созвоны будут при небходимости, в формате семинара, может индивидуальные.
- Будет путешествие-квест, с разными активностями.
- Берем только практические вещи — алгоритмы для разных задач, особенно NP-полных.
- Условно будет три блока
- Теоретический — прочитать темы, посмотреть записи лекций, пройти тестирование, возможно решить некоторые теорзадачи.
- Тут будет первый отсев — если не проходите тесты (отсеим, скажем, 25% нижних), то «досвидания».
- Не рекламируйте этот курс — чем меньше народу, тем будет лучше. Я заинтересован сократить численность всеми способами. Особенно нафиг я посылаю всех, кто пытается запрыгнуть в курс в середине семестра и позже. Без шансов. Когда-то прогибался в виде исключения, сейчас не буду.
- Легкий практический — решение нескольки задач, даваемых на собеседованиях в IT-компаниях, типа LeetCoding, SpojCoding, CodeChefing и т.п.
- Тут будет второй отсев — но можно будет тут свалить, получив «уд» — кому нужно время, и не очень все это интересно.
- Теор-практический — взять некоторую тему из заданных (свежая статья, я отберу), и сделать ее разбор-презентацию-реализацию в каком-нибудь jupyter или cocalc-ноутбуке (там будет видно). Тут возможно будет и индивидуальная работа и может тренировка презентейшн скиллс, что полезно для ваших дипломов (сколько я смотрел защит, все ужасно).
Ну остальные новости будут в группе, если что. Вопросы тоже там или напрямую.
Как зарегистрироваться — написано на основной странице курса, где все и будет https://discopal.ispras.ru/Advanced-algorithms
Регистраций открыта до 15 октября.
Подумайте еще раз — надо ли вам это. «Халявы», «Лекций», «Оценок за удаленную посещаемость» тут не будет. Даже «уд. нахаляву». Посмотрите, вокруг полно интересных курсов по выбору.
2021-05-20
- Большой тест в подарок.
- Кучу тем Курс лекций «Сложность алгоритмов» (ИСПРАН, 3 курс МФТИ)#не берем в этом году
- «A»-фактор поделен на 5.
- Больше баллов за самостоятельную работу.
- Continuous Integration — оценки выставляются непрерывно до середины июня. Или нет?
- Похоже выставляем скрочно, до конца пятницы.
- С 15:00 до 17:00 меня можно найти в ИСПРАН, 301 комнате, и попробовать сдать лично (кому не хватает баллов и т.п.).
- Проблемы с оформлением:
- Как бороться с NZEC с задачами.
- Пишите генератор тестов.
- Сравнивайте с имеющимися решениями на C
- Непитоновые задачи засчитывались — Участник:Srip09/USelection
- Много совсем не проходит тесты — 1, 2
- Новый блок задач (отдельная графа в суммировании)
- Сегодня и завтра даются баллы за решения с нарушением TL за 3 балла!, разумеется, если запускать в PyPy режиме — Почти как полное решение, хотя тут даже не факт, что пройдет нетривиальные тесты. Пользуйтесь!
2021-03-12
- Более-менее все зарегистрировались
- Пошли оценки — геймификация
- Стартует квест
- CodeChefing — должно хватить всем, повышенные баллы (4) до 18 марта.
- SpojCoding
- LeetCoding
2021-03-11
- Начинаем штрафовать за непрохождение квеста регистрации.
- Блокирует оценку за тесты
- Как добавлять категории
- Не забываем ссылки на исходную задачу, [1], [2]
- Отслеживайте замечания про проблемы в решении → [3]
- Главный секрет метрик!
, где — очки за задачу. Т.е. выгодно решить 1-2 задачи в каждой из тем, вместо того, чтобы выгрызать только одну тему, насобачившись решать что-то одно.
- Переключаемся в алгоритмы. Новый фокус. Курс лекций «Сложность алгоритмов» (ИСПРАН, 3 курс МФТИ)#Фокус
- Новые квесты → LeetCoding и SpojCoding. Можно питонизировать решенное!
- Видеозаписи собраний будут собираться тут → Курс лекций «Сложность алгоритмов» (ИСПРАН, 3 курс МФТИ)/Видео/2021
2020-12-22 Feedback
- Понижены
- Стартовые штрафы ленивым
- Границы перцентилей
- «Отлично» в два раза меньше «Лидеров»
- Numb3rs
- 18/30 финишировали с оценкой
- Только в SpojCoding
- 39 нерешенных задач
- 147 решенных и не питонизированных
- А еще LeetCoding
- {{checkme}}
- Давайте отгружайте активней!
- Можно срубать «чужие блоки», если старше 5 дней.
- Бывают столкновения правок [1]
- Quest-D — на самом деле легкий способ улучшить оценку на балл, не пренебрегайте.
- User:Easik — c самых больших штрафов, до «отл»
2020-12-15 Feedback
- Решение каждой задачи на отдельной странице, а не как [1]
- 1, 2, 3, 4, 5, … — проверяйте перед записью!
- «Time Limit Exceeded» — если не питон, то скорее всего алгоритм сильно не оптимален (квадрат вместо nlogn, экспонента вместо полинома и т.п.).
- «1 → 2» — списывать и передавать решения неспортивно!
- Штраф для «раздолбаев» понижен — включайтесь!
- Новая возможность — написать питон решение к задачам решенным не на Python
- Иногда это может быть сложно — понять длинное решение на C или Rust
- Но в целом, полезный навык
- Можно использовать для тестирования своего решения
- по 2 балла за задачу
- Таких много, несколько десятков.
- Можно даже если это вы сами
- Если не укладываетесь по времени — пробуйте PyPy
- Местами есть проблемы Участник:Andriygav/BAT3
- Иногда это может быть сложно — понять длинное решение на C или Rust
- Привлечь внимание {{checkme}} (новое решение, исправление старого, и т.п.)
- Для тех, кому надоели задачи и хочеться чуть лекций
- Quest-D — три балла отдельно.
- Сроки — скажем до 29 декабря.
- Может можно будет продолжить, не уверен.
- «запланированные даты экзамена» — игнорируйте.
- Оптимально — баланс по темам!
- Leet/Spoj
- Хороший питон — numpy
- Leetcoding — мягче, показывает, где фейл
- Несравнимо с CodeForces — издевательство, все в ведро…
- В целом — мы делаем полезное!
- Можете рекламировать себя («подпишись на мой гитхаб»).
- Можно добавлять новонайденные задачи с этих ресурсов в соответствующие разделы.
- Насколько часто проверяю?
- Служебная:Свежие_правки
- Стараюсь раз в несколько дней «начать проверочный обход»
- Убираю «Блокирующие метки» старше 5 дней!
- Начиная со следующей недели можно фиксировать отметки!
2020-12-01 Feedback
Проблемы
- Трудно определимый код (Rusal)
- Зависания и «блокировки» задач
- Это четыре тильды, не три.
- Теперь 5 дней.
- «Блокировку» можно стирать после решения.
- Красивее код
- Он не только для задачи, но и для ваших коллег.
- тег «code-python», «code-cpp»
- Ссылку на исходную задачу
- Лишних категорий не надо.
Оценки
- Участник:Phokov — молодец.
- Порадуем трех первых сразу!
- Лучше понадкусывать везде!
- Автоматического «уд» нет, обязанности «принимать» — тоже нет.
- Курсов по выбору много.
- A_index
- Квест по машинлернингу.
- 0x1-classification — 20 баллов за разумное, 12 — за минимально вменяемое. Наверное можно даже троих параллельно.
2020-05-19 Дистанционный зачет по «Эффективным алгоритмам»
Всем привет. Пора выходить на финишную прямую в весеннем курсе 2020.
Как обычно, в курсе учитывалась разнородная активность:
- реальные занятия (до карантина), активность на оффлайн занятии, прохождение там же тестов,
- дистанционная работа:
- ревью лекций
- решения теоретических задач
- решения практических задач — квест LeetCoding
Тезисы:
- Активность последний месяц была не очень высока (хотя возможностей была масса).
- Неполенившиеся уже получили «отл»
- «Win-Win» — оценка справедливо соответствуюет трудозатратам.
- Никакого каргокульта («зачетных дней») — все распределенное и асинхронное.
- Есть еще время (минимум неделя).
- Оставшиеся квесты:
- У кого совсем плохо с кодом — три раза будут проведены тесты — они будут появятся сверху на странице курса.
- Окна:
- Пятница, 22 мая, 13:00-13:30
- Суббота, 23 мая, 14:00-14:30
- Понедельник, 25 мая, 15:00-15:30
- Вторник, 26 мая, 22:00-22:30
- Окна:
- У кого совсем плохо с кодом — три раза будут проведены тесты — они будут появятся сверху на странице курса.
- У кого «хор», но очень хочется улучшить оценку до «отл» — свяжитесь со мной, есть квест (смотреть и комментировать околонаучные доклады), как можно улучшить оффлайн (что-то типа Quest-O).
Выход на финишную прямую в 2019
- Update
- Оценки автоматом проставлены.
- Сейчас те, у кого не хватает на «хор», могут (еще три дня), добрать до баллов решая LeetCoding. Все, этот квест закрыт.
- У кого «хор», но очень хочется улучшить оценку до «отл» — свяжитесь со мной, есть квест (смотреть и комментировать околонаучные доклады), как можно улучшить оффлайн.
- Экзамен для оставшихся — в последнюю неделю, в 301 ИСПРАН, отдельно сделаем регистрацию.
Прием экзамена, 13:00, ИСПРАН, 301 аудитория.
Записывайтесь на удобную дату.
|
Вы должны войти в систему, чтобы участвовать в этом голосовании.
Процесс сдачи будет включать:
- Фильтрацию входящих тестами (если совсем не готов — не тратим время друг друга).
- Вопросы по теме («почему так»), Категория:Решенные задачи, Категория:Нерешенные задачи
Всем привет.
Пора выходить на финишную прямую в курсе 2019.
Как обычно, в курсе учитывалась разнородная активность — активность на оффлайн занятии, прохождение там же тестов, в качестве домашней работы предлагались квесты LeetCoding и подготовка докладов по Jupyterization, плюс для некоторых, подготовка докладов по их личным исследовательским темам.
С подготовкой докладов ( в этом году вышло не так активно, как ожидалось, и в целом, учитывая что в 6 декабря занятия не будет[1], у нас остается три онлайн занятия, после которых по результатам баллов, будет предложены оценки автоматом на «хорошо» и «отлично».
Хорошие новости — скорее всего, в этом году планку немного снизим (планирую отсечку по персентилям 0.45 и 0.7).
Ну и для тех, кто боится (или они не получались) задач на LeetCoding — я отсыпал большую пачку задач по жадными алгоритмам и графам со сложностью «Medium» (в разделах Medium). Они будут чуть дешевле, но даже решая только их можно набрать на автомат.
Опция обычного экзамена тоже есть, она будет наверное в последнюю неделю, 25-27 декабря, в ИСПРАН, в 301 аудитории, со временем определимся позже.
- ↑ Приглашаем всех на бесплатную конференцию https://www.isprasopen.ru/, в здании РАН, хорошая тусовка и еда, кроме докладов.