Pull to refresh

Comments 30

ICFPC — ежегодный контест по функциональному программированию. Очень-очень-очень интересный. Хотя именно функциональное программирование на нем не обязательно.
Фактически, контест ничего общего с функциональным программированием не имеет. Просто так исторически сложилось, что он проводится в рамках конференции по функциональному программированию. Задачи можно решать используя множество различных технологий (включая и функциональные языки).
В этом году он был очень даже функциональным. Наверно, даже самым функциональным из всех. Вы участвовали?
Увы, в этом году поучаствовать не получилось. Участвовали в прошлом, но ничем выдающимся так и не отличились :)
Расширю свой ответ. Плюсы этого ресурса:

1. Огромное количество задач(несколько тысяч), в том числе из финалов ACM ICPC
2. При просмотре списка задач видна удобная статистика — процент решивших задачу и процент успешних отправок. Выглядит так — clip2net.com/s/1ae7N
3. По каждой задаче подробнейшая статистика(тут надо смотреть картинку). Доля Accepted, Time Limit, Wrong Answer и т.п. от всех решений, доля каждого языка в отправках, топ-20 решений по скорости и место, на каком находится ваше быстрейшее решение, если вы эту задачу уже решили. Выглядит так — clip2net.com/s/1aeaa
4. Наличие форума и темы по каждой задаче, где всегда и подскажут алгоритм решения, и дадут верные выходные данные на предоставленные входные, и даже могут подсказать что не так в коде, если что-то не получается
5. Информативная страничка личной статистики. clip2net.com/s/1aeb4
6. Вроде еще где-то был генератор выходных данных почти для всех задач

Хорошая подборка, спасибо! Давно искал что-то подобное.
UFO just landed and posted this here
Спасибо за подборку ссылок. Они, конечно, все уже подсвечиваются как посещенные, но все равно — лишними не будут.

От себя хочу добавить snarknews.info — как-то так сложилось, что именно там можно найти самую актуальную информацию о соревнованиях и сборах по олимпиадному программированию :).
Несколько мыслей на эту тему. Мне очень нравится спортивное программирование. Я в этом не гуру, я не выигрывал топовые соревнования, но я всегда стараюсь участвовать в подобных мероприятиях, хоть опыт мой в этом не мал, но я все еще нервно клацаю F5 после отправки решения и с замираем сердца жду в следующий момент заветный ОК/Accepted.

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

Существует тенденция, что чем старше человек, тем меньше вероятность, что он заинтересуется СП. В статье уже сказано, что человек может уже реализовал себя, либо потерял всякое желание к обучению (либо пребывает в стадии 4 сей замечательной статьи habrahabr.ru/blogs/crazydev/39300/). Именно поэтому в средних ВУЗах СП приходит в упадок. На первых курсах зачастую некому привить желание к СП начинающим программистам, некому с ними заниматься, а на последних талантливые программисты уже работают и заинтересованы в карьерном росте и зарабатывании денег. (Речь здесь не идет о тех людях, которые участвовали в олимпиадах еще со школы, таких обычно пытаются переманить лучшие ВУЗы страны). В итоге, в университете, который ежегодно выпускает десятки программистов, нельзя собрать даже одну команду, чтобы куда-то отправить на соревнования. Студенты сетуют на то, что их этому не учили и с ними не занимались. Руководство университета спихивает все на то, что студенты слабые, немотивированные, ничем не интересуются. Университет здесь не прав, так как хочет получить какой-то результат, ничего при этом не дав. Как результат университет не имеет людей, которых могут с достоинством защищать честь университета, а большинство студентов, которых не заинтересовали СП во время учебы, так им и не заинтересуются.
А мотивировать совсем то просто. После школы у начинающих программистов все еще имеется юношеский максимализм, они пытаются выделиться из толпы, добиться в чем-то хорошего результата. Нужно только направить людей в нужное русло. Даже просто устраивать внутренние соревнования, а потом давать грамоты победителям, скажем, на день факультета или университета. Оплачиваемые командировки в разные города и освобождение от некоторых предметов тоже стимулирует людей заниматься СП. Но это долгая история, можно даже написать статью на эту тему:)
ловлю вас на слове! пишите!
Присоединяюсь, было бы очень интересно прочесть.
Зачетная подборка. Не подскажете, есть ли русские вариации на тему. Я с английский конечно дружу, но бывает сложно понять суть поставленной задачи в полной мере.
Упомянутых в статье codeforces.ru/ и acm.timus.ru/ вполне достаточно для довольно продолжительного времени тренировок. А informatics.mccme.ru/ еще и обладает неплохой теоретической базой. Все на русском ;).
Не сразу понял, что русские. Не обратил внимание на домен.
Извиняюсь, если это не подходит под формат топика:
codingbat.com
Задачки для явы и пайтона с проверкой правильности на лету.
Этот сайт очень хорош для изучения языка, но задачи олимпиадного программирования обычно посложнее, чем «Дан массив, найдите сумму первых двух его элементов».
Вопрос к людям, которые занимаются спортивным программированием, в чем его преимущество перед работой над большим реальным проектом (бесплатно ради опыта)? Мне уже менять выбор поздно, но интересно Ваше мнение.
А зачем делать выбор? Лично для меня важны как практическая составляющая программирования, так и олимпиадная. И та, и та поднимают тебя на новый уровень, но в разных аспектах. Фокусироваться на чём-то одном, по моему, бессмысленно.
Потому что есть такой ограниченный ресурс как время. Можно потратить 10 часов в неделю на реальный проект, а можно потратить те же 10 часов на олимпиадные задачки. Если тратить по 5 часов туда и туда, по-моему, ничего хорошего не выйдет.

