| — Chyby neslučitelné se získáním zápočtu — | 
				
					| P001 | Nezpochybnitelně prokázané cizí autorství | Student beze vší pochybnosti odevzdal program,
					který vznikl buď (i) funkčně nepodstatnou úpravou programu
					jiného studenta nebo (ii) funkčně nepodstatnou úpravou kódu
					veřejně dostupného na Internetu nebo (iii) vygenerování některým
					z generativních velkých jazykových modelů (jednodušše řečeno: umělou
					inteligencí). Cizí autorství bylo prokázáno automatickým kontrolním
					systémem, vizuální kontrolou vyučujícím	nebo cílenými dotazy ke
					struktuře zdrojového kódu. | -70 | 
				
					| P002 | Rušení činnosti automatického odevzdávacího a kontrolního systému | Program svojí činností záměrně narušuje správnou
					funkci automatického odevzdávacího a kontrolního
					systému na serveru amos.fav.zcu.cz, případně úmyslně
					poškozuje práce ostatních studentů (také tím, že
					server úmyslně přetěžuje). | -70 | 
				
					| P003 | Program pouze předstírá požadovanou činnost | Program neobsahuje algoritmy řešící zadaný problém, pouze předstírá
					požadovanou činnost, např. výpisem řešení pro jeden konkrétní příklad
					vstupu. | -70 | 
				
					| P004* | Program nevykonává zadanou činnost | Program žádným způsobem neřeší zadaný problém.
					Zajištění jeho správné činnosti by vyžadovalo zásadní
					a rozsáhlé úpravy zdrojového kódu, které však nebyly
					autorem provedeny. | -70 | 
				
				
					| — Velmi závažné chyby — | 
				
					| P101 | Podezření z plagiátorství | Program se nápadně podobá dílu jiného studenta nebo programu,
					který je k dispozici na Internetu. Autor se dostaví osobně k pohovoru. | (osobně) | 
				
					| P102* | Systematické neuvolňování paměti | Nikde v programu se neuvolňuje alokovaná paměť. Autor nezná
					základní vlastnosti jazyka C a mylně předpokládá přítomnost
					Garbage Collectoru. | -20 | 
				
				
				
					| — Závažné chyby — | 
				
					| P201 | Chybí dokumentační komentáře | V hlavičkových souborech nejsou u prototypů funkcí a definic
					datových typů zapsány dokumentační komentáře (pro nástroj Doxygen
					nebo podobný). Chybou je také umístit tyto komentáře jen do
					.c souborů (protože ty mohou být při
					případné distribuci knihovny přeložené do binární podoby). | -10 | 
				
					| P202 | Neadekvátně dlouhý běh programu | Program pracuje sice správně, ale tak dlouho, že je zřejmé,
					že byl zvolen naprosto nevhodný algoritmus řešení problému. | -10 | 
				
					| P203 | Nevhodná nebo nedostatečná dekompozice programu | Program není vhodně rozdělen do funkcí a samostatných
					překladových modulů. Program je příliš monolitický. Není dodržena koncepce
					"Single Responsibility Principle", tzn. že každý překladový modul (resp. i funkce)
					se stará pouze o jednu dedikovanou konkrétní část funkcionality programu –
					jednoduše řečeno modul či funkce se nemá starat o několik věcí najednou. | -10 | 
				
					| P204 | Nesprávné použití pointerů | V programu se vyskytují konstrukce, kde je nesprávně
					použitý pointer, tj. pokusy o alokaci/uvolnění statických
					oblastí paměti, zbytečné sekvence získávání adresy a
					dereference, ztráta reference dynamické proměnné, apod. | -8 | 
				
					| P205 | Nevhodný algoritmus | V programu se objevuje nevhodný (většinou příliš složitý)
					postup řešení nějakého dílčího problému. Při řádném provedení
					analýzy problému by autor takový přístup jistě nepoužil. | -8 | 
				
					| P206 | Nestandardní či potenciálně nebezpečné konstrukce | V programu se objevují konstrukce, které sice nejsou
					vyloženě syntakticky chybné, ale program komplikují,
					znepřehledňují, případně činí ještě méně bezpečným,
					než už beztak program v jazyce C je. Jedná se například
					o bezdůvodné či příliš složité přetypovávání (např. konverze
					ne/znaménkových celočíselných typů, která může vést
					k přetečení, typicky size_t a int),
					bezdůvodné narušování typové kontroly, úmyslné využívání
					chyb a nedostatků překladače, apod. | -8 | 
				
					| P207 | Výkonný kód v headeru | V headeru (souboru .h) se
					vyskytuje výkonný kód programu, tj. těla funkcí či deklarační
					příkazy, nikoliv pouze definice a prototypy. | -10 | 
				
					| P208 | Vkládání výkonného kódu namísto headeru | Pomocí makra preprocesoru #include
					je vložen zdrojový text s výkonným kódem, tj. soubor
					.c. | -10 | 
				
					| P209* | Syntaktická chyba | Ve zdrojovém kódu programu se vyskytuje syntaktická chyba,
					která znemožňuje překlad. Autor programu, odevzdaného v tomto
					stavu, ignoruje nejen varování, ale i chybová hlášení překladače
					– taková praxe je zcela nepřijatelná. | -10 | 
				
					| P210 | Významová chyba | Ve zdrojovém kódu programu se vyskytuje konstrukce, která
					je sice syntakticky správně, a proto jí překladač neindikuje
					jako chybu, ale která má jiný význam, než autor programu
					zamýšlel. | -8 | 
				
					| P211 | Neošetřené argumenty programu | Program nijak neověřuje počet a/nebo správnost zadaných
					argumentů na příkazové řádce. Pokud jsou to např. soubory,
					pokouší se je otevírat, aniž by se přesvědčil, zda existují,
					apod. | -8 | 
				
					| P212 | Neošetřené argumenty funkce | Po vstupu do podprogramu se nijak neověřuje, zda hodnoty
					předaných argumentů jsou smysluplné a lze s nimi provádět následné
					operace uvnitř podprogramu. | -8 | 
				
					| P213 | Úmyslné využívání vedlejších efektů funkcí | Funkce programu modifikuje globální proměnné, které jí nebyly
					předány jako parametry odkazem (prostřednictvím ukazatele), tedy vytváří tzv.
					vedlejší efekt (side effect). | -8 | 
				
				
					| — Méně závažné chyby — | 
				
					| P301 | Magická čísla | V programu se vyskytují přímo zapsané číselné konstanty nejasného
					původu a účelu. Často slouží jako "opravné koeficienty" nesprávného
					výpočtu. Nejsou definovány na jediném místě ve zdrojovém kódu (např.
					pomocí příkazu preprocesoru #define nebo
					deklaračního modifikátoru const). | -5 | 
				
					| P302 | Zcela chybějící* nebo nesprávně napsaný Makefile | Makefile chybí úplně nebo není funkční,
					případně je závislý na použitém vývojovém či operačním prostředí. Pravidla
					jsou zapsaná tak, že při změně jediného zdrojového souboru je nutné překládat
					celý zdrojový kód projektu (tj. např. jediné dlouhé pravidlo pro výsledný
					spustitelný soubor, které má v závislostech všechny zdrojové soubory). | -5 | 
				
					| P303 | Nesystematický zápis jazyka | Stejné konstrukce jsou zapsány pokaždé trochu jinak (např.
					if(i > 10) ... oproti
					if␣(i > 10) ...),
					program není zapsán jednotným programátorským stylem. Např. také
					když jsou víceslovné identifikátory někde psány stylem camelCase
					a někde s podtržítky (mojeFunkce vs
					moje_funkce). | -4 | 
				
					| P304 | Používání nesrozumitelných zkratkovitých konstrukcí | V programu se objevují např. operátory in-/dekrementace
					v přiřazovacích příkazech, operátor postupného vyhodnocení
					(čárka), vícenásobně zanořený ternární rozhodovací operátor, apod. | -5 | 
				
					| P305 | Obtížně čitelný zdrojový kód | Program je zapsán tak, že je jeho čtení velmi obtížné.
					Zdrojový kód je nepřehledný a neuspořádaný. | -5 | 
				
					| P306 | Málo komentářů | V programu se vyskytují komenáře jen velmi zřídka –
					složité a nejasné konstrukce nejsou komentovány nebo jsou komentovány
					nedostatčně nebo jen někdy. | -5 | 
				
					| P307 | Nevhodné pojmenování identifikátorů | Identifikátory v programu jsou nesrozumitelné – není z nich
					jasné, co daná proměnná nebo struktura znamená – nebo zavádějící
					(jejich význam je jiný, než naznačuje název), případně jsou to přímo
					nesmysly. | -5 | 
				
					| P308 | Málo obecný algoritmus | Použitý algoritmus sice nějak problém řeší, ale není dostatečně
					obecný. V případě např. většího množství dat by selhal (typicky je
					tato chyba indikována v případě, že se pracuje s daty, u nichž
					nelze predikovat velikost, a přitom je použit statický přístup). | -5 | 
				
					| P309 | Program není multiplatformní | Zatímco v některém z operačních prostředí, použitých k testování,
					funguje program bez závad, v ostatních tomu tak není. | -5 | 
				
					| P310 | Nadužívání globálních proměnných | V programu jsou zbytečně deklarovány málo bezpečné globální proměnné, ačkoliv
					by v dané situaci k zamýšlené činnosti bylo možné využít předávání lokálních proměnných
					mezi volanými funkcemi jako jejich argumentů. | -5 | 
				
				
					| — Drobné chyby — | 
				
					| P401 | Příliš "hustý" zápis zdrojového kódu | Program je zapsán s nedostatečným množstvím mezer,
					tabulátorů a odsazení. | -2 | 
				
					| P402 | Bezdůvodné použití extern | Modifikátor extern je použit v
					situaci, kdy symbol není skutečně externí, tj. není připojen
					linkerem z jiného přeloženého modulu (knihovny). | -2 | 
				
					| P403 | Nekvalitní výstup | Výstup práce je sice formálně správný, ale není
					dostatečně kvalitní (např. není správně formátovaný, v hlášeních programu
					jsou gramatické chyby, překlepy, apod., výsledné obrázky/grafy mají nízké
					rozlišení,	atp.). | -2 | 
				
					| P404 | Nesrozumitelné komentáře | Komentáře, které se v program vyskytují, jeho pochopení neusnadňují,
					ale naopak komplikují. | -2 |