Изпращане на задачи
Как става?
Доста е простичко. На страницата на всяка задача ще намерите връзка към формуляр, с която да изпратите вашето решение. Правите го като copy/paste-нете вашия код в съответното поле. Може да подмените кода във всеки един момент, преди да е изтекъл крайният срок.
Преди да изпратите решение или дори да започнете да го пишете, прочетете си добре условието.
Проверяване на задачи
Написали сме Ruby код, който да го прави. Той тества вашето решение по различни критерии и го оценява според това колко добре покривате функционалността. По тази причина вашия код трябва да използва точно тези имена на методи и класове, които сме дали в условието. Ако това не е така, нашата системка просто ще сметне задачата ви за грешна. Така че четете добре какво сме казали.
За да намалим грешките от този род, към всяка задача публикуваме примерен unit test
(ако не знаете какво е това, по-добре
прочетете - рано или късно ще
ви потрябва за курса). За да го изпълните, поставете го в една директория с вашето
решение (файл на име solution.rb
) и просто го изпълнете като Ruby програма.
Обърнете внимание, че примерния тест не проверява цялата функционалност. Той ви гарантира единствено, че нашата система ще разбере кода ви. Дали покривате функционалността е друг въпрос.
Въпреки, че проверяваме задачите автоматично, това не ни пречи да разглеждаме кода. Лошия стил е нещо, което не обичаме. Ако програмата ви е лошо написана, най-вероятно ще ви обясним защо е така и после ще ви вземем точки.
Моля ви, не пишете имена на на шльокавица.
Знаете английски. Вместо chislo
и uchenik
пишете
number
и student
. Обратното е лош стил.
Елеганти решения
Ако пък смятате, че сте написали много готин код, може да ни кажете. Ако и ние смятаме така, ще получите бонус точки. Това включва добър стил, хитри хрумвания и компактен код.
Моля, не бъдете нахални с тази опция. Ако не сте написали хубаво решение, не я използвайте. Ако вашето решение е крайно неелегантно, много вероятно е да ви вземем точки ако сте заявили иначе.
Споделяне на код и преписване
В случай, че не е очевидно, задачите са индивидуални. Решавайте ги сами. Може да си помагате един на друг с въпроси от рода на В Ruby има ли метод, който прави това? или Можеш ли да ми обясниш как работи тази семантика?. Всякакво споделяне на код е абсолютно забранено. Ще имате възможност да видите чуждите решения след като крайния срок е минал. Ще може да чуете коментари и за вашите. Но преди това, не показвайте кода си на никого.
Естествено, преписването е напълно забранено. Вероятно знаете какво се поцедира във факултета при такива случаи. Имаме богат набор от средства да хващаме преписване и обикновено успяваме. Ако това ви звучи като празни приказки, по-добре разпитайте колегите си. Също така, смятаме споделянето на код за преписване. Не ни интересува дали сте семейство, съквартиранти или двойка - не си показвайте кода един на друг за да не изпадаме и ние и вие в неудобни положения. Имате много по-голям шанс да вземете успешно курса ако пропуснете няколко задачи, отколкото ако опитате да препишете.
Други въпроси
Ако нещо друго не ви е ясно, моля пишете на форумите. Ще се радваме да ви отговорим.