Здравствуйте, извините за очередную онтопную тему. Сегодня мне стало интересно, как много посетителей сайта занимаются организацией тренировок по спортивному программированию в своём вузе, и если такие есть(кроме меня :D), то как вы привлекаете новых людей, как формируете из них команды, и, главное, как вы мотивируете их тренироваться.
Я сам не очень люблю слово "мотивация". От него веет всякими курсами личностного роста. Но в Самарском государственном аэрокосмическом университете мы столкнулись с проблемой. У нас учится больше десяти тысяч студентов, наверняка многие из них могли бы успешно заниматься спортивным программированием, тренироваться и участвовать в соревнованиях различного уровня. Однако мы не можем привлечь их на тренировки, заинтересовать этим и т. д.
В начале года на первую тренировку приходит порядка пяти-шести десятков первокурсников, то есть очень много (мы объявляем о ней на собрании первокурсников). Мы начинаем с некоторых азов, постепенно усложняем материал, проводим небольшие соревнования. В результате уже через полгода мы имеем три-четыре человека, из которых, если повезёт, реально занимается только один. С остальных курсов мы имеем только команды, которые уже были ранее сформированы: привлечь новых людей не получается, потому у всех уже работа и куча хвостов по учёбе.
В связи с этим существует несколько вопросов.
1) Как работает система привлечения новых людей к тренировкам в вашем вузе?
2) Как вы мотивируете (или вас мотивируют) заниматься спортивным программированием?
Возможно, конечно, мы что-то делаем неправильно, например, излагаем материал в неправильном порядке, или проводим тренировки в неправильной форме. Поэтому хотелось бы также узнать о том, как у вас проходят тренировки, и как построен их учебный план.
За 6 лет прибывания в местном "олимпиадном комьюнити" выяснил для себя одну простую вещь — люди либо сами хотят заниматься, им самим это интересно и у них есть цели, как им кажется, достижимые в ближайшем будущем (войти в Top X на каком-то соревновании), либо ничего существенного человек не добьётся. И тут практически бесполезно включать "строгого тренера".
Проводи хоть каждую неделю обязательную тренировку, без самостоятельной работы человека в течение всей недели мало что получится. А уже этим готовы заниматься только те, кто видят в этом смысл.
То есть либо человек "зажегся" идеей с первого прихода (тут стоит ему популярно объяснить — зачем стоит заниматься олимпиадным программированием и сколько усилий это потребует), то всё Ок. Иначе, как максимум весьма посредственные результаты и человек скоро сам на это забьёт.
Ну и начинать заниматься надо с 1-2 курса, не позже.
В общем, единственный момент, когда действует мотивация — это самое начало. Студенты с младших курсов проходят через ваш wow-эффект и остаются только те, кто видят открывшиеся перспективы. Это нормально, ведь не все эти тысячи поступили к вам именно ради олимпиад. Вообще, много студентов в этом возрасте не представляют — какие навыки им будут нужны, а какие — нет.
Ну и надо понимать, что не все чисто психологически могут выдержать то, что проход к победе оочень узкий, сколько месяцев/лет постоянных фэйлов на контестах они готовы выдержать ради своей мечты, и не факт что всё-равно получится.
В общем, ИМХО олимпиады — это дело совсем не для всех и нет смысла пытаться каждому насильно доказывать, что у него есть тот маленький, призрачный шанс. Поэтому лучшее, что вы можете сделать — помогать изо всех сил тем, кто нуждается в помощи.
В общем согласен, силой заинтересовать не выйдет.
Но относительно примера с обязательной тренировкой — я готов предположить, что если команду с первого курса заставлять писать еженедельно 5часовой контест, то к окончанию университета даже без дополнительной самостоятельной работы у этой команды есть хорошие шансы съездить на финал (если в ВУЗе нету настоящих команд). 5часовой контест каждую неделю — это ведь реально много) Другое дело, что никто не согласиться убивать столько своего времени на занятие, которое ему не интересно.
Мне всегда казалось, что контесты — это место, в первую очередь, для проверки уже существующих своих знаний, опыта, а не для создания нового опыта. Вы много новых методик решения изобретаете на контесте? Как человек, который ничего не умеет может начать решать контесты с какими-то нетривиальными задачами? Тут уже нужен будет хотя бы разбор, дорешивание, изучение новых подходов и это никак не уровень тех, кому не интересно.
Ок, тогда заменим "5часовой контест" на "5 часов принудительного прослушивания разборов задач". Или в каких-то пропорциях, вроде СF+разбор.
У меня есть большой опыт принуждения себя к занятиям, которыми заниматься абсолютно не охота. В том числе и в последнее время) Здесь главное — приложить усилие)
Да я согласен с идеями, высказанными выше, просто высказал свое мнение, что 5 часов времени в неделю — это реально дофигища. Но к основной теме, поднятой автором, это отношения не имеет, так что проехали.
На мой взгляд, один контест в неделю — крайне мало.
К примеру, у твоей команды за текущую неделю сколько выйдет?
Я уже закончил свои выступления в АСМ)
Хм, действительно.
Ничто не вечно, даже участие JKeeJ1e30 в ACM.
Ладно, тогда такой вопрос — сколько командных тренировок у вас было за всю весну? Если взять даже "крайне мало", по разу в неделю, то это 13. Во сколько раз вы превзошли этот план-минимум?
При этом замечу, что если бы вы выступали не за Саратов, а за какой-то поселок Козопасово, то сейчас по результатам NEERC носили бы гордое звание финалистов.
Не спорю, хотя тогда бы у нас не было такой системы подготовки. Однако в Саратове есть команды, которые пишут по 1 треньке в неделю — и даже до полуфинала им далековато.
Не знаю, всех тренек не сосчитаешь, хотя бы потому что я в составе совершенно разных команд в этом году участвовал:). Надо бы вспомнить где и когда я какие контесты писал весной.
Примерно могу посчитать летом, там все структурированно. Летом были: командные контесты где команда Saratov SU2 готовилась к финалу(я написал не все, а где-то 2 или 3 контеста), личные сборы в СГУ(8 контестов) + лично я еще написал несколько доп.контестов(3-4) по просьбе тренера. Сборы в Сазанке(я писал 2-3 контеста), Саратовские командные сборы(5 контестов), сборы в ПЗ(8 контестов) — они вылезают за 3 календарных летних месяца, но все равно можно отнести к лету. Итого 29-33 контестов меньше чем за 100 дней. Или по 2-2,5 контеста в неделю — хотя можно было бы и больше, я не гнался за количеством, в отличие от второго-третьего курса где я по 3-4 контеста в неделю старался писать.
А на мой взгляд, ни одной курсовой работы за 2,5 года — вот что означает "крайне мало".
Ну и начинать заниматься надо с 1-2 курса, не позже.
Ок, скажи это, при случае, Вите Омельяненко ;)
К сожалению не знаком с ним.
Он студентом начал заниматься на последних курсах университета и добился успехов будучи студентом?
Ну у него огромный опыт олимпиад, а между олимпиадной математикой и программированием не такой большой разрыв. Плюс фактор команды, в которую его взяли, тоже важен:)
Цели заниматься самому и побеждать на соревнованиях, о которых вы говорите, тоже не с потолка же у человека появляются. Нужно как-то показать ему, что это вообще такое, почему это весело и интересно. Конечно, от человека это тоже зависит, но у нас учится действительно много людей, многие из которых весьма неглупые и нормально программируют. Как бы сделать так, чтобы они захотели сами заниматься?
Повторюсь ещё раз.
Мне кажется, что у вас есть шанс зацепить человека только в самом начале. Те, кто пришли в сильную студенческую группу(курс) со скромным стартовым уровнем могут воспринять олимпиады и профит от подготовки к ним, как единственный шанс уравняться или даже превзойти своих сокурсников в будущем.
Те, кто хорошо шарят в математике могут вполне успешно программировать, но это не значит, что они должны считать своей целью заниматься именно олимпиадами. Каждый может видеть свои увлечения под таким углом, под каким их не видят остальные. Как примерно дословно отвечал Артемий Лебедев на вопрос: "Почему дизайнер может носить такую плохую рубашку" — "Если бы люди знали сколько удовольствия приносит мне ношение этой рубашки, то не задавали бы таких вопросов".
Я понимаю, что вы не понимаете тех, кто не реализует свой потенциал. Я видел кучу таких же примеров. Каждый из них просто выбрал свой способ получения удовольствия от жизни.
И почему вы думаете, что ваш выбор принципиально лучше всех других возможных? :-)
Я не считаю, что мой выбор принципиально лучше других. Особенно учитывая, что я и сам сделал противоположный выбор и никогда серьёзно не тренировался. Но тогда это было довольно сложно, а теперь для этого есть все возможности.
Я прекрасно понимаю, почему люди не реализуют свой потенциал: они просто реализуют его в чём-то другом. Я за тем и создал этот тред, чтобы послушать советов, как бы заинтересовать людей, чтобы они этот свой потенциал реализовали в области спортивного программирования.
Не надо никакой мотивации. Просто скажите им — что вы им предлагаете и что они от этого получат. Чем лучше и красочнее вы обрисуете перспективы, тем больше шанса, что народ заценит фишку. А выбор оставьте им самим. Если кто-то начинает "отваливаться" — проявляйте заинтересованность, постарайтесь узнать причину и по возможности предложить способ решения.
И ещё вот такое моё "свежее" наблюдение — если тренер начинает "забивать" на подготовку и начинает терять интерес, этот настрой чудесным образом передаётся и его подопечным. Будьте стойким, успешным и люди будут брать с вас пример.
Честно говоря, я ждал в этом посте советов от тренеров с большим стажем, например от MikeMirzayanov. Если вам нужно подобрать слова для новичков — можно почитать посты типа Зачем нужны студенческие олимпиады по программированию
Да, вот MikeMirzayanov я бы тоже искренне хотел услышать.
У нас в этом году тоже первый опыт, ситуация аналогичная) Не похвастаюсь 6 десятками человек, но только ко мне около 20 перваков пришло, причем это только с групп моей специальности.
Итак, про пиар.
Теоретически, проблема здесь в том, что невозможно объяснить на словах что такое СП. У меня лично ушел год на активные попытки (вслепую) понять, что же это. Да, можно сказать что это — возможность посоревноваться и узнать радость побед, научиться проигрывать, обрести цель и определиться, способен ли к ней идти, да даже просто начать программировать. Съездил на сборы в Барнауле (уже летом), тоже мозги вправило. Чтобы это как-то передать сначала запилил короткую речь на лекции, рассказал какие соревнования проводятся, привел примеры интересных задач, потом на первом занятии порешал на e-olimp задачи в режиме онлайн (я, проектор, ноут), позадавал каверзные вопросы (а что сделает цикл и заодно как он объявляется и т.д.), сказал по каким книжкам буду рассказывать, что будем изучать, надолго не затягивал, посоветовал взять ноуты на след. занятие. В след раз пришло 7 человек. Сейчас это 3 человека. Но один еще со школы занимается, и бросать не собирался, так что не в счет. С других специальностей нестабильно ходят 3-4.
Теперь, практическая точка зрения — Первая серьезная проблема, которую я точно определил — это недостаток публичности. Люди, конечно, знают, что кто-то там сидит по вечерам в подвале и чего то кодит левое, но на этом все. Да, конечно, можно выкладывать объявления, уведомлять как-то (у нас так вообще университетский контестер с новостями), да только мало этого. Накручивая ключи от машины на пальце куда как круче пройти по аудитории, чем с понимаением того что вчера +150 на контесте взял) Поэтому многие начинают мечтать про всякий веб, игрострой, но, как правило, мечтами все и заканчивается. Второе это отсутствие цели, и, как следствие, инициативы. Да, можно сказать что это неплохо куда-то поехать и там решить несколько задач быстрее всех, а еще это просто прикольно, решить их. Но вот ради этого тренироваться по несколько раз в неделю, или даже каждый день? По последним двум проблемам подумал так — в моем городе есть вуз, где замутили контест http://www.bigint.ru:8888/ru/contest-cid-138b-sh-1?ps=1&smt=1 на год, и первые 5 человек получат зачеты. Таблица нечитаемая (127 задач). Но там студенты демонстрируют такое количество сданных задач, о котором мы и не мечтали) Основная часть задач это acmp 25-35% сложность, но все же есть и 45-60%, которые кто-то сдал. Поспрашивал, оказалось, что и на нашем контестере такое уже планируется, в несколько другом виде. ИМХО это решит те две проблемы, которые я обозначил. Во первых — это зачет, к которому может прийти каждый) Во вторых — видно, что человек занимается, и знает как решить эту алгоритмическую задачу, а ты нет, так что либо пили дальше свой сайт (убер игру, хайполи 3д модель) или давай догоняй.
Я тоже всё им рассказывал: все мыслимые и немыслимые выгоды, которые можно получить от занятий. Также приводил примеры задач, задавал вопросы. Так это работает, как работает: люди рассеиваются, новые не появляются.
Что касается зачётов, то народ ведь ходит с разных специальностей, программирование там ведут разные преподаватели. Я, в принципе, считаю логичным ставить человеку зачёт по профильным дисциплинам в счёт занятия спортивным программированием, но ведь сколько преподавателей нужно в этом убедить.
А какова ваша мотивация как тренера?
Сложно сказать. Если коротко, мне это нравится. Не думаю, что тут может быть какая-то другая мотивация.
Я сам когда-то участвовал в соревнованиях, правда, дальше NEERC не проходил. Мне это доставляло большое удовольствие. А теперь я учусь в аспирантуре и работаю в СГАУ, так что параллельно занимаюсь подготовкой команд. Разумеется, я не один, у нас тут есть dalex с остальными мишками, например, и I_love_natalia.
Оказалось, что я накатал очень-очень здоровенный пост. Ну да ладно.
Я вижу два возможных варианта, когда человек начинает заниматься спортивным программированием.
Когда человек понимает, что ему очень нравятся эти задачи, и он начинает тренироваться самостоятельно. Обычно действует на школьников, которым делать нечего и которым в кайф этим заниматься. Это же так классно — пишешь программу, а она что-то там считает! Надо учиться писать более сложные программы! Примерно таким путем прошли мои сокомандники. Они очень многое изучили в школе, и, будучи первокурсниками, обыгрывали весь университет (ну, кроме Кости, естественно).
Сам я тоже узнал в школе об этих олимпиадах, но особой активности не проявлял. Задачи мне тоже нравились, но, будучи неподготовленным, я большинство из них решать не умел. Но я и не горевал по этому поводу, т.к. тогда считал, что просто хорошо провожу время за написанием олимпиад.
Однако после того, как я попал в команду (ну я был самым умным из тех, кто ничего не умеет, так в команду и попал), и мы слили четвертьфинал два раза подряд, я начал думать: а чего это мы сливаем? может, надо просто прокачаться, поизучать что-то, потренироваться, и все станет намного лучше? Т.е. сработала спортивная составляющая олимпиад по программированию. Я начал решать задачи на тимусе, и следующий четвертьфинал мы преодолели, заняв впоследствии на NEERC 69 место. А потом я узнал про Codeforces с его рейтингом и цветом, появилось то, чем можно меряться, и меня стало невозможно оторвать от контестов.
А сейчас у нас что в универе? Есть команда СГАУ-1, двое из ее участников имеют достаточно знаний, чтобы проходить на финалы. Однако команда совершенно не тренируется, и поэтому они решают 75% задач на халявных локальных контестах и занимают восемьдесят вторые места на NEERC. И есть еще один участник из второй команды, который сейчас тренируется, потому что ему это понравилось. И еще один первокурсник, который вроде бы что-то делает. Пять человек из здоровенной тысячной толпы студентов. Непонятно, почему так мало. По всем статистическим ощущениям должно бы быть побольше, но нет.
Остальным просто пофиг. Хотя и плюсы вроде бы есть — это хотя бы 10к+ стипендия — если ты достаточно крут и не особо забиваешь на универ, ты ее будешь получать за свои дипломчики, и внимание работодателей, которые спонсируют олимпиады и высматривают там кадры, и возможность поездить по другим городам и повыигрывать маечки. И просто интересное времяпровождение за решением задач, которое полезно хотя бы ради того, чтобы просто научиться хоть что-то писать. Но на локальные олимпиады в итоге приходят около 15-20 команд, которые решают примерно одну-две задачи сложности чуть повыше чем A+B.
В общем, у меня складывается мнение, что если хочешь в вузе иметь хорошую олимпиадную школу, то надо учить детей еще в школах примерно с 6-7 класса, когда им это реально может понравиться. У нас в городе ровно одна такая школа, из которой большинство выпускников уезжает в Москву и Питер. А те, что остаются — им пофиг. В том же Саратове таких школ в разы больше, в результате в родной СГУ поступает куда больше народу, знакомого с олимпиадами и готового заниматься.
Тем не менее, должен же быть способ как-то заинтересовать именно студентов? За время обучения в университете вполне можно достаточно натренироваться и съездить на финал. Наверное, надо пробовать включать второй описанный мной вариант — первый и так сработает на том, кому это суждено. У кого-нибудь есть такой опыт? как это делается?
Ну и более общие вопросы: а как устроена в сильных вузах система подготовки? Какие у вас тренировки, сколько они длятся? Какие темы вы рассказываете на лекциях и в какой последовательности, с чего начинаете?
А кто и как определяет, будет человек получать эту 10к+ стипендию, или нет?
Есть различные критерии от которых зависит размер надбавки, один из критериев — дипломы региональных и всероссийских олимпиад. Собственно у моего сокомандника Slamur стипендия составляет примерно 20к.
живут же люди))
Вы неправы насчет того что в Саратове дела радикально лучше. Школ-то больше — но победители различных олимпиад поступают так же как и в других регионах в Москву и Питер — пока в регионах нет нормального рынка рабочих мест, хрен детей удержишь на месте(извиняюсь за мой французский). Остающиеся время от времени студенты, чего-то добившиеся в школе — практически невиданный товар. Человек, съездивший на Всерос по программированию или математике — в ЦОППе за счастье, да даже дипломанты региональных олимпиад достаточно большая редкость. В итоге подавляющее большинство людей, пришедших на первом курсе в ЦОПП — в лучшем случае левым ухом слышали про графы или динамику, и обучение ведется для всех с нуля. Но вот насчет мотивации у нашего ВУЗа есть несомненное преимущество. Развешенные по всему Центру таблички с финалов, кубки за локальные победы, фотографии и уже потерявшая цвет, но тем не менее классно смотрящаяся чаша за чемпионство — лучше всяких слов показывают, чего можно достичь в Центре.
Тем не менее, проблема остается актуальной, и я вопрос задаю уже самим компаниям. Почему в Москве и Питере создано огромное количество рабочих мест, а в тот же Саратов и Екатеринбург(где, казалось бы, рабочая сила дешевле и конкуренции меньше) никто не хочет идти? Хотелось бы услышать ответ.
Трудно поверить, что подобные проблемы возникают в ведущих школах спортивного программирования, таких как Самарский государственный аэрокосмический университет. Мне всегда казалось, что у ваших студентов мотивации хоть отбавляй. Это возможность путешествий, поскольку команда постоянно выходит в финал, развития, интересного общения, новые знакомства и возможности карьеры. Что касается вопроса о начале занятий на первом курсе, то в вашем городе прекрасный уровень подготовки школьников о чём говорят высокие места на школьных олимпиадах http://contest.sgu.ru/monitor/?id=3. Наверное, у вас те же самые проблемы, что и в Саратове, когда самые лучшие и перспективные школьники уезжают в столичные вузы. Но, по крайней мере они у вас есть. А когда ты, в провинциальном городе, не умея достаточного уровня, стараешься хоть немного подняться и привлечь к этому студентов. Когда студенты поучаствовав в нескольких соревнованиях адекватно оценивают свой уровень и свои перспективы. Многие из них начиная учиться слабо представляют что такое массив и цикл, поскольку средний бал ЕГЭ в наш вуз намного меньше, а экзамен по информатике вообще заменили физикой. А мотивация? Михаил создал замечательную систему и написал хороший текст: http://codeforces.me/blog/entry/1851 Может это и есть основная мотивация?
В нашем университете также принимается ЕГЭ только по физике, на ЕГЭ по информатике не смотрят. Вспоминая свой первый курс — процент одногруппников, которые вообще не умели программировать и вылетели, около 50. Насколько мне известно, никто из школьной команды, занявшей 2 место в Саратове, не собирается оставаться в Самаре.
Насчет нашего университета вы совершенно не правы. Вы слишком высоко оцениваете СГАУ. В области спортивного программирования СГАУ, как и большинство провинциальных вузов — это одно большое зеленое дно, на котором лишь несколько раз в истории появлялись оранжево-красные капельки. То, что они у нас появляются несколько чаще, чем в некоторых других вузах, вызвано лишь тем, что СГАУ — самый престижный вуз в регионе, и что город довольно крупный.
в ведущих школах спортивного программирования, таких как Самарский государственный аэрокосмический университет
Ну смешно же.
команда постоянно выходит в финал
Два раза в истории.
Наверное, у вас те же самые проблемы, что и в Саратове, когда самые лучшие и перспективные школьники уезжают в столичные вузы. Но, по крайней мере они у вас есть.
Есть, но их около 5 человек, причем двое набрали определенный уровень и почти бросили тренироваться. Не понимаю, кто на голосовании Snarknews на них ставил :)
Всё что здесь было написано актуально и для нас (КубГТУ). Но не стану философствовать о причинах, а поделюсь своими наблюдениями руководителя и тренера вузовской команды.
1) Обязательно нужно регулярно пиариться; контингент не должен забывать о вашем существовании; делитесь (хвастайтесь) между делом своими успехами; регулярно объявляйте о предстоящих конкурсах. Замечено, что эти меры позволяют возвращать часть раннее отколовшихся и привлекать тех, кто раньше на вас не обратил внимание.
2) Не нужно превращать подготовку к олимпиадам в ещё один предмет по специальности, на который нужно "ходить". Не заморачивайтесь на все те десятки новичков, которые всё-равно уйдут, не тратьте силы и время, им хватит и тех занятий, что у них уже есть. Просто потребуйте от вновь прибывших обязательств: вы с ними занимаетесь, они готовятся и выступают за вуз. Это проверка характера спортсмена, бесхарактерные уйдут и пусть.
3) Тем немногим оставшимся предложите индивидуальную программу подготовки и развития, особенно это актуально для студентов 1-го и 2-го курсов, так показала жизнь и практика. Давайте интересные темы и задачки, постарайтесь их привязать к реальной жизни и разработке. Пусть новые задачи вытекают из только что освоенных.
4) При этом не давайте расслабляться, пусть то, что вы им задаёте для решения и изучения будет сложнее, чем они уже владеют, но не перегибайте палку. Никогда не начинайте подготовку с азов программирования, так вы только потеряете перспективных и продвинутых. Только сложные и новые задачи способны пробуждать интерес.
5) Обязателен регулярный Dead Line. Программист по природе ленив, и рано или поздно новичёк начнёт находить причины не готовиться к соревнованиям из-за всяких там матанов и строгих тёток по истории. Не давайте слабину.
6) Не смотря на индивидуальную подготовку проводите общие встречи. Пусть по очереди ребята делают доклады про те интересные вещи, которые они изучили, пусть рассказывают о своих находках, экспериментах и успехах. (Но не превращайте ваши встречи в съезды КПСС.)
7) Не ограничивайтесь только спортивным программированием, готовьтесь и участвуйте в конкурсах типа Russian AI Cup, Robofest, замечено, что эти конкурсы привлекают в наши ряды дополнительных участников. Например, на днях на нашей кафедре появился комплект LEGO Mindstorms. Сбылась мечта вести кружок робототехники. Так вот на моё объявление о встрече кружка откликнулись и те, кто ранее откололся и те кто раньше отказывались от участия в нашей деятельности. В общем, будьте разноплановы и разнообразны, вплоть до того, что беседуйте на темы фотографии и туризма.
И немного всё-таки философии: что мешает привлекать ребят в свой коллектив?
1) Атмосфера формализма. Ребята ищут общения, друзей, новых впечатлений. Далее, смотри выше.
2) Несоответствие уровню развития. Развитым не будет интересно, если в коллективе одни слабаки. Слабакам станет скучно, если все плюшки только сильным.
3) Харизма руководителя или тренера. Если Вы чувствуете, что у Вас её нет или мало, найдите более харизматичного помощника, желательно среди студентов. Замечено, что первокурсники легче находят общий язык с теми кто чуть старше них самих, а дядек сторонятся, даже если дядьки круче тех.
Пока всё!
Вы все правильно написали, конечно же мы и ведем пиар, и не превращаем это в обязательные занятия. Проблема в другом.
Не заморачивайтесь на все те десятки новичков, которые всё-равно уйдут, не тратьте силы и время, им хватит и тех занятий, что у них уже есть. Просто потребуйте от вновь прибывших обязательств: вы с ними занимаетесь, они готовятся и выступают за вуз. Это проверка характера спортсмена, бесхарактерные уйдут и пусть.
И прикол в том, что остается 1-2 человека :)
Надо как-то научиться делать так, чтобы оставалось народу хотя бы на две команды...
1) Мы пиаримся на собраниях первокурсников, и перед достаточно крупными локальными контестами развешиваем рекламки. Может, ещё есть какие-то способы?
2) Дома никто ничего не хочет делать. Кто уже втянулся, те, само собой, начинают работать самостоятельно, но речь-то как раз про то, что делать с остальными. Разумеется, никто не заставляет ходить на эти занятия — просто нет никакой возможности это делать.
3) На индивидуальную программу поначалу не хватает тренерских ресурсов, ведь сначала студентов довольно много, сложно за каждым уследить. Потом, когда уже осталось полтора человека, с этим уже опять же нет проблем, но речь-то про то, как бы какое-то время оставить массовость.
4) Стараемся подобрать материал и задачи нужной сложности, но каждому в голову не залезешь, тем более что контингент самый разный. Азам программирования мы не учим. Мы учим азам спортивного программирования на первых двух-трёх занятиях: как вообще подходить к решению задач, как оценивать сложность алгоритмов, какие там вердикты, как с ними бороться, типичные ошибки и т.д.
5) На установление жёстких сроков или другого контроля разные люди реагируют по-разному. Некоторые просто перестают ходить. Может, такие нам и не нужны, но где взять других?
6) Собираемся массово с народом, который ещё мало что умеет. Людям из первой-второй команды уже на таких встречах особо нечего делать, да и их никуда не затащишь, потому что работа и учёба. Хорошо бы чтобы хотя бы просто тренировались иногда.
7) Кружок робототехники у нас отдельный есть, как и кружок фотографии. Последний, кстати, популярнее, чем наш кружок и кружок робототехники вместе взятые.
По поводу философии.
1) Рад бы предоставить им новых впечатлений, но могу предложить только поучаствовать в виртуальном соревновании. У нас ежегодно проходят различные крупные локальные олимпиады с довольно ценными призами, на которых можно побороться, там участвует много народу, но мало кто серьёзно занимается в дальнейшем. В целом встречи проходят довольно неформально.
2) Стараемся разделять по уровню подготовки, но не всегда выходит. Опять же понятно, как подходить к первой команде и какой у неё уровень подготовки, но не понятно, что делать с толпой первокурсников. К тому же не так много тренеров, чтобы, скажем, разделить на группы и тренировать отдельно.
3) Насчёт своей харизмы ничего не знаю. Как взрослого дядьку меня пока ещё не воспринимают: всё-таки я только в прошлом году закончил университет. Увидев и послушав dalex, я бы на месте перваков вообще разбежался в ужасе.
Давно хотел попросить совета, а тут как раз подходящий топик.
Предыстория:
У нас в ВУЗе года так с 2006 (вроде) не было нормальной команды, кого то отправляли и ладно... В этом году появились люди которые хотят чего то добиться и готовы заниматься, я в их числе. Наспех сколотили команду, зафейлились на 1/4 финала, но вернулись с желанием подготовиться и отыграться.
Что делать и как готовиться? У нас сейчас есть одна команда, плюс мы набрали где то человека 3 с 1-2 курса и ещё где то человек 7 школьников(на кафедре организовали школу программирования, мы вписались, благодаря этому имеем аудиторию). Понимания что со всем этим делать нет никакого. Наш тренер и руководитель, по ощущению забил на команду несколько лет назад, так что все сами. И если с материалами проблем нет, тренировок даже тут хоть отбавляй, то встает проблема как это давать, как привлекать народ и где можно участвовать кроме ACM ICPC.
Вопросы:
Прямо здесь есть несколько простых тренировок, которые можно использовать для подготовки. Например, тренировки СПбГУ. Описания алгоритмов и всяческая литература, сами знаете, есть на на емаксе. На ИНТУИТе выложены кое-какие лекции по теме, например, лекции Станкевича по базовым алгоритмам для школьников.
Список соревнований есть, например, здесь. Также все здесь наверняка знают про SnarkNews.
Сложно сказать, надо ли заниматься со школьниками. В конце концов, надо же с ними что-то делать. :) Если нет проблемы посещаемости занятий, то можно и заниматься, наверное.
Ну вот I_love_natalia в своё время успешно совмещал в себе участника и тренера самого себя и других команд. Другого человека, который в Самаре мог бы натренировать команду для выхода в финал просто не было.
Я решил тоже откомментировать... Извиняюсь если получилось длинно... Для моего ВУЗа — СамГУ финалы и высокие позиции это запредельные мечты на данный момент, все чего добился лично я это полуфинал NEERC. С прошлого года мы решили проводить у нас в университете занятия по олимпиадному программированию, так сказать, начали пробовать ставить это дело на поток. Я будучи зам. предомпрофбюро факультета проводил массовую пиар кампанию, говорил об этом много часто, рассказывал как это круто и т.д об этом уже говорили. Итог на первое занятие пришло около 15 человек.
Первая проблема с которой мы столкнулись это то что люди тупо не знают языков программирования. Ну вот не знают и все тут. Кто то в школе Pascal учил, кто то Basic. Кому то вообще учитель информатики байки за жизнь рассказывал. И это огромное счастье если среди "новобранцев" есть 1-2 человека которые занимались СП, именно они обычно и остаются в конце.
В общем пришлось начинать с чтения лекций по языку, на это было убито порядка 2 месяцев (занятия 2 раза в неделю). После каждого занятия был мини контест(приближенный к пройденной теме) и разбор задач.
Примерно к 4-5 лекции мы получили результат описанный в начале топика. У нас осталось 1.6 команды которые ходили стабильно и ещё 1 человек как мигающий сигнал светофора.
По факту для людей которые остались уже было все равно что мы будем проводить/читать/контестить они уже были зажжены.
И вот проблема номер 2 что остальные люди которые теоретически могли бы заниматься (потому что они сильны например в математике) отсеялись потому что они с трудом понимали как запрограммировать ту или иную штуку.
Далее мы начали читать алгоритмы и вот тут наступила проблема номер 3. Те люди которые с легкостью щелкали программирование с огромным скрипом пытались понять и принять алгоритмические задачки.
По факту по итогам прошлогодних занятий мы получили полторы команды которые сейчас пытаются работать и апгрейдится сами.
Кстати проблема того что никто ни черта не решает дома никуда не ушла. Все только кивают головами.
В этом году у нас опять была пиар кампания и на данный момент на занятиях стабильные 3 команды (изначально было 5)
Ну и последняя и самая главная проблема! Кроме нас — действующих команд и нашего тренера в университете СП никому ***** не сдалось! Все приходят светят галстуками и пиджаками говорят как это нужно и важно, но на поездки на соревнования и сборы денег дают с огромным трудом и редко.
И в общем вопрос у меня только один как во всех этих условиях зажигать народ? Как то не хочется смиряться с ситуацией +0,5 команды в год.
Мне кажется, что очень большую роль играет постоянная атмосфера соперничества внутри пула олимпиадников, тогда людям постоянно есть что обсуждать, появляется мотивация (вырваться на 1 место, обойти вот того 5курсника и т.п.). В итоге почти все прогрессируют, налаживается коммуникация, иногда даже на этой почве формируются команды.
Лично я поначалу использовал ACM Server, ставя длинные контесты на много задач, а теперь написал свой простенький скрипт.
Всё и очень сложно и в то же время просто. Для чего вообще существует спортивное программирование? Не "зачем им заниматься" а именно "почему оно существует как явление". Спорт вообще зачем нужен, взять хоть интеллектуальные, хоть физические виды. Кто-то скажет что для здоровья, развития, всё такое? Да в профессиональном спорте столько травм, что никакого здоровья не хватит. Для денег? Да там все за год становятся миллионерами. Истинная причина одна: желание победить, быть не таким как другие, быть лучше, совершеннее, значимее. Делать что-то великое для своего народа. Всё остальное — следствие. Если бы не это желание, порождающее соревновательность как таковую, не было бы и всего остального. Так же и здесь.
Что привлекает людей в начале. Какой-то интерес, новизна, эдакий "wow-эффект". Но это проходит. Для появления устойчивой мотивации необходимы более глубинные механизмы. Иначе, если и останется что-то, то хватит лишь для занятий "for fun".
Поэтому первое и основное, чем можно мотивировать начинающего — это возможностью стать лучшим в своём деле! Не просто кодером, каких тысячи тысяч, а чемпионом. Ведь каждый человек мечтает о чём-то большом и значимом. Может быть тот мальчик в детстве мечтал забивать голы в Лиге Чемпионов, а эта девочка — исполнять песни на Евровидении. Он пошёл в спортшколу, а она в музыкальную, но не задалось. Зато математика всегда шла на ура, но чего крутого в том чтобы быть ботаником задротом, решая заумные одному тебе интересные задачки? А какому-нибудь отличнику, мечтавшему стать космонавтом, родители, которым было плевать на его мечту, вдалбливали что космонавт должен как минимум знать по каким физическим законам летают ракеты, вот он и стал решать физику, тем более идёт на ура. А теперь все они поступили в ВУЗ и где-то внутри уже начинает тревожно звенеть мысль: "И что? Неужели я так и не сделаю в этой жизни ничего выдающегося?" Ведь, по большому счёту, любого выпускника-программиста очень даже можно заменить на работе. И вот он шанс: выступать за свой город, за ВУЗ, за всю Россию, побеждать, выходить в полуфинал, финал, делать что-то такое, что если этого не сделаешь ты, то никто кроме тебя не сделает.
Когда мы только начинали заниматься программированием, в 11 классе, нам раз за разом рассказывали как всё начиналось. Как впервые наши команды поехали на полуфинал. Как сдавали первую задачу. Как они на финал попали впервые. Как поехали за границу. Как бились на равных с лучшими умами планеты! И сердце замирало от желания стать хоть немного похожими на них. Мы смотрели таблицы финалов и перед глазами проносились названия: МИТ, Гарвард, Стенфорд! Каждый мечтает там учиться? Но вот что куда круче: разорвать все хвалёные иностранные команды к чертям! Как команда Тарасова в первом же матче суперсерии снесла сборную самых великих хоккейных профессионалов из Канады 7:3. Вот он, челлендж нашей жизни! И ведь это всё возможно! Это реальность! И это то, ради чего действительно стоит жить. И может быть в родном ВУЗе когда-нибудь такие же истории будут рассказывать новобранцам и о нас. И каждый будет мечтать быть на нас похожим. Именно так смотрят на олимпиаду новички.
Знаете, вот мы все привыкли к этим словосочетаниям: "полуфиналист чемпионата мира", "призёр чемпионата северо-восточной Европы" и т.д. Нас этим не удивить. Но для рандомного человека с улицы такие достижения — это же просто космос! А новички — это и есть люди с улицы. Так почему не использовать это? Ведь попадание на полуфинал чемпионата мира NEERC для многих контестантов так и остаётся на всю жизнь самый высокой взятой ими вершиной, самым громким завоёванным титулом. Это сейчас была не шутка.
У вас десять тысяч студентов, и вот она возможность стать одним из тех трёх элитных студентов, которые на главном в мире студенческом состязании будут представлять университет и город. Каждый из них уже, что называется, "один такой на много тысяч"! Элитное подразделение вашего ВУЗа.
Да, потом уже будут часы работы на износ, но кто говорил что чемпионом мира стать просто? Работа на износ пойдёт сама собой когда человек знает что идёт к достойной цели. Никто не пробежит марафон и не заберётся на Эверест без подготовки. Все это понимают. Но если пройдёшь это — будет у тебя что-то, за что ты сможешь сам себя уважать. Так же и тут. Не меньше.
Только вот никто не идёт в горы только ради лишений, а на марафон — чтобы потом неделю с кровати не встать. Никто не выходит на боксёрский ринг из любви к получению ударов по голове. Мазохистов мало. Всеми этими людьми движет что-то иное. Как и спортивными программистами. А именно: цель!
Так вот, если вы преподаватель игры на гитаре, то не стоит рассказывать ученикам о том как будут болеть пальцы и давать попробовать им сразу взять баррэ ("ага, не можешь? сложно будет!"). Зато можно рассказать как круто быть душой компании на вечеринке у костра и какими глазами будут смотреть на тебя девушки. Если вы пилот-инструктор СВС, то не стоит сразу грузить про то как оценивать, например, погоду. Попытайтесь передать ощущение полёта и романтизма.
Так же и здесь. Если будете объяснять сбалансированные деревья и в конце лекции скажете: "А олимпиадник это может написать," — вас никто не поймёт. Будете гонять по пятичасовым контестам и разборам — заскучают и уйдут, ищя свою детскую мечту в другом месте. Кто-то останется, но без энтузиазма. Так, задачки порешать это всё-таки интереснее чем какие-нибудь кроссворды разгадывать или в соцсетях в приложениях торчать. Будете сомневаться в полезности, в успехе — ваши сомнения передадутся новобранцам. Если же вы сами убеждены что ICPC круче, больше, значительнее всех научных студенческих конференций и форумов вместе взятых, что побеждать можно, что уже получалось (или не получалось, но все так этого ждут) — вам тоже поверят. Самое главное — поверить во всё это самому.
Действительно, очень хорошо когда есть конкуренция. Ещё лучше когда в ВУЗе уже есть финалисты, а есть молодые и зелёные. Молодняк будет спать и видеть первый контест, на котором они наконец-то, хоть на пять минут, но обойдут старпёров! Для совсем начинающих даже просто оказаться в мониторе выше них на минуту уже счастье.
Вот они основы мотивации. Это алгоритмические задачи, которые никто не умеет решать, когда в три ночи вскакиваешь с кровати, включаешь комп чтобы допилить код, проходишь наконец этот чёртов 80-й тест и получаешь accepted, а потом чувствуешь себя немного Менделеевым, которому озарение пришло во сне. Это год подготовки, всего пять часов, ради которых всё это было, и решающая задача, сданная на самой последней минуте. Это честь представлять свой город и страну в том деле, которое ты умеешь делать лучше всего. Ну а дальше — они и сами разберутся. Кто поступал только чтобы получить корочку и устроиться на нормальную работу всё равно вряд ли вам нужен. Все остальные, а, как писал Мирзаянов, приходят и математики и геймеры, если любят процесс, если найдут отголоски детской мечты, если не боятся трудностей, если готовы к игре, добро пожаловать.
В том-то и вопрос, что начинающим не объяснить, какое это ощущение. А описание вроде "полуфиналист 1/2 мира" очень странное и вообще не впечатляет. Особенно сейчас, когда любую совсем простую вещь стараются назвать хитрым словцом.
Да Вам же все уже сказали. Найдите видео с финала, полуфинала. Запустите проектор. Почитайте новичкам под этот фильм "Записки о мотивации". Зазомбируете так перваков что те только через полгода опомнятся в лучшем случае:)
Давайте будем честными! Для новичка который ничего не понимает видео на котором несколько сотен человек втыкают в компьютер, для людей которым фамилии Короткевич, Митричев и др. ни о чем не говорят, Для них это все как мертвому припарка. Так скорее можно только отпугнуть людей, нежели замотивировать.
Реально мотивируют только соревнования когда ты чувствуешь дух. когда ты внутри. А вопрос как их до этих соревнований довести!
Фамилии ни о чем не говорят. А вот названия ВУЗов говорят о многом. Стенфорд, Гарвард, MIT — все эти ВУЗы знают. И наблюдать, как их обходит провинциальный российский ВУЗ(Пермь, или Урал, или Саратов) — это зомбирует. И новички наверняка подумают "Если какой-то там Саратов может показывать такие результаты — чем я хуже?". И постепенно втянется.
+100 за проникновенный пост. Выскажу свое мнение, потому что, как ни странно, оно еще не звучало.
Громкие победы — действительно отличный способ привлечь к себе внимание людей, но не всегда идеальный способ привлечь их в свои ряды. Кто из не умеющих программированием первокурсников способен поверить, что он в будущем достигнет уровня полуфинала-финала чемпионата мира? Да никто. Даже способные люди редко в это с самого начала верят из-за заниженной самооценки (а такая она у нас в СГУ у подавляющего большинства). Что уж говорить про тех, кому на самом деле не хватает способностей?
Отсюда напрашивается вывод: то, что спортивное программирование — это классно — даже не самое главное. Им заниматься нужно, потому что оно полезно (см. Зачем нужны студенческие олимпиады по программированию).
Во-первых, в процессе подготовки к олимпиадам вас научат алгоритмам и структурам данных. Во-вторых, писать и отлаживать небольшие работающие программы. В СГУ есть курсы по программированию и по алгоритмам, но, во-первых, не на всех специальностях, а во-вторых, университетское образование слишком обзорное. Вы получите общее представление о том, что вообще бывает, но чтобы это закрепилось и превратилось в навык, нужно очень много практики. Таким образом, спортивное программирование — это дополнительное образование, которое к тому же повышает вашу ценность на рынке труда. Повышает как наличие медалек, так и знание алгоритмов. Покажите, например, вашим первокурсникам задачки с собеседований Google и других компаний, которые практикуют алгоритмические задачки на собеседованиях. Я, кстати, если к слову придется, показываю студентам математические задачки с собеседований в ШАД.
Конечно, большинство людей занимается СП не из-за полезности, а потому что им нравится. В тот момент, когда вы решаете задачу и вас невозможно оторвать, вам чихать на ее полезность. Но наступают моменты, когда задача не решается, и хочется на все забить. Именно в эти моменты нужно перечитывать пост MikeMirzayanov'а и убеждать себя в полезности СП.
Параллельно со мной в ЦОППе занималась компания людей, которые начали туда ходить на 3 курсе. Разумеется, о громких победах речь не шла. Они пошли в ЦОПП, чтобы вырасти в профессиональном плане. Они "проходили" программирование на первых курсах, но именно в ЦОППе они научились писать работающие программы, познакомились со структурами данных и STL (что совсем не лишнее для промышленного программиста), научились работать в команде. Потом они пошли на курсы IT-компаний, прошли стажировки и стали работать программистами. Без ЦОППа не факт, что они преодолели бы некоторый входной порог, который требуется от юниоров.
UPD. Да, и если у вас самих нет твердого убеждения в полезности СП для среднестатистического студента компьютерной специальности и вы воспринимаете СП просто как увлекательное хобби, то у вас не получится собирать такие толпы народу, как у MikeMirzayanov'a.
.
ИМХО, всё гораздо глубже: надо стараться воспитать людей, которым будет интересно думать (а все решающие здесь об этом знают). И это уже будет победой, вне зависимости от того, куда эти ребята пойдут: в химики, астрономы или биржевые аналитики.
Но вот только как это сделать со студентами в 17-18 лет, перед которыми открываются лёгкие пути, совсем не ясно...