Тъй като курсът вече не се провежда, няма да се провеждат и редовни изпити. Ако сте записани от минали години и искате да се явите на изпит, трябва да ни пишете на fmi@golang.bg със следната информация:
Имена и факултетен номер (очевидно)
Годината, през която сте записали курса
Идея за проекта, който имате намерение да защитите (без значение дали е вече одобрена или искате да заявите нова)
Ще ви бъде организиран изпит през следващата изпитна сесия. Изпитът ще се състои в това да решите тези тестове, които не сте през редовния семестър и да защитите вашия проект. Формирането на оценката ще се състои на база натрупаните точки и скалата за оценяване от семестъра, през който сте карали курса.
Имайте предвид, че за да бъде издаден изпитен протокол, ще трябва да заплатите такса за това в отдел "Студенти" на ФМИ.
Датата по време на септемврийската сесия за курса "Програмиране с Go" е:
07.09 от 16:00 до 20:00 в зала 02
Първите два часа ще се радваме да проверим и оценим проектите на всички, които не са успели да направят това по време на редовната сесия. Следващите два часа всички, които не са направили първият или вторият тест (или и двата) ще могат да го направят. Приемаме и хора, които искат да се откажат от точките си по време на семестъра от някой тест и вместо това искащи да опитат отново сега. След няколко месеца всекидневно писане на Go и жертви пред олтара на Russ, човек вече трябва да е доста по - добър на тестовете, нали така? Оценки ще пишем на след като прегледаме тестовете и сумираме всички точки. Оценките, които пишем, ще са по скалата от годината, в която съответният студент е бил записан на курса. Искаме да напомним, че точките събрани през семестъра от домашни и участие все още важат и ще се използват при крайното сумиране.
Ще използвам тази новина за да напомня правилата ни за завършване на курса. Необходими условия са одобрен (и проверен) проект, както и направени двата теста. Необходимо и достатъчно условие е да са направени тези неща и общият сбор от точки на студент да над минимума за 3 за съответната година.
За всички, които нямат одобрен проект: пишете ни с fmi@golang.bg с идеите си, за да можем да одобрим проектите ви. Може да използвате форумите за информация каква сложност на проектите приемаме. Или за вдъхновение каква тема да изберете. Тук може да прочетете какво очакваме от вашите проекти.
Поздрави от екипът на "Програмиране с Go" и ще се радваме да ви видим след месец!
Датите които обсъждахме по време на сесията вече са потвърдени:
16 февруари събота, 10:00ч. в зала 200.
17 февруари неделя, 14:00ч. в зала 325.
На 16ти ще защитавате проектите си. Ще седнем с всеки един от вас и ще му дадем възможност да покаже своя. На 17ти ще направим втория тест. Ако някой не е правил първия тест или желае да замени точките си, то ще има тази възможност на 17ти. Ще прегледаме тестовете на място и ще напишем оценките ви.
На 16.01 (сряда) вместо лекция ще проведем "първа защита" на вашите проекти.
Ето какво очакваме от вас да сте направили до тогава, за да можете да се явите на защита:
Създали сте публично хранилище в GitHub, GitLab, Google Code, BitBucket, Gitorious или друг за проекта, който сте заявили. Не очакваме името да е същото като заглавието на темата. Ако ви хрумне нещо оригинално, използвайте го. Все пак проектът си е ваш.
Избрали сте open source лиценз и да сте създали LICENSE файл в основната директория.
Създали сте README(.md|.rst)? файл в основната директория с подробно описание на библиотеката/програмата, как се инсталира (очакваме да е с едно извикване на go get), примери за това как се използва, лиценз и т.н.
Създали сте example_test.go файл, в който има... example тестове с документация, която трябва да служи като добър пример за това как се ползва библиотеката, ако пишете такава. Напълно в реда на нещата е да използвате тези примери в README файла.
Създали файловете, които ще ви трябват за пълната реализация с повечето публичните функции, типове и методи в тях. Не очакваме имплементацията им, а просто сигнатура с малко документация.
В зависимост от това колко добре сте се справили може да получите до 10 точки на тази защита. Целта ни е да си започнете проекта от рано и да не се окаже, че последни 3 дни от сесията не са достатъчни за него.
Решихме тази година да е по - подредено. По тази причина направих списък с одобрените проекти, който е достъпен на този линк. Имайте предвид, че все още не сме ги разгледали до край. Но се надявам съвсем скоро да го направим.
Резултатите от теста са публикувани. Намерихме два въпроса, които не са били добре зададени. Така че някои от вас ще имат повече точки от колкото тези, които видяха последния час.
От доста време ви говорим, че трябва да си измислите проект. Освен, че трябва да го измислите, то ще трябва да ни кажете какво сте измислили и да го одобрим.
Трябва да създадете тема във форумите с описание на идеята за проект, която сте си избрали, до Бъдни вечер. Subject-а на темата трябва да е от вида "[Проект] XXXXX.", където XXXXX е името на вашия проект (например: "[Проект] hack_nsa").
Предпочитаме general purpose библиотеки, пред нещо голямо, което няма да завършите. Ако видите че няма някоя полезна библиотека, която има в друг език, е много добра идея да направите нещо подобно за Go.
Ок сме с идеята и да хванете вече съществуваща библиотека, която е била зарязана или просто е в твърде начален стадий, да я форкнете и развиете. В този случай ще изискваме списък с нещата, които смятате да подобрите.
В темата не е нужно да се съдържа един тон спецификация. Просто накратко ни кажете какво сте решили да правите. Питайте ако се колебаете много какво да изберете и имате нужда от насока. Важното е да създадете темата с нещото/нещата, които сте избрали.
Отново в темата ние ще ви кажем дали проектът "става" или не. Темата във форума ще е единственото място, в което ще гледаме за одобрени проекти. Устни споменавания от наша страна или email-и не се зачитат.
Ако това не се случи до Бъдни вечер, ще трябва да дойдете с проект през септември.
От проектите ви ще очакваме да са завършени парчета софтуер. Какво и да си изберете, гледайте да можете да го напишете в срока. Много хубави идеи, които не "работят все още, но след съвсееем мъничко ще стане", няма да получат много точки.
Във форума сме публикували подробно изисквания към проектите ви, заедно с информация как ще ги проверяваме.
Резултатите са вече публични. Тестовете, с които проверявахме предадените домашни, можете да видите в хранилището на домашните. Благодаря на всички, които добавяха методи към geom пакета или предлагаха тестове. Всъщност основната цел на задачата беше да ви научи да работите с пакети и се въртеше около github.com/fmi/go-homework/geom.
А след като свърши крайния срок получихте и коледен бонус. Първоначалната версия на тестовете беше с таблични тестове и за всяка фигура се получаваше по 3.3 точки само ако премине всичките си тестове. След като проверих решенията ви, то се оказа че изключително много хора са с нула точки, останалите са с по 4 точки и имаше съвсем малко хора с 6, или 10 точки. Можете да видите тези тестове тук. За да не остане така ситуацията промених начина на тестване за да получавате точки за фигура дори ако не е напълно вярна. Резултата бяха тези тестове. Може да си пуснете оригиналните за да видите колко точки бихте имали ако не бях решил да променя оценяването.
Друг проблем, за който подсказвах в коментари към решенията на някои хора беше за това, че ръбовете на фигурите са част от фигурите. Макар да го има в условието, често не беше направено. За това се отказах и също го махнах от тестовете.
Искам да дам и малко пояснение за махнатите или добавени точки към решенията. На някои от вас махнах по една точка тъй като имаха успешни 19/20 и въпреки всичко автоматичната ни система ги беше закръглило на пълен брой (10) точки. Почувствах, че няма да е честно спрямо хората които са си решили задачата напълно коректно. По допълнителна точка дадох на хората, които бяха документирали добре решенията си. Оценявам го, помогна ми докато ги четях.
Публикувана е третата задача за домашно. Ще ви е много полезно предварително да прочетете този гайд. Условието, както и малък тест, могат да бъдат намерени и в github хранилището ни. За дискусия по задачата може да използвате тази тема във форума.