Какви поуки си взехте след първия изпит?


12
Леле не е истина. Поспах си и днес погледнах задачите с бистър ум и идеята да си оправя грешките. Аз съм вариант 2.1 (6 December 2013 Evening) и имах 260 точки.
 
Ето как протече изпита за мен и какви са ми поуките:
 
Докато се свържа с bgcoder да видя условията на задачите -> Минаха си 20-30 минути.
 
После като решавах първа задача ("2-4-8") и избирах променлива - викам uint трябва да стигне. Ако ми вади грешки в bgcoder -> ще сменя на ulong. Пробвам да си пусна решението - сайта долу. Викам направо да почвам да решавам втората ("Nightmare on Code Street").
 
Докато решавах втора, успях да се свържа с кодера и си качих първата -> гледам 70/100. Що ли, си викам? Бе де да знам - в момента решавам друга. После ще я гледам. Може би даже след като реша и четвърта, че много хора я решават успешно по принцип - що да губя време за 30 точки да търся exceptions щом може 100 -> ПРИОРИТЕТИ.
 
Като реших втората, гледам че пишат в условието "текст с цифри", текст-мекст. Викам си - сигурно ще бутнат няк'ви грозни знаци между другото. Чакай да я кача пък после ще му мисля за проверки. Само ако не е 100/100. Пробвах submit -> кодера пак долу :< Време е за 4-та с лодките("Kaspichania Boats"). Може пък втората да хваща 100 точки без добавки?
 
Докато решавах четвърта, успях да се свържа с кодера и си качих втората -> гледам 70/100 (Абе тука нещо се повтаря случката). Къде ли ми е грешката? Няк'ва проверка май трябваше да направя? Остави, с'я в момента съм се развихрил с четвърта, скоро я свършвам. После ще ги гледам тия със 70 точки.
 
Направих четвърта и качвам - ей най-после не е 70, а 100 точки. Сега какво да правя? Тези първите две не са на сто, ча'й да им хвърля едно око -> нищо не се сещам на пръв поглед. Дали да хвърля второ око? Абе що не погледна малко и другите 2 задачи, вместо да си губя времето за 60 точки? Виж как добре ми се получи с 4-та. Пък и има ~3 часа още. Все ще се намери време за полурешени задачи.
 
Та гледам аз 3-та("Enigmanation"). О-о-о трябва калкулатор да правя. Много parse-ване на знаци и цифри, много нещо. Не, че е невъзможна. Просто тая бая време ще отнеме. Къде ми е bit-аджийската задача? Там ми е силата. Гледам 5-та -> ето я. Абе и тая не е много къса, ама поне съм сигурен, че ще я реша. Bit алгоритъма веднага ми се появи в съзнанието и не ми трябваше много време да реша коя от двете задачи да почна.
 
Петата ("Game of Page") ми отне повече време от предвиденото. Нещо условието ми се видя много неясно :< Разни въпроси, разни отговори, повтарящи се ситуации. Трудно се разбират тез' жени. Изведнъж си излетя времето. Дали да не си търся грешките в 1-ва и 2-ра? Ма'ни! Толкова съм близо да свърша с петата… Тестовете обаче отнемаха прекалено много време заради обемния input, въпреки че ползвах и автоматизиран input от текстов файл (piping от конзолата), така пък debugging-а беше тегав. Толкова знам с'я. Няма време да търся по-ефективни методи. Дай направо ДА НАМАЛЯ ВРЕМЕННО input-a на 3 реда вместо 16 и ДА ПРОБВАМ РЪЧНО. Там е работата, че ЗАБРАВИХ за тази "МАЛКА ПРОМЯНА" и после се чудя и се мая що за странни резултати получавам като ВКАРВАМ ВСИЧКИ 16 РЕДА! (Абе тоя абзац нещо взе да звучи другояче; да не си помислите нещо само)
 
В крайна сметка времето свърши и имах 10 минути да предавам. Направо предадох каквото бях направил -> 20/100. Ужас! Ник'во време за тестове. Няк'ви отчаяни опити направих и предадох в последната секунда. Така и си останах с 260 точки файнъл ризалтс(РЕЗИЛтс?). 20 спечелени точки за 3 часа работа. Можеби ако имах само още малко време…
 
Сега, като погледнах задачите отново, грешките ми бяха повече от ясни. Вижте шибания diff между решенията, които предадох и тези които сега барнах. Това е разликата между 260 точки и 400! Най-много ме заболя за пета задача… Diff-a ми се усмихва даже. Ще го убия!
 
Каква ми е поуката? Хубаво правех, че решавах повече задачи, вместо да вися и да си търся грешката на една задача. И без т'ва имах проблем със стабилността на нета и там задължително щях да изгубя още много време - не разчитайте да има интернет. Това което правех не както трябва - не си водех бележки докато решавам задачата. Разни хрумвания, разни тестови промени и т.н., не си ги отбелязвах, а с течение на времето лесно се забравят (особено ако не си спал скоро и прескачаш от задача в задача). Така се самопрецаках много, а нищо нямаше да ми коства поне да поставя някой друг коментар в сорса.
 
 Друго нещо -> трябва да се подготвя за по-лесни и бързи тестове next time. Дори autohotkey щеше да свърши повече полезна работа, по 5-та задача, от това с което разполагах. А дали не е казано в някоя лекция как да тестваме правилно? Явно съм пропуснал. Може би има опция във Visual Studio, като изберем конкретен проект>цъкнем RMB>Properties(Alt+Enter)>Debug>Start Options> Command line arguments" да въведем "< path\to\the\TestInputFile.txt" и да ползваме pipe-ing с debug support? Може и да има. Не съм се запознавал с нея преди изпита.
 
А, и друго  нещо - да не ви пука много много за memory limit-a на първия изпит. Карайте на сигурно.
 
Вие какви поуки си взехте след първия изпит? Къде ви беше слабото място? Подготовката, организацията, нещо друго? Смятам, че ще е полезно за хората след нас, явяващи се за пръв път. Пък и за нас.

 




Отговори



0
Моята поука беше да ходя със сверен часовник, понеже часът беше с 1 час напреде и в един момент ме обвзе паника че нямам време, а съм решил само две задачи и дебъгвах третата. Също така, че не може да се очакват високи резултати при недостачно упражняване. Както един колега каза по-горе "Practies makes perfect". Хубаво е в денят преди изпита да се релаксира с някой приятна комедийка (говоря за вечерта най-вече), а не да се решават задачи до последния момент, натоварването идва в повече.



0
В един момент единствената подготовка ще бъде няколко часа преди изпита. :D

от ivaylo.kenov (30760 точки)


1
Моята поука е, че трябва много практика. Моята подготовка се състоеше в решаване на задачи нощно време след работа. И че е добре да се напъваш да решаваш задачите сам, а не да си помагаш с готови решения и само да оптимизираш.
Знаех, че възможностите ми са да реша 3-те по-лесни задачи и от там насетне каквото стане. Е това се и получи на изпита, реших 3-те задачи и на другите 2 нищо не стана :D

от bonethugs (378 точки)


2

Поуката, която аз си взех е, че Академията не е за "начинаещи" и това, че сме учили до цикли и са ни казали "погледнете си масиви" съвсем не означава, че задачите от изпита могат да се решат със знания до глава "Масиви". та аз лично смятам да съм с минимум 5 глави напред от текущата лекция следващия семестър :) 

heart


от milenasp (60 точки)


0
Спокойно можеш да ги решиш със знанията до матрици, въпроса е да ги измислиш ;д На мен на това, което съм решил не ми се наложи да ползвам нищо друго, само един List на 5-та да си изкарам аутпута :) Но сега за C#2 ще е наложително да знаем много неща от Структури данни, за да си улесним живота...

от staccobain (834 точки)

0
Поне 50% от миналогодишните завършили са започнали от абсолютната нула. Сред тях има и много топ шампиони по курсовете. Просто изисква много повече време да настигнеш останалите, но е напълно възможно и постижимо. Предишният опит с математиката или програмирането помагат, разбира се. Според мен факта, че сте начинаещи, трябва да ви мотивира да ги настигнете и задминете. Говоря от личен опит. ;) Хубаво е, че мислиш като мен и се надъхваш да вървиш напред с материала.

от ivaylo.kenov (30760 точки)



1
Че колкото и да не вярвах, 6 часа не са толкова много време за 5 задачи... :D

от boyski33 (232 точки)


4
Моята поука е да решавам още и още задачи и после още задачи и още задачи. Нищо друго не помага за изпита като решаване на задачи. Първа, втора и четвърта задача ги реших за по-малко от час. И после на трета забих яко - просто цялата ми мисъл тръгна в грешна насока. След малко над час циклене се метнах на пета - 63 точки там и отново на трета. И още два часа циклене на трета и нищо - 0 точки. Събота сутринта я реших за по-малко от час, но с абсолютно различна логика от това, което се опитах да направя на изпита.
Като краен резултат - 363 точки от изпита в петък сутринта. Много - малко това е положението. Почнах да решавам вече задачите за С# втора част и мисля следващите два месеца да няма празно - това явно е начина да се изкара изпита на макс.

от wnvko (3123 точки)


0
На мен трета ми отне най-малко време (по-малко от първа дори). Просто използвах стрингове, а не побитови операции :)

от Galya (786 точки)


2

Това, което научих от първия изпит е , че човек трябва да мисли и да не се поддава на нервите.Колкото и да ти се струва лесна една задача, да не я подценяваш.Дори и да не може да реши нещо от първия, втория, третия или N-тия опит да не се предаваш, а да reset-неш за 1-2 мин и да започнеш всичко на ново, дори и да трябва да пререшиш цялата задача на ново.Едно от най-важните неща в което се убедих е, че задачите трябва да се решават стъпка по стъпка, като на всяка стъпка да се проверява дали всичко работи ОК.Поздравления на тези, които са решили всички 5 задачи и късмет и повече учене на тези, които са се преборили с няколко от тях!!


от rodytooo (85 точки)


0
Аз на изпита отидох с мотивацията да изкарам 500 точки, понеже предишните дни реших няколко изпита и последните два ги направих единия за 2ч и 20 мин за 500 точки, а другия 2 часа и 30 мин за 440 точки и точно това много ме изнерви когато 3-та задача(след като бях решил 1, 2 и 4) не знаех как да я реша като хората и на 2-3 пъти прескачах от 3 на 5. В крайна сметка успях да гокарам 3-та до 76 точки(за 2 часа и половина - 3), но за 5-та не ми остана време да стигна до решение, въпреки че я пробвах(изкарах 10 точки от един нулев тест).
И въпреки целия хаос в залата от претъпканата зала успях за 90 мин да реша 3 задачи.
Та поуката е да не се разсейваме с това, какви са били задачите предния ден, а да се концентрираме върху задачите си. Колкото и да не харесвах Debug ми се наложи на няколко пъти да го правя, за да открия какво прави с X Expression-a моята програма и защо ми дава такива резултати. Обикновено си слагам да ми принтира нещо, за да видя дали програмата влиза в еди кой си if, но не е подходящо всеки път. Успех на всички.

от RANOPILE (1038 точки)


0
"Колкото и да не харесвах Debug" Използването на дебъгера не е rocket science, но ако не се научиш да го използваш нещата просто няма да се получат. Инвестирай малко време в тази насока.

от westi3m (5621 точки)

0
Както се казва: 20 часа четене и търсене могат да ти спестят половин час дебъгване. :D

от ivaylo.kenov (30760 точки)


0
Моята поука е - ако не работи -> пиши кейсове до умиране XD

от snowstorm (217 точки)


0
При мен стана нещо странно. Реших първата задача от петък вечерта, тествах я и работеше. Качих я на bgcoder и ми даде 0/100. Сигурен бях, че няма как това да е вярно. Но системата искаше да чакам, за да кача пак. Качих и пак същия резултат. И чак на третото качване на абсолютно същия код ми излезе 50/100. После оправих малко типа на променливите, излезе 70/100. Пипнах още малко и стана 100/100. Тоест понякога и системата дава бъг, но трябва да настояваме, ако сме сигурни какво правим.



8
Не знам какви поуки сте си взели всички, чета доста смислени неща, но на мен ми направи впечатление, че по-голямата част от напълно начинаещите се представиха абсолютно достойно на този първи изпит и успяха да хванат между 120-340 точки та и от горе. Евала, явно е кипяла здраво подготовка и съм сигурен, че при още време щеше да има и по-добри резултати :)
Гответе се все така здраво, вече имате battle field experience, недейте да rage-quit-вате както каза колежката по-горе и решавайте яко домашни ;D Сега разбирате защо да ги препишете не е добра идея :)
Поздрави за успехите и продължаваме с работата :)

от KOCTEHYPKATA (5259 точки)