"Да знаеш много езици,
да спориш само с умници,
да пишеш сложни програми,
машината да те мами
и пак да оставаш оптимист -
това е да си програмист!"Забелязвам, че в темата са се включили само бившите състезатели (и Деканът, който си е състезател по душа)... Ако искаме да напълним форума със спомени за доброто старо време, колко е било забавно и колко е по-по-най да се състезаваш, добре...
Истината обаче е, че целта е съвсем друга. ФМИ има нужда от отбор...
Но преди да продължа, искам да попитам дали този форум се чете от хора, които могат да програмират, програмират добре и искат да се докажат в това? Въпросът ми е особено валиден за хората от първи и втори курс, при които перспективите да израстнат в това отношение са най-добри...
Сега, като човек, който е ходил на състезания по програмиране 14 години, нека ви кажа какво ви е нужно, за да участвате, какво представляват състезанията, какво печелите и какво губите...
Какво представляват състезанията по информатика?Накратко, дава ви се задача и трябва да напишете програма, която я решава...
Примерно условие:
Как с хода на коня да преминете по всички полета на шахматната дъска точно по веднъж?
Примерен вход:
От клавиатурата се въвежда позицията на коня, да речем C4.
Примерен изход:
Списък от ходовете на коня. За примера: C4 - A3 - B1 и т. н.
Е, помислете как ще изглежда програмата ви, която решава подобна задача... Можете ли да напишете такава?
А ако решите да я обсъдите на по бира с някой от момчетата в отбора в Пловдив (или с мен и Ивета в София, или с Тош в UK), това е една добра първа крачка за сформирането на отбор.
Какво ще научите от състезанията?Преди всичко, как да структурирате мислите си и да пишете качествени програми бързо.
Освен това, ще се запасите с голям набор от алгоритми и практика при реализирането им.
Ето няколко примера за това:
Ако сте ходили на bgmaps.com, ще видите, че там има програма за намиране на най-кратък и най-бърз път между два произволни града в България... използва се алгоритъм за най-кратък път в граф.
Чудите се как се прави чип-тунинг при автомобилите за минимален разход на гориво в даден момент? Използва се алгоритъм за динамично оптимиране.
Искате да направите игра с 3D engine? Ще ви трябват серия геометрични алгоритми, например дали лъч светлина преминава през стената или напротив...
Нужно е да се открият всички прости числа, чийто цифри са също прости числа... или нещо подобно? Ще ви трябват комбинаторни алгоритми и рекурсия...
Може би е добре да разгледате някой сайт като
http://infoman.musala.com.
С какво всичко това ще ви е полезно в бъдеще?Сещам се за поне 10 фирми, в които фактът, че си състезател по информатика ви гарантира допълнителни точки на интервюто и допълнително парички към заплатата.
Освен това, ще разберете какво е сложност на алгоритъм и как да направите една програма по-бърза от повечето си колеги... Това ви гарантира повишението много бързо.
Какво ще трябва да пожертвате?Време и труд... Много труд! Е, не го разбирайте като хващате правата лопата и копаете от оградата до обяд...
По-скоро се събирате, хващате един сайт със задачки, например infoman.musala.com или timus.ru и започвате да се борите със задачите. На някои им е забавно, на други - не.
Какви състезания има?Студентски олимпиади, пролетни турнири, есенни състезания... Благоевград, София, Пловдив, Шумен, Букурещ... най-различни места, най-различни задачи и... наистина страхотни моменти.
Но няма как да разберете за какво става въпрос, докато...
... не се съберете да правите програми и програмистски песни. Едновременно!
... не отидете в два часа през нощта на Шуменското плато заедно, за да пиете бира под звездите
... не се загубите поне два пъти в Букурещ, защото сте питали за метро, а те са ви посочили магазини "Метро"
... не опитате специалния алкохолен коктейл "Reset" на Ники Вълчанов
... не останете будни поне една нощ, заради вълнение от следващото състезание.
... не хапнете благоевградско пилешко в сладко-кисел сос, обаче без да го помирисвате...
... не разберете какво значи "Щъркелите хапят!"
Въобще, има толкова много неща, които не могат да се опишат, че смятам да спра тук, докато все още не ви е писнало да четете...
Накратко, в отбора всичко е по много - много нови познати, много задачи, много неща, които да се научат, много места, които да се посетят, много перспективи в бъдеще и много, ама много голям купон!
Ще се радвам, ако заинтересованите споделят какво мислят, а незаинтересованите - защо го мислят