Semestr: zimní 2026/27
Přednáška: Čtvrtek, 17:20, N1 (Pavel Ježek)
Cvičení:
  Pondělí, 15:40, SW2 (Pavel Ježek)
  Úterý, 10:40, SW2 (Filip Kliber)
  Úterý, 10:40, SU2 (Matyáš Brabec)
  Středa, 14:00, SW2 (Filip Kliber)
  Pátek, 10:40, SW2 (Tomáš Petříček)
  Pátek, 12:20, SW2 (Filip Kliber)
Stránka v SIS: NPRG035
Zakončení: Zkouška a zápočet

Table of contents


[in English] This page contains information for Czech students of the Programming in C# Language course. For english version, switch the language in the page header.

Poznámka: Virtuální cvičení jsou určena pro studenty, kteří nechtějí chodit na cvičení (např. protože minulý rok nestihli dodělat pouze zápočtový program, splnit zápočtový test, apod.). Prosím, zapište se v SISu do správného cvičení!

Náplň přednášek

Doporučená literatura

Případně

Náplň cvičení

Informace o zkoušce

Zkouška probíhá primárně písemnou formou, a v každé zkouškové písemce je kolem 6 až 8 otázek (některé obsahují podotázky). U každé otázky, případně podotázky, je dole uvedeno, jaký maximální počet bodů (=N) lze za správně odpovězenou otázku/podotázku získat: N bodů získáte v případě, že je odpověď na otázku správně; 0,5 * N bodu získáte, pokud odpověď není zcela kompletní, ale jinak je správná (tj. nějaká malá část odpovědi chybí nebo je nepřesná); v ostatních případech získáte 0 bodů (tj. pokud v odpovědi chybí větší část, nebo je odpověď na otázku plně nebo i jen z části nesprávná).

Celkem lze z každé písemky získat maximálně 10 bodů. Mapování získaných bodů na výslednou známku je následující:

Body z písemky Výsledná známka
10 – 8,5 1
8 – 6,5 2
6 – 5 3
4.5 – 0 4

Každá zkoušková písemka trvá 150 minut, tj. ideálně 20 minut na každou otázku + 30 minut bezpečnostní rezerva. Písemka bývá většinou opravena ještě ten den. Ve výjimečných případech můžete být pozváni na dodatečnou ústní část (vysvětlit nějakou z odpovědí nebo odpovědět na doplňující otázky). Tato nepovinná ústní část je většinou online formou, přes platformu Zoom. Základem hodnocení je ale vždy písemná část, tedy u otázky bez odpovědi nebo se zcela špatnou odpovědí nelze ani po ústní části získat více než 0 bodů.

Níže jsou pro ilustraci uvedena zadání vybraných písemek z již proběhlých termínů:

Doplňkové informace o zkoušce

Kromě informací uvedených ve slidech z první přednášky navíc platí následující 2 body:

Modelový příklad 1:

Student X získá na 1. termínu známku 2 a odmítne ji. Na 2. termínu získá známku 3 a odmítne ji. Na 3. termínu získá známku 1. Aktuální stav studenta X: 1. termín = propadlý, 2. termín = propadlý, 3. termín = 1, tj. student X zkoušku splnil s hodnocením 1.

Modelový příklad 2:

Student Y získá na 1. termínu známku 3 a odmítne ji. Na 2. termínu získá známku 4. Aktuální stav studenta Y: 1. termín = propadlý, 2. termín = 4, tj. pokud chce zkoušku splnit, musí student Y přijít na 3. termín. Pokud na 3. termínu opět získá známku 4, tak zkoušku nesplnil.

Modelový příklad 3:

Student Z se nedostaví na 1. termín, na 2. termínu získá známku 3 a odmítne ji, na 3. termínu získá známku 4. Aktuální stav studenta Z: 1. termín = propadlý, 2. termín = propadlý, 3. termín = 4, tj. student Z zkoušku nesplnil.

Informace o zápočtu

Pro získání zápočtu je nutné splnit tři podmínky:

1. Domácí úkoly

Na cvičeních se budou postupně zadávat domácí úkoly, za jejichž vyřešení obdržíte body. Povinnost vám bude uznána pokud získáte dostatečné množství bodů. Získání většího množství bodů vám může pomoct získat body i ke zkoušce dle tabulky níže. K uznání této povinnosti je třeba získat alespoň 90b.

Všechny domácí úkoly postupně najdete v ReCodExu pro NPRG035. Tam je také řešte a odevzdávejte. POZOR: Na úkoly zadané na cvičení je standardní deadline 7 dní (tj. do začátku příštího cvičení)! POZOR: ReCodEx hodnotí pouze funkcionální požadavky vyplývající ze zadání. Součástí zadání jsou však i požadavky nad rámec samotné funkčnosti programu (např. návrh, dekompozice, testování, …).

