Sazebník "odměn a pokut"

(verze platná od podzimního semestru 2009)

Červeně budou vyznačena místa případně změněná proti původní verzi zveřejněné na počátku semestru.

Podle kvality odevzdaného programu do cvičení získáváte kladné a záporné body. Platí zásada, že za včasné odevzdání dobře naprogramovaného příkladu v souladu se zadáním nezískává student žádné body (takové zpracování by mělo být pravidlem).

Za něco navíc lze získat kladné body, za nedostatky body záporné:

Je-li příklad zadaný v určitém týdnu odevzdán nejpozději v neděli téhož týdne (tj. do půlnoci z neděle na pondělí) (Pozn. 1) +2 body
Za vzorné, mimořádně vhodné nebo nápadité řešení  (u některých příkladů je v zadání přímo stanoveno, za co lze získat body navíc) +1 až +3 body
Za upozornění na nedostatek v přednášce, ve vzorovém řešení nebo na chybu (nekonzistentnost) v zadání získá ten, kdo na ně upozornil jako první +1 až +3 body
Za nevhodné naprogramování, které není ve výslovném rozporu se zadáním  (Pozn. 2) -1 bod (v závažných případech -2)
Za nedodržení méně důležitých Konvencí pro programování v jazyku C/C++ (Pozn. 3) -1 bod
Za odevzdání programu, který při překladu s -Wall hlásí varování kromě WARNING 84 nebo WARNING 127 (Pozn. 8) -1 až -5 bodů
Za nedodržení ostatních Konvencí -3 body
Za uložení programu pod jiným názvem, s jinou příponou, do nesprávného adresáře, nebo s nesprávnými přístupovými právy -3 body
Pokud program sice funguje podle zadání, ale je naprogramován jiným způsobem, než je výslovně požadováno v bodě Zadání nebo Požadavky (Pozn. 4) -3 body
Za nedodržení Zadání či Požadavků v ostatních případech (včetně případu, kdy program vyžaduje další vstupní data nebo parametry z příkazového řádku, než je uvedeno v zadání, případně nefunguje bez provedení akce nepožadované v zadání) (Pozn. 4) -5 bodů
Za program, který při překladu na požadovaném počítači požadovaným překladačem hlásí chyby včetně varování (kromě chyb, které jsou podle Pravidel pro cvičení tolerovány) -5 bodů
Za program, který nedělá to, co je požadováno v zadání (případně to dělá jen pro některá data) -5 bodů
Za 4. a další neúčast na cvičení bez včas odevzdané omluvenky na děkanátě (Pozn. 5) -5 bodů
Za odevzdání příkladu později než 2 týdny po zadávacím cvičení (Pozn. 1, 6) -1 bod za každý započatý den zpoždění
Za opsání příkladu od jiného studenta nebo umožnění jinému studentovi program opsat (Pozn. 7) -10 bodů pro opisovače; obvykle i pro pravého autora

 Poznámky:

  1. Za den zadání se považuje den, kdy máte zadávací cvičení, nikoli den zveřejnění na webu. Připadne-li cvičení na státem uznaný svátek nebo jiný volný den, zadávací cvičení se nenahrazuje a student příklad zpracuje podle zadání na webu, jako kdyby cvičení proběhlo. Body za urychlené odevzdání přísluší pouze, pokud je program hned na první pokus v pořádku.
  2. Např. paměťově či časově zbytečně náročný algoritmus, velmi nepřehledný nebo nekomentovaný program, chybějící odsazování vnořených konstrukcí, dlouhá řada if místo vhodnějšího přepínače, zbytečná dynamická alokace paměti tam, kde by stačila statická apod.
  3. Např. main() nevrací při správném provedení nulu, při chybě nenulu, použití prostředků jiné verze jazyka tam, kde je určitá verze výslovně předepsána, zbytečné použití zastaralých prostředků (prostředky jazyka ANSI C, příp. dokonce K-R C tam, kde má ISO C, (resp. C++ pro předmět PB161), prostředky vhodnější, neodřádkování na konci práce programu.
  4. Rozpor s bodem Poznámky není na závadu, ty mají charakter doporučení (viz však pozn. 2 k hodnocení -1 bodem).
  5. Absence se počítají od 1. cvičení, a to i v případě, kdy si student zapsal předmět až po začátku semestru. První 3 absence se však tolerují bez postihu.
  6. Odevzdáním nejpozději v určitý den se rozumí odevzdání do půlnoci na den následující.
    Připadne-li den, kdy má být příklad nejpozději odevzdán, na státem uznaný svátek nebo jiný volný den, je možno odevzdat ještě v průběhu nejblíže následujícího výukového dne. Podobně při protažení termínu odevzdání přes nepracovní dny se volné dny spolu s následujícím dnem pracovním hodnotí jako jediný den (odevzdání v pondělí místo ve čtvrtek znamená -2 body stejně jako odevzdání v sobotu). Pozor na to, že za odevzdání se nepovažuje pouhé zkopírování programu do odevzdávacího adresáře (viz. Pravidla pro cvičení).
  7. Týká se opsání některého příkladu do cvičení. Pokud je zjištěno opsání závěrečného příkladu, je postih přísnější (obvykle disciplinární řízení pro pokus o podvod při zkoušce). Upozorňuji, že máme k dispozici nástroje pro zjištění velmi podobných (tj. s velkou pravděpodobností opsaných) programů. Opisováním se však nerozumí použití stejného algoritmu, avšak naprogramovaného výrazně jinak. (S kolegy tedy můžete konsultovat algoritmus, ne však programový kód.)
  8. Varování, které upozorňuje na nepodstatnou drobnost (např. zdrojový soubor nekončí znakem nového řádku, deklarována proměnná, která není nikde použita) se hodnotí -1 bodem.
    Úsek kódu, na který se nikdy program nemůže dostat, je za -3 body - např. if(true)příkaz; else nedostupný příkaz;
    Pokud však je narušena funkčnost programu - např. if(x=1) místo if(x==1), potom jde o chybu a hodnotí se -5 body.

Jsou-li za program dány trestné body, musí ho student v termínu uvedeném v Pravidlech pro cvičení opravit a odevzdat znovu (pokud cvičící výslovně neuvede, že opravu nepožaduje). To se ovšem netýká případu, kdy jsou trestné body dány výhradně za zpožděné odevzdání.