Спортивное программирование для студентов


#33

Наверное, впервые выступлю оппонентом в подобной беседе - т.к. горячо люблю спортивное программирование :slight_smile: Для тех, кто не в курсе - был в этой теме на протяжении 8-10 лет.

  1. Полностью согласен!
  2. Нет. Нет и еще раз нет. Ограниченность времени скорее учит оперативному наложению костылей и заглушек, обхватывающих 60-80% тестовых случаев. Попытка решать на 100 обычно вырождается в единственную решенную задачу из 3/5/… На работе обычно требуется противоположное: решай до посинения единственную задачу. Речь идет о задачах минимум областного уровня, а если по-хорошему - всероссийского. Задачи уровня города/области обычно представляют собой минимум логики и знание одного-двух общеизвестных алгоритмов. Такие можно и нужно решать на 100%. Задания олимпиад на базе университетов или той же IT-планеты по сути своей от школьных отличаются только контингентом участников.
  3. См. 2.
  4. Согласен, в общем-то. Однако, большая часть таких командных олимпиад есть по сути разделение списка задач на различных людей. В идеале - задача должна быть единственной, сложной, и не имеющей гарантированно наилучшего решения(на тему ML, например), тогда есть смысл именно в командной работе. По опыту участия в мехматовских командных олимпиадах - задачи не настолько сложны, чтобы требовать совместной работы над каждой задачей.
  5. Не буду беседовать о том, что не изучал.

Заметил также за собой одну болезнь(слава богам программирования, поправимо): противоестественное желание писать самому абсолютно все, лишь через какое-то время догадываясь о том, что оно еще где-то написано. И лучше.

Кстати, как насчет такой идеи олимпиады: командная, использовать можно абсолютно любые средства, внешние библиотеки(математические, парсеры, IPP - что в голову придёт), но и уровень задачи соответственно повышается. Время на решение - день, два, неделя. Профит - вместе с академическим и спортивным опытом также появляется опыт серьёзной, приближенной к реальной, работы. Зачем это нужно? Во-первых, подразумеваются серьёзные задачи на серьёзную команду программистов. Олимпиадный уровень. Во-вторых, было странно, на самом деле, обнаружить у себя по приходу на работу полное отсутствие знаний о линковке с внешними библиотеками, манглинге, и прочих премудростях работы компиляторов - это просто ни разу за 4 года бакалавриата сделать не пришлось. А это только один пример… Первый опыт работы с репозитариями на уровне группы у нас появился аж в первом семестре второго курса магистратуры(впрочем, слышал, сейчас с этим значительно лучше).


#34

Ну, я уже писал, что есть и оппоненты спортивного программирования. Пост @JediKnight , на мой взгляд, на оппонирование не похож. :slight_smile: Критика 2 пунктов и то какая-то очень сомнительная. Но спорить не хочу на эту тему.

Писать велосипеды плохо. И если есть достаточный кругозор, который спортивка тоже развивает, очевидно, то этих парноколесных будет меньше.

Вы видимо, давно не смотрели на разнообразие олимпиад. Есть codingame с задачами на неделю, причем не решаемыми со 100% качеством. Есть Graph HPC с одним заданием на 2 месяца. Есть в конце концов kaggle и другие соревнования по ML.


#35

Та да. Я про что-то вроде kaggle, но только местного разлива :slight_smile: А что, решали же ведь проект Эйлера за бесплатную путевку в любую мат/инф школу? Почему бы еще раз что-то подобное не сделать, но уже в контексте одной/двух задач? Вспоминаю тот конкурс с исключительной теплотой :slight_smile: Можно даже попробовать найти спонсора с реальной задачей:-)


#36

Нужен ноут с собой ?


#37

А как узнать, ты прошел или нет(я школьник)?)


#38

На мой взгляд, это тоже неоднозначный вопрос. До какого-то момента, в целях обучения, писать велосипеды очень даже хорошо и нужно. Ты понимаешь, как работает та или иная штука.Те же контейнеры из STL в учебных целях написать самому, с итераторами и прочими плюшками - вполне себе полезная задача.

Если чувствуешь, что уже опыта достаточно, то, конечно, велосипеды писать смысла нет. Ну, не считая всяких особых ситуаций. А то есть те, которые слишком буквально понимают фразу про велосипеды, и потом встречаешь на разных форумах вопросы типа “мне вот тут такую задачу сделали, я ее решение в интернете нашел, подскажите, что тут происходит”. Иногда это допустимо, но во многих случаях это носит отрицательный оттенок. Т.е. получается программист, который не может решить относительно простую задачу, если ее один-в-один совпадающего решения в сети нет (там много чего есть, конечно, но все же).

PS. О, тут зачеркивание в markdown’е не работает…


#39

Да, но работает HTML-тег s.


#40

Это не велосипед, а тренировка. Не путайте! В этом смысле все когда-нибудь решали задачу поиска минимума, и никто никогда не называл это велосипедом.


#41

В объявлении сказано, что победителей оповестят по телефону. Но я решил для начала попробовать почту, кто не отреагирует, тому буду звонить. Критерий отбора простой: не менее 100 баллов.


#42

Добрый день, подскажите, когда и где начнутся занятия в кружке олимпиадной математики для школьников? 8 класс.


#43

Ответил на Ваше личное сообщение.


#44

Подскажите, пожалуйста, когда возобновятся занятия по олимпиадной математике для школьников, 7 класс. Может быть, они уже начались, но поменялась аудитория или время занятий? Извините, что в этой теме задаю этот вопрос, не знаю куда обратиться.


#45

Здравствуйте, Елена!

Старшая группа начала занятия. Младшая пока нет. Планируем провести добор по результатам отборочной олимпиады.


#46

Спасибо за ответ! То есть, о начале занятий в младшей группе будет где-то информация (на сайте например)? Просто ребята об этом не знают, некоторые приходят зря каждую неделю…


#47

13 сообщений перенесены в новую тему: Спортивное программирование и карьера программиста


#50

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

Да, объявление на сайте мехмата будет обязательно.