Upozornění: Domácí úkoly jsou samostatnou prací, jejímž cílem je zhodnotit schopnost studenta samostatně vypracovat složitější program v jazyce C#. Pokud bude zjištěno, že některý student odevzdal cizí řešení (např. několik studentů odevzdalo různé instance stejného řešení některého domácího úkolu, apod.), bude to považováno za pokus o podvod. Všichni takoví studenti nesplní v tomto akademickém roce předmět NPRG035 a přicházejí o možnost uznání splněných povinností v roce příštím; případně bude disciplinární komisi UK MFF doporučeno jejich vyloučení ze studia!

Použití externích zdrojů pro řešení domácích úkolů (StackOverflow, ChatGPT, …) je možné pouze způsobem vysvětleným na prvním cvičení a s dodáním odkazu na daný zdroj (StackOverflow odpověď, ChatGPT chat). Neuvedení zdroje, a tedy prezentování cizího kódu za svůj vlastní, se rovněž bere jako pokus o podvod, s výše uvedenými implikacemi.

Za nadstandardní množství bodů z úkolů je možné získat body ke zkoušce, a sice takto:

Celkem lze tedy získat až 2 silné bonusové body a až 1 slabý bonusový bod do zkoušky z NPRG035 (hodnocení zkoušky viz slidy z první přednášky). Pozor — tyto silné bonusové body se budou započítávat pouze při 1. pokusu o složení zkoušky (tj. při svém 2. i 3. pokusu mají všichni 0 silných bonusových bodů). Nerozlišuje se z jakého důvodu student přichází na 2. nebo 3. termín (tj. zda např. odmítl známku na 1. termínu). Slabé bonusové body se budou započítávat při všech pokusech o složení zkoušky v daném roce, ale pozor: slabé bonusové body nedokáží prorazit bariéru mezi známkou 4 a známkou 3 (tj. pokud po přičtení silných bonusových bodů stále vychází známka 4, tak se slabé bonusové body do výsledku zkoušky nezapočítávají). Bonusové body se započítávají pouze v tom roce, ve kterém na ně student získal nárok.

Účast na cvičeních je povinná, resp. že je povinností studujících, aby se dostatečně zajímali o to, co se na cvičeních děje.

2. Zápočtový program

Jedná se o větší (v porovnání s domácími úkoly) kus SW, který samostatně vymyslíte, specifikujete, navrhnete, naprogramujete, otestujete, odladíte, zdokumentujete a předvedete. Začátkem semestru Vám na MFF GitLabu vyrobíme ve skupině pro NPRG035 dedikovaný repositář, do kterého budete směřovat vývoj. Detailnější informace k zápočtovému programu pak naleznete přímo ve Vašem repozitáři.

Termíny NPRG035 (zima) i NPRG038 (léto), NPRG057 (léto), NPRG064 (léto):

Požadavky na program z NPRG035, NPRG064:

Požadavky na program z NPRG038, NPRG057:

Zdrojový kód je kód, který jste (a pouze vy) napsali v jazyce C#. Komentáře a testy jsou do výpočtu zahrnuty, pokud jsou v přiměřeném poměru k celku (pokud definice přiměřenosti není jasná, zeptejte se vyučujícího).

Zápočtový program pro NPRG038, resp. NPRG057 vyžaduje dodatečné (netriviální) využití technologií probíraných na přednáškách a cvičeních NPRG038, resp. NPRG057.

Poznámka: Každý zápočtový program, který splňuje požadavky NPRG038, resp. NPRG057, splňuje i požadavky NPRG035 (tj. lze odevzdat jeden program za vícero předmětů).

POZOR! Schválení specifikace vyžaduje součinnost vyučujícího. Pokud se v repositáři specifikace objeví 10 minut před deadline, pak nelze předpokládat, že se na to vyučující stihne podívat a stihne jí schválit. Tato situace se pak posuzuje, jakoby student specifikaci neodevzdal a zápočtový program v tomto roce nesplní. Stejné platí i pro předvedení programu. Na předvádění si připravte nějakou formu prezentace, kde ukážete hlavní funkce programu + nástin architektury.

3. Zápočtový test

Naprogramovat a odladit jeden jednoduchý příklad v časovém limitu 3 hodiny. Koná se během zkouškového období v počítačové laboratoři na lokálních počítačích. Celkem pět pokusu na splnění testu, maximálně však tři během zimního zkouškového období (další pak případně v letním zkouškovém období).

Pravidla zápočtových testů

TBA

Uznávání povinností z minulých let

Pokud jste tento předmět měli zapsaný v některým z předchozích akademický roků a splnili jste pouze některé z povinností potřebných pro udělení zápočtu, může vám je po explicitním požádání (např. při předvádění zápočtového programu) uznat váš letošní cvičící (lze uznat domácí úkoly, zápočtový test, odevzdaný a schválený zápočtový program). Téma zápočtového programu (pokud ho ještě nemáte dokončený) nemusí být novým cvičícím uznáno. Pokud jste v loňském roce úspěšně složili zkoušku, ale nepodařilo se vám získat zápočet, lze opět po explicitním požádání požádat o uznání zkoušky. Toto je iniciativa vyučujících tohoto předmětu a nelze ji požadovat po studijním oddělení!