[OSy] Deadline a odevzdavani rozsireneho zadani

Martin Decky decky at d3s.mff.cuni.cz
Mon Feb 20 17:57:01 CET 2012


Vazeni kolegove,

pro lepsi prehlednost jsem pro jednotlive tymy vypocital presny deadline 
pro odevzdavani rozsireneho zadani. Vychazel jsem z casovych bonusu 
pridelenych panem Martincem za ucast ve studii, predchozich penalizaci a 
dalsich ulev.

V praxi to znamena, za budeme hodnotit stav Vaseho Subversion repository 
ve stavu k casu N+1 00:00 CET (kde N je den uvedeny nize v tabulce).

DaMa:   4. 4.
DrHaUr: 18. 3.
HlLiVa: 26. 2.
MaSkZa: 4. 3.

Po uplynuti deadline jednotlive oslovim kazdou skupinu a domluvim se s 
ni na terminu osobniho odevzdani semestralky, kdy spolu Vase reseni 
kratce interaktivne projdeme a dozvite se hruby odhad bodoveho 
hodnoceni. Finalni bodove ohodnoceni obdrzite v nasledujicich tydnech po 
odevzdani pote, co Vasi praci dukladne prostudujeme.


Zaverem strucne nekolik rad k zaverecnemu odevzdani:

1) Soucasti repository musi byt k casu odevzdani vse, co si prejete 
zahrnout do Vaseho finalniho reseni. Na cokoliv, co nam napriklad 
poslete emailem nebo commitnete do repository po deadline, nebudeme brat 
zretel (az na mimoradne a explicitne povolene vyjimky).

2) Jako obvykle pri odevzdavani dila tohoto rozsahu je vhodne vyvarovat 
se zasadnich zmen a prepisovani tesne pred odevzdanim. I v pripade, ze 
Vam neco trochu nefunguje, radeji se to nepokousejte zurive na posledni 
chvili opravit, protoze muzete nechte rozbit neco jineho. Hodnoceni 
finalniho reseni nebude rozhodne binarni, takze se v nem mohou pozitivne 
odrazit dobre minene zamery, ale bohuzel negativne i nesmysly, ktere jen 
shodou okolnosti nahodou funguji.

Nekolik poslednich zbyvajicich dnu pred deadline je vhodne venovat 
uprave a unifikaci zdrojovych kodu (aby cela semestralka mela jednotny 
coding style), dopisovani dokumentace atd.

3) Pokud pouzivate nejaky nastroj pro referencni dokumentaci (napr. 
Doxygen), prosim necommitujte do repository vystup tohoto nastroje. 
Typicky se totiz jedna o stovky malinkych HTML a PNG souboru, ktere 
jednak nema valny smysl samostatne verzovat a jednak to zdrzuje pri 
checkoutu repository. Bohate postaci, kdyz bude mozne referencni 
dokumentaci snadno ze zdrojoveho stromu vygenerovat.

Naopak, pokud budete mit nejakou rucne psanou dokumentaci vytvorenou 
nejakym nezavislym prostredkem (napr. v beznem word processoru), potom 
je samozrejme na miste, abyste do repository commitnuli treba export ve 
formatu PDF pro pohodlne cteni.

Pripominam, ze mnohdy je velmi uzitecne, aby rucne psana a generovana 
dokumentace spolu byly vhodne hypertextove provazany (aby ctenar mohl 
snadno prechazet od "high-level" popisu k "low-level" dokumentaci a 
pripadne i zpet). Proto byva velmi caste, ze i rucne psana cast 
dokumentace je soucasti vstupu pro generovani referencni dokumentace a 
tvori s ni jeden celek.

Dokumenaci samozrejme neni potreba tisknout, chranme nase stromy :)

4) Doporucuji projit si znovu slajdy z uvodniho cviceni, abyste si 
pripomneli, podle jakych kriterii budeme Vase semestralky hodnotit. 
Verim, ze nektere veci z tech slajdu Vam teprve ted budou davat smysl.

http://d3s.mff.cuni.cz/~ceres/sch/osy/download/20111004-NSWI004-Agenda.pdf

Velmi strucne shrnuji:

* Pruchod testy jiz neni nutna podminka, ale pouze jedno z kriterii pro
   hodnoceni rozsireneho zadani (zapocitava se do kvality implementace).
   Presto je vhodne, aby Vase finalni reseni proslo idealne vsemi testy
   vsech zakladnich zadani a pripadne i testy rozsireneho zadani,
   jsou-li k dispozici.

* Kvalita zdrojovych kodu ma stejnou vahu jako funkcnost a kvalita
   dokumentace. Snazte se tedy o to, aby odevzdavane zdrojaky byly
   prehledne, upravene, vhodne komentovane, konzistentni, bez
   zakomentovanych "marnych pokusu", pomocnych ladicich funkci atd.

* Snazte se take dodrzet pozadavky na pouziti vhodnych programatorskych
   prostredu, tedy vhodnou volbu algoritmu a datovych struktur
   (predevsim z hlediska efektivity pro nejtypictejsi pripad pouziti v
   danem kontextu), vhodne oddeleni ruznych urovni abstrakce v kodu atd.

* Rucne psana dokumentace je v zasade nezbytna. Mela by popisovat
   obecne vlastnosti Vaseho reseni, celkovou architekturu, pouzite
   algoritmy z "high-level" pohledu, mela by informovat ctenare o tom,
   kde ve zdrojovych souborech nalezne jejich konkretni implementace
   atd. Soucasti hodnoceni dokumentace je samozrejme i Vase drivejsi
   ustni prezentace na cviceni.

   Doplnujici je referencni dokumentace. Aby byla referencni
   dokumentace vubec k necemu uzitecna, musi byt v kodu dusledne
   pouzivany dokumentacni komentare a to u vsech dulezitych entit
   (souboru, datovych typu, globalnich promennych, funkci, maker atd.).
   Neni mnoho horsich veci nez "derava" referencni dokumentace, ktera
   obsahuje popis jen poloviny veci ze zdrojaku.

* Pokud je soucasti Vaseho rozsireneho zadani take povinnost vypracovat
   nejake porovnani, je potreba vysledky (tabulky, grafy) uvest v
   dokumentaci a je potreba pripojit Vas slovni komentar nebo
   vyhodnoceni (tedy nestaci jen surova data bez dalsiho zpracovani).

5) Pokud jste v ramci Vaseho reseni implementovali neco nad ramec zadani 
nebo pouzili nejaky mimoradne zajimavy postup, urcite je vhodne uvezt to 
v dokumentaci -- i pri podrobnem prochazeni zdrojaku muze totiz hezka 
myslenka snadno zapadnout.

Plati to ovsem i obracene: Pokud vite, ze jste neco ze zadani nestihli 
nebo neco nechodi tak, jak by melo, uvedte to v dokumentaci. Pomuze nam 
to lepe ohodnotit rozsah takoveho "problemu" a lepe poznat, zda to, co 
vidime ve zdrojaku, je jen nedokonceny pokus o implementaci a ne neco, o 
cem si chybne myslite, ze by vlastne melo fungovat.


V pripade libovolnych nejasnosti, dotazu nebo pripominek prosim 
nevahejte vyuzit tuto konferenci. Preji vsem hodne zdaru pri odevzdavani!


M.D.




More information about the NSWI004 mailing list