Просто мне кажется, что если есть действительно интересный проект, то он будет содержать в себе все те задачки, которые решаются на олимпиадах (во всяком случае у меня был такой опыт)
Имхо, всё же стоит по 5 туда и туда. С вариациями ориентируясь по текущей ситуации.
Может быть Вы и правы, но мне как-то всегда было странно решать абстрактные задачки, когда можно было решать реальные.
Если у вас есть возможность постоянно принимать участие в действительно интересных и трудных проектах, то всё просто замечательно. Но есть одно «Но»: А действительно ли у большинства есть такая возможность? По моему (пока не очень богатому), но всё же опыту, ответ прямо противоположный. Большинство проектов если и реализуются не «в лоб», то решаются 5 минутным поиском в гугле, и в худшем случае банальным копипастом, а в лучшем — попыткой разобраться в алгоритме, который потом забывают за неделю после сдачи проекта. СП же предполагает, что вы будете регулярно решать интересные задачи, которые не только будут приносить удовольствие от решения, но так же и обогащать ваш запас знаний. Как-то так.
Вопрос хороший… с одной стороны, на работе часто бывают не очень интересные проекты (хотя надо искать другую работу в этом случае, имхо), но ведь в случае с СП человек тратит свое личное время, т.е. он с таким же успехом может взяться за любой проект, который ему интересен. Проблем у человечества еще достаточно, на всех хватит:) Тут уж скорее проблема в том, что сами по себе люди редко ищут сложные проблемы, а сами к ним эти проблемы приходят не так уж часто.
Выложу через недельку пост с предложением поучаствовать в сложном проекте без зарплаты, но ради опыта и других плюшек, посмотрим сколько будет желающих:)
Хотелось бы услышать и другие мнения по этому поводу. Хабравчане, u are welcome!
Опыт в спортивном программировании — огромный плюс! Если коллега бывший\действующий СП — понимаем друг друга с полуслова, и печально смотреть на ребят, которые написали первый if statement на первом курсе на паскале.
Да, жаль.

Небольшое уточнение — в СП переквалифицируются ещё и те кто в школе успешно участвовал в олимпиадах по математике, при этом почти не занимаясь программированием.
На e-maxx.ru собраны статьи по 140 алгоритмам на текущий момент, всё с реализациями на cpp. Сейчас почему-то недоступен, но через кеш гугла посмотреть можно.
Участвовал в Google Code Jam — очень понравилось. Как и задания, так и организация. Рекомендую любому девелоперу попробовать: почти нет ограничений на язык, времени на начальных этапов много.

В общем, попробовать может как начинающий так и профи :)
Sign up to leave a comment.

Articles