Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Опросы > Спортивное программирование


Автор: Kuvaldis 11.9.2006, 03:16
Вот в родном вузе БГУИР возник спор с одногруппниками. Нужно ли участвовать  в олимпиадах по спортивному программированию. Аргумент оппонентов звучал примерно так: это голая теория, для реальной работы это не пригодится, лучше изучать библиотеки и вообще ... вместо тренировок идти работать.
Мне, например, такое программирование в первую очередь просто интересно.

У кого какие мысли на этот счет?

СУВ, Kuvaldis

Автор: Fedor 11.9.2006, 09:38
Вообще, "спортивное программирование" - какое-то странное выражение... Так не говорят )

А насчет олимпиад... ИМХО, это интересно. Я во время обучения в школе постоянно брал участие, и даже принимал участие в Республиканской олимпиаде.
А в универе уже надоело...

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

Удачи.

Автор: Kuvaldis 11.9.2006, 12:13
Fedor, 
Цитата

Вообще, "спортивное программирование" - какое-то странное выражение... Так не говорят )

А у нас говорят smile Я сначала сам удивился. Но факт...

Автор: nerezus 11.9.2006, 20:13
Фигня это все. У меня в группе есть два типа. Один занял первое место на олимпиаде в области, а второй просто в плюсах шарит, но даже программирование не сдал(прогулял, теперь на пересдаче)

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

Автор: batigoal 12.9.2006, 17:20
Любой опыт лишним не будет.

Автор: nerezus 16.9.2006, 09:52
Цитата

Любой опыт лишним не будет.
 К примеру на ACM (от IBM) практически все задачи на математику.

Автор: Kefir 16.9.2006, 09:55
По желанию. 

Автор: SparF 16.9.2006, 10:15
В любом случае стоит.
Займешь первое место - респект!
Не займешь - есть к чему стремиться, и вовсе не к тому, чтобы победить не следующей олимпиаде....
Ведь участее без победы - это стимул двигаться дальше, развиваться, читать что-нть новое, спрашивать у людей, сталкиваться с проблемами, находить решения =)
А вот это уже дает незаменимый опыт))))))

З.Ы.
Ой как меня одна из олимпиад "на место поставила"...... smile 

Автор: LesnoyChelovek 16.9.2006, 20:56
Да всё равно хочеться и себя проверить в таких делах.
Одним словом, надо участвовать везде и всегда. И не важно ВУЗовская или просто корпоративания - надо.

Автор: esperant0 17.9.2006, 23:01
Цитата(LesnoyChelovek @ 16.9.2006,  20:56)
Да всё равно хочеться и себя проверить в таких делах.
Одним словом, надо участвовать везде и всегда. И не важно ВУЗовская или просто корпоративания - надо.

Ну извините, в олимпиаде по литературе сами учавствуйте.

Автор: skyboy 17.9.2006, 23:16
Цитата(nerezus @  16.9.2006,  08:52 Найти цитируемый пост)
К примеру на ACM (от IBM) практически все задачи на математику. 

не знаю. точнее - не сказал бы. смотря что имеется  в виду. у нас вот на региональном этапе хватало задач, никак не связаных ни с графами, ни со множествами. впрочем, даже банальное умножение относится к математике...  smile 
По сабжу: я там  с ТАКИМИ людьми познакомился smile особенно со своего же ВУЗа - в процессе подготовки. А так  - учились бы рядом и не знали бы друг о друге smile
P.S. Именно на олимпиадах можно встретить много красивых девушек, которые, к тому же, разделяют твои интересы  smile Или это мы разделяем их интересы... Не знаю  smile 

Автор: Kuvaldis 17.9.2006, 23:20
К слову, одна из крупнейших фирм в Беларуси (EPAm) постоянно проводит интернет олимпиады для поиска перспективных сотрудников.

Это к вопросу о целесообразности smile 

Автор: Romikgy 18.9.2006, 00:01
Цитата(Kuvaldis @  17.9.2006,  22:20 Найти цитируемый пост)
К слову, одна из крупнейших фирм в Беларуси (EPAm) постоянно проводит интернет олимпиады для поиска перспективных сотрудников.

Че в Украине так не делают smile

Автор: skyboy 18.9.2006, 07:45
Romikgy, ты серьёзно? Я в апреле был в Харькове на этапе АСМ, так там сразу несколько ИТ компаний спонсировали олимпиаду, агитировали после окончания обучения приходить к ним... Дословно не помню - давно уже было smile  Но, в принципе, так сделала бы любая нормальная компания - зачем набирать по объявлениям, если можно получить сразу таких, в знаниях которых уверен?

Автор: batigoal 18.9.2006, 07:59
Цитата(esperant0 @  18.9.2006,  00:01 Найти цитируемый пост)
Ну извините, в олимпиаде по литературе сами учавствуйте. 

С огромным удовольствием.

Автор: Romikgy 18.9.2006, 08:41
Цитата(skyboy @  18.9.2006,  06:45 Найти цитируемый пост)
Я в апреле был в Харькове

smile а в Одессе ?

Автор: Gen 27.9.2006, 22:22
Не уверен в том, что их можно ставить на 1 место - но тем не менее - зачастую - достаточно интересно.

Опыт реальной конкуренции + очень мощная и развитая алгоритмика. smile 

Автор: skyboy 27.9.2006, 22:53
Цитата(Romikgy @  18.9.2006,  07:41 Найти цитируемый пост)
а в Одессе ? 

если региональный этап АСМ и проводится в Одессе, то - для команд областей Юга Украины smile да и не объездишь весь мир smile
По сабжу: у нас был конкурс на места магистров с бюджетным финансированием. Я уверен, что прошёл исключительно "олимпиадному опыту" - задачи были как раз из того разряда. А вот в работе как это помогает... Как мне кажется, неверно утверждать, что благодаря опыту решения олимпиадных задач человек умеет решать задачу несколькими способами, думать нешаблонно, находить нестандартные подходы... Просто это два следствия одной причины - хорошего воспитания, не вбившего в голову стереотипы. Правда, регулярное решение сложных неординарных задач:
а) учит видеть в необычном привычное
б) учит смотреть на обычное необычно smile
Т.е. чтоб что-то развивать, нужны задатки(заложенные задолго до увлечения программированием), но и развивать надо - иначе будет атрофирование.

Автор: Fighter 28.9.2006, 01:39
Я в марте был во Владимире.

Автор: Innuendo 8.10.2006, 20:31
Олимпиады вообще хорошая вещь =)
Поставлена задача. Ввод данных, вывод данных. Никакой прикладной возни =) Чисто граммотно составить  алгортим.
Я учавствую щас каждый год от школы... но для меня это проблемы- олимпиады на паскале, а я на нём очень мало работаю... и плохо знаю =(

Но и заставлять никого не надо =)

Автор: Xenon 8.10.2006, 23:38
Каждый год хожу на химию, математику, физику и русский язык+литература... Ну нет особого толка, потому что у нас в школе так : "Здраствуйте, собирайте вещи, через 15 минут вы должны быть в школе, у вас олимпиада по физике". Мы - я и друг мой. А в других школах выделяется спец урок для подготовки ... Готовятся пару месяцев smile А мы такие приходим не при чем smile И вникаем. Но чего-то решаем даже ....

Автор: Shadowlord 18.12.2006, 00:40
По желанию если время позволяет

Автор: Innuendo 19.12.2006, 16:52
Xenon,  вообще-то у вас в школе правильно делают =) к олимпиадам не надо специально готовить людей. Олимпиады расчитаны на детей, занимающихся самим, вне школьной программы, и подготавливаться нет смыслы - это же не контрольная, и не экзамен.


А вообще, очень часто после таких олимпиад появляется интузиазм к обучению, к познанию, к труду. К примеру ты занял 3-ее место, и думаешь типа " ух, этот чувак в очках ну молодец =) 1-ое место занял, ну в следующем году порву его" =)

Добавлено @ 16:53 
Shadowlord,  ой =) олимпиады обычно проводят или в будни дни утром (во время школы) или в субботу утром. Так что не надо про "позволительность" времени... 3 часика можно выделить =) тут время ни при чём.

Автор: SoWa 19.12.2006, 21:00
Конечно, стоит! Набираешься опыта в решении задач в "экстремальных условиях".
Учишься применять навыки на деле. Находите новые алгоритмы. Как следствие- повышенная обучаемость техническим наукам. Далее- хорошая учеба в ВУЗе и престижная хорошооплачиваемая работа.

Автор: SergeCpp 14.2.2007, 21:48
http://www.topcoder.com/corp/?module=Static&d1=corp&d2=spon_prog&d3=tourny_index

TopCoder is the X-Games of software development. Our tournaments are known worldwide as the most grueling, comprehensive sport in programming. The events allow competitors to solve complex algorithmic problems and design and develop working pieces of reusable software. All current technologies are incorporated, including Java, C++, C#, VB.Net, UML, J2EE and .NET.

TopCoder tournaments draw a global participation base from among the top collegiate and professional developers. All participants are ranked and rated based on their performance. TopCoder also gathers a wealth of data for each participant in order to demonstrate their ability to comprehend complex problems, form a logical solution to the problem and use a relevant programming language to solve the problem. We also capture details on design and development skills in the form of code samples and working software the candidates build. If you have ever thought that there must be a better way to recruit programmers, you were right. TopCoder is the answer.

Автор: FireSnake 14.2.2007, 23:54
Однозначно "За". Во многих странах cпециально готовят олимпиадников  в т.ч. и по программированию. Так в Украине есть специальные заведения, где созданы все условия для этого - например УФМЛ в Киеве, "Эрудит" в Донецке . От первого заведения по прошлогодней международной олимпиаде по программированию 1 золотая медаль (как минимум), а от второго - 1 бронзовая.  Кстати, по всей той же прошлогодней (2006год)межнаровке Украина заняла 8-9 место поделив его с Ираном с результатом 2 золота, 1 серебро и 1 бронза. А победила Поляндия (Польша) с резалтом 4 золота. Вот так то! А я лично знаком с человеком принесшимй на этой олимпиаде бронзуsmile

Автор: esperant0 15.2.2007, 19:08
Дело неплохое, но и не особо полезное. Учиться надо и заниматься и можно будет без олимпиад обойтись.

Автор: Serkys 28.2.2007, 15:46
Я считаю, что олимпиады - дело полезное, но далеко не главное. К примеру, мне предложили учавствовать во внутриколледжной олимпиаде по программингу - я согласился. У меня и в мыслях не было готовиться. Пришёл, открыл паскаль (почти год его не открывал к тому времени), занял второе место. Мне за это - парочка зачётов и один экзамен автоматом. Вот это полезно, больше времени посвящу программингу дома.
А так олимпиады немного не то развивают мне кажется. Там о красоте кода и прочих необязательных вещах некогда задумываться, времени ведь мало. Давали бы они времени в два раза больше, тогда другое дело.

Автор: En_t_end 1.3.2007, 20:41
По желанию.
Толку никакого, если честно. натаскивают на вещи общеизвестные, алгоритмы заезженные(факт), свои же телодвижения в области примения новых алгоритмов(зачастую это хорошо известные старые, но просто люди либо о них не догадываются, либо плохо помнят, а также всевозможные велосипеды) для решения олимпиадных задач приводят к регрессу всегда.
Важнее знать, где можно достать тот или иной алгоритм(Линейка-Геометрия,Матан,Физика), и иметь пытливый ум. Может хождение по олимпиадам и способно привить эти качества, но процесс этот очевидно эквивалентен одеванию трусов через башку. Читайте книжки по выше описанным фундаментальным предметам и осознайте(кто ещё этого не сделал), что большинство задач(кроме описанных в сборниках нерешенных задач)имеют детерменированный алгоритм решения. Если же сразу увидеть общеизвестную задачу не удалось, то, как говориться "разделяй и властвуй".
Курош,Александров,Фихтенгольц и прочие... моском не орехи забивали smile

Автор: Рыжий 1.3.2007, 21:19
По желанию.

Вообще слово Олимпиада ассоциируется со школой и вузом. 
Принимал участие в олимпиадах, выигрывал и проигрывал, однако чувство соперничество почему-то не возникало smile
Даже умудрился выиграть областные соревнования. 

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

Могу добавить, что "спортивное программирование" не расширяет твой ум и кругозор smile  Все задачки однотипные, да еще и повторяются из года в год. 
Большинство из них пишутся на Pascal. А задачки на давно придуманные алгоритмы (методы сортировки, отбор счастливых билетов и т.д.)

Имхо.

Автор: Strannik 5.3.2007, 20:59
На все посты про "бесполезность", "там всё одно и тоже", "ничему не учат", "ничего не развивают", "развивают да не то", "развивают то да не так" и т.д.

Есть сайт, www.topcoder.com. Помимо контестов типа "Design&Development"., достаточно серьезное место отведено "Algorithm competition". 
Как мне кажется(впрочем так оно и есть) , topcoder - это большая и серьезная компания по найму толковых программеров. И если СП "не учит", "не расширяет кругозор", "не развивает", то зачем спрашивается делать турниры по нему?

Автор: En_t_end 6.3.2007, 12:52
Strannik, 
Вы внимательно читали мои аргументы ?
Спортивное программирование - "жир" современной информатики. С тем же смыслом можно устроить турнир по скорости набора текста.
Современное программирование, к несчастью или к счастью, не требует от программиста выводить теоремы, доказывать их, чтобы написать что-то. На то есть труды Кнута, который к всему прочему объединил подчти все достижения математики, в которых нуждается или будет нуждаться программист. Сейчас программисту требуется всего-лишь грамотно и со знанием дела определить область конкретной задачи, иметь среднюю математическую подготовку. Но тут сейчас меня будут пинать... приводить примеры задач, на первый взгляд с математикой и теоретической информатикой имеющих мало общего. Но ещё раз повторюсь - "Разделяй и властвуй!".
И ещё:
Если в процессе программирования у тебя получился супер-пупер алгоритм, которому "нет аналогов в мире, он быстрее всех!". В первую очередь стоит задуматься, а читал ли ты труды людей, которые работают в области решения подобных задач ? "Велосипед", как правило - результат полного или частичного незнания области решения.
А смысла в том, чтобы мерится, у кого лучше память(чтобы помнить математику) и сноровка(в разбиении задачи на подзадачи) под названием "алгоритмика" - нет. Это лицедейство и в некотором смысле "воровство" интел. собственности, так как не всякий участник пишет, какой же алгоритм он использует и кто его настоящий автор.

К слову, на создание метода решения задачи в какой-то абстрактной или практической области требуются месяцы или даже годы научной работы(в которые входят и вывод теорем и сопряжение с принятыми выкладками и анализ данных и сравнение с другими методами). На приминение же алгоритма уходят считанные часы.
Можете пинать меня. Но я считаю, что это не честно, прикрываться турниром по "Алгоритмам" за простым потребительством. Занимайтесь уж работой, а не пиписьками меряйтись, кто куль-программист самый крутой. Всё равно у каждого из нас эта самая "пиписька" куда меньше, чем скажем у того же Кнута. Так что всё это смешно.

Автор: En_t_end 6.3.2007, 13:13
Strannik, 
Цитата(Strannik @  6.3.2007,  00:59 Найти цитируемый пост)
 И если СП "не учит", "не расширяет кругозор", "не развивает", то зачем спрашивается делать турниры по нему?

А с каких пор турниры устраиваются ради "обучения" ? Турнир - способ выяснить сильнейшего.

Автор: gambit 6.3.2007, 13:42
Все сообщения не читал, если мое мнение прозвучало прошу прощения.
В олимпиадах учавствовать стоит!
Во-первых это процесс собрания портфолио.
Во-вторых на олимпиады отправляют за счет организации, а значит это способ поездить по городам на халяву.
Но лично мое мнение что программирование это творческий процесс. Вот стены красить можно в любом настроении, а программировать НЕТ.

Автор: Strannik 6.3.2007, 17:22
Цитата

Можете пинать меня.

А за что ж пинать? У меня есть мнение, у вас есть мнение... ну не сошлись они.. и что?
А что до СП - мне это интересно. И когда я поступлю в универ, думаю как для хобби, для СП время останется.

Автор: Kuvaldis 6.3.2007, 19:52
Мои 5 копеек:
1. Экстремальные условия (на работе точно пригодится)
2. Применение (!) выученных алгоритмов и умение их распознавать в задаче

Но.. Не стоит увлекаться. ТАк как это только подспорье в настоящей работе

Автор: Strannik 6.3.2007, 22:33
Цитата

Мои 5 копеек:
1. Экстремальные условия (на работе точно пригодится)
2. Применение (!) выученных алгоритмов и умение их распознавать в задаче

Но.. Не стоит увлекаться. ТАк как это только подспорье в настоящей работе 

Согласен полностью...

Автор: esperant0 13.3.2007, 18:32
Цитата(En_t_end @ 6.3.2007,  12:52)
Strannik, 
Вы внимательно читали мои аргументы ?
Спортивное программирование - "жир" современной информатики. С тем же смыслом можно устроить турнир по скорости набора текста.
Современное программирование, к несчастью или к счастью, не требует от программиста выводить теоремы, доказывать их, чтобы написать что-то. На то есть труды Кнута, который к всему прочему объединил подчти все достижения математики, в которых нуждается или будет нуждаться программист. Сейчас программисту требуется всего-лишь грамотно и со знанием дела определить область конкретной задачи, иметь среднюю математическую подготовку. Но тут сейчас меня будут пинать... приводить примеры задач, на первый взгляд с математикой и теоретической информатикой имеющих мало общего. Но ещё раз повторюсь - "Разделяй и властвуй!".
И ещё:
Если в процессе программирования у тебя получился супер-пупер алгоритм, которому "нет аналогов в мире, он быстрее всех!". В первую очередь стоит задуматься, а читал ли ты труды людей, которые работают в области решения подобных задач ? "Велосипед", как правило - результат полного или частичного незнания области решения.
А смысла в том, чтобы мерится, у кого лучше память(чтобы помнить математику) и сноровка(в разбиении задачи на подзадачи) под названием "алгоритмика" - нет. Это лицедейство и в некотором смысле "воровство" интел. собственности, так как не всякий участник пишет, какой же алгоритм он использует и кто его настоящий автор.

К слову, на создание метода решения задачи в какой-то абстрактной или практической области требуются месяцы или даже годы научной работы(в которые входят и вывод теорем и сопряжение с принятыми выкладками и анализ данных и сравнение с другими методами). На приминение же алгоритма уходят считанные часы.
Можете пинать меня. Но я считаю, что это не честно, прикрываться турниром по "Алгоритмам" за простым потребительством. Занимайтесь уж работой, а не пиписьками меряйтись, кто куль-программист самый крутой. Всё равно у каждого из нас эта самая "пиписька" куда меньше, чем скажем у того же Кнута. Так что всё это смешно.

Согласен со многим, кроме того, что Кнут уже сделал почти все что нужно.

Автор: unicuum 15.3.2007, 04:49
Проголосовал, что участие в олимпиадах исключительно по желанию. На самом деле в олимпиадных задачах используются стандартные алгоритмы, лучше даже сказать некий набор алгоритмов, имея которые можно просто тупо подставлять их в решение. Конечно, не совсем тупо, но я думаю многие меня поняли. Но в олимпиадах нет ничего плохого, они развивают, и как раз таки позволяют понять их внутреннюю суть. Мне кажется, нехорошо презирать какую-либо область программирования из-за того, что вы работаете в другой. Более того, программисту вообще не пристало презирать программирование, в каком бы виде оно не находилось.

Автор: Platon 19.12.2007, 00:00
Цитата(En_t_end @  6.3.2007,  14:13 Найти цитируемый пост)
А с каких пор турниры устраиваются ради "обучения" ? Турнир - способ выяснить сильнейшего. 

Время от времени участвую в SRM'ах topcoder.com как раз ради этого (обучения) ^_^

Автор: THandle 23.12.2007, 21:19
Чисто по желанию. Иначе никак. ИМХО.

Автор: dpi 30.11.2008, 21:28
Цитата(En_t_end @  6.3.2007,  12:52 Найти цитируемый пост)
куда меньше, чем скажем у того же Кнута. Так что всё это смешно.

Вот из-за таких и ветки глохнут. Кнутом пугают обычно начинающих. Забудьте о нем и занимайтесь программированием. Ну а на счет "вызубрить алгоритмы", думаю мозгов не хватит. Это тебе не математика.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)