[OSy] Odevzdani 3. zakladniho a rozsireneho zadani
Martin Decky
decky at d3s.mff.cuni.cz
Mon Jan 12 19:56:22 CET 2015
Vazeni kolegove,
blizi se datum 18. 1., tedy standardni termin pro odevzdani 3.
zakladniho zadani semestralek z OSu. Po tomto terminu bude nasledovat
standardne 5 tydnu pro dokonceni rozsireneho zadani a odevzdani cele
semestralky.
Vetsina skupin ma vsak harmonogram odevzdavani nejak individualne
posunuty. Proto posilam informace uz nyni s predstihem a prosim
necekejte, az Vam terminy vyprsi a nekdo Vas kontaktuje, ale v okamziku,
kdy Vase semestralka jiz bude pripravena na odevzdani 3. zakladniho nebo
rozsireneho zadani, tak naopak kontaktujte me a dohodneme se na
konkretnim datu odevzdani.
Odevzdani 3. zakladniho zadani bude probihat stejnym zpusobem jako v
pripade predchozich zakladnich zadani. Verim tedy, ze nemusim podrobne
instrukce jiz opakovat.
Odevzdani rozsireneho zadani bude probihat osobne (tj. za pritomnosti
alespon jednoho clena resitelskeho tymu). Behem osobniho odevzdani
projdeme spolecne stav Vaseho repository (k dohodnutemu terminu
dokonceni) a dozvite se hruby odhad bodoveho hodnoceni. Finalni podrobne
hodnoceni obdrzite pote behem nekolika tydnu, jakmile Vasi praci
dukladne prostudujeme a take kvalitativne porovname s vysledky ostatnich
skupin.
Strucne nekolik rad k zaverecnemu odevzdavani:
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 schvalene vyjimky).
2) Jako obvykle pri odevzdavani dila tohoto rozsahu je dobre 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 rozhodne nebude binarni, ale budeme
prihlizet k ruznym aspektum.
3) Nekolik poslednich dnu pred deadline je vhodne venovat uprave a
unifikaci zdrojovych kodu (aby cela semestralka mela jednotny coding
style, strukturu atd.), dopisovani dokumentace atd.
4) Pokud pouzivate nejaky nastroj na 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 verzovat a jednak to repository zbytecne
zvetsuje. Bohate postaci, kdyz bude mozne referencni dokumentaci
snadno ze zdrojoveho stromu vygenerovat.
5) Pokud naopak budete mit nejakou rucne psanou dokumentaci vytvorenou
nejakym nezavislym prostredkem (napr. v beznem textovem editoru),
potom je samozrejme na miste, abyste do repository commitnuli treba
export ve formatu PDF pro pohodlne cteni.
6) Pripominam, ze 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.
7) Dokumenaci samozrejme neni v zadnem pripade potreba tisknout.
Setreme nase lesy :)
8) Doporucuji, abyste si dukladne znovu prosli slajdy z uvodniho
cviceni a pripomneli si, podle jakych kriterii budeme Vase
semestralky hodnotit. Troufam si tvrdit, ze teprve nyni docenite
smysl a vyznam nekterych poznamek ze slajdu:
http://d3s.mff.cuni.cz/teaching/operating_systems/download/20141006-nswi004-agenda.pdf
Velmi strucne shrnuji zakladni kriteria:
* Pruchod testy neni pro rozsirene zadani nutna podminka hodnoceni,
ale stale jde o jedno z kriterii pro hodnoceni Vasi semestralky
(zapocitava se do kategorie kvalita implementace). Proto 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 a
dalsich "estetickych" nedokonalosti.
* Snazte se take dodrzet pozadavky na pouziti vhodnych
programatorskych prostredku, 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.
* Kvalitni 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 konkretni
implementace atd. Snazte se vyuzit pravidla, ze jeden obrazek
muze nahradit 1000 slov. Soucasti hodnoceni dokumentace je
samozrejme i Vase drivejsi ustni prezentace na cviceni.
* Referencni dokumentace ma doplnujici roli. Aby vsak byla referencni
dokumentace vubec k necemu uzitecna, musi byt v kodu dusledne
a vsude pouzivany dokumentacni komentare a to u vsech dulezitych
entit (souboru, datovych typu, globalnich promennych, funkci,
maker atd.). Neni mnoho zbytecnejsich veci nez "derava" referencni
dokumentace, ktera obsahuje popis jen casti veci ze zdrojaku.
* Pokud je soucasti Vaseho rozsireneho zadani take povinnost
vypracovat nejake mereni/porovnani, je potreba vysledky (tabulky,
grafy) zahrnout do dokumentace a je take potreba pripojit Vas
slovni komentar nebo vyhodnoceni (tedy nestaci jen surova data bez
dalsiho zpracovani a interpretace).
9) Pokud jste v ramci Vaseho reseni implementovali neco nad ramec
zadani nebo pouzili nejaky zajimavy postup, urcite se nebojte
pochlubit se v dokumentaci -- i pri podrobnem prochazeni zdrojaku
muze totiz hezka myslenka zapadnout, coz by byla jiste skoda.
10) Plati to i obracene: Pokud vite, ze jste neco ze zadani nestihli,
neco jste trochu "osidili" nebo neco nechodi tak, jak by melo,
uvedte to prosim v dokumentaci. Pomuze nam to lepe zhodnotit rozsah
takoveho "problemu" a lepe poznat, zda to, co vidime ve zdrojaku,
je vedomne nedokoncena implementace a ne neco, o cem si chybne
myslite, ze by vlastne melo fungovat.
V pripade libovolnych nejasnosti, dotazu nebo pripominek prosim
nevahejte napsat do teto konference. Preji vsem hodne zdaru pri odevzdavani!
M.D.
More information about the NSWI004
mailing list