Semestr: zimní 2020/21
Přednáška:
  Pondělí 17:20 (česky), online (Pavel Ježek)
  Virtualní (anglicky), online (Pavel Ježek)
Cvičení:
  Úterý 17:20 (česky), online (Pavel Ježek)
  Pondělí 14:00 (česky), online (Radek Zikmund)
  Středa 10:40 (česky), online (Filip Kliber)
  Pátek 9:00 (česky), online (Jan Pacovský)
  Středa 10:40 (anglicky), online (Filip Kliber)
Stránka v SIS: NPRG035
Zakončení: Zkouška a zápočet

Covid-19

Organizace letošní distanční výuky cvičení:

Organizace letošní distanční výuky přednášek:

Informace o zápočtu

Bodové úrovně pro získání zápočtu a bonusových bodů ke zkoušce

Celkem lze tedy získat až 2 silné bonusové body a až 1 slabé bonusové body 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, 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í).

Poznámka: Virtuální cvičení je určeno 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.).

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

Pokud jste tento předmět měli zapsaný loňský 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 splněnou docházku, 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, opět po explicitním požádání vám můžu zkoušku uznat já (PJ). Toto je iniciativa vyučujících tohoto předmětu a nelze ji požadovat po studijním oddělení!

Deadlines a limity kódu na zápočtové programy

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

Požadavky na program z NPRG035, NPRG064 (zdrojového kódu v jazyce C# ⇒ nevygenerovaný (ručně psaný) rozumný kód včetně rozumných komentářů):

Požadavky na program z NPRG038, NPRG057 (zdrojového kódu v jazyce C# ⇒ nevygenerovaný (ručně psaný) rozumný kód včetně rozumných komentářů + netriviální a rozumné použití některé z „technologií“ probíraných v NPRG038, resp. NPRG057 [více viz dané předměty]):

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 oba předměty).
Poznámka: rozumný/rozumné = na požádání posoudí cvičící

POZOR! Osobní předvedení je součástí odevzdání. Na předvádění si připravte několik slidů shrnujících: hlavní funkce programu + hlavní řešené problémy + nástin architektury.

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. Po písemné části následuje ústní část, kde zkoušející se studentem prochází jeho písemku, a případně nepřesností/nejasností u některých odpovědí se ptá na doplňující otázky — na základě toho je určeno finální bodové hodnocení každé otázky. Základem hodnocení je ale vždy písemná část, tedy u otázky bez odpovědi nebo se špatnou odpovědí nelze ani po ústní části získat více než 0 bodů.

Níže budou pro ilustraci uvedena zadání vybraných písemek z již proběhlých termínů (AR 2018/2019):

Níže budou pro ilustraci uvedena zadání vybraných písemek z již proběhlých termínů (AR 2017/2018):

Níže jsou pro ilustraci uvedena zadání vybraných písemek z termínů v AR 2016/2017:

Níže jsou pro ilustraci uvedena zadání vybraných písemek z termínů v AR 2015/2016:

Doplňkové informace o zkoušce

Kromě informací uvedených ve slidech z první přednášky navíc pro zkoušky z NPRG035, NPRG038, a NPRG057 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.

Náplň přednášek

## Doporučená literatura - Mark Michaelis with Eric Lippert: **Essential C# 5.0**, Addison-Wesley, 2013 (lze koupit např. na [Amazon UK](http://www.amazon.co.uk/Essential-5-0-Microsoft-Windows-Development/dp/0321877586)) - Jeffrey Richter: **CLR via C# (4th Edition)**, Microsoft Press, December 2012 (lze koupit např. na [Amazon UK](http://www.amazon.co.uk/CLR-Via-Edition-Developer-Reference/dp/0735667454/ref=dp_ob_title_bk)) - Jon Skeet: **C# in Depth (3rd Edition)**, Manning Publications, September 2013 (lze koupit např. na [Amazon UK](http://www.amazon.co.uk/C-Depth-Jon-Skeet/dp/161729134X/ref=dp_ob_title_bk)) - blog Erica Lipperta (bývalý člen C# týmu v Microsoftu): [Fabulous Adventures In Coding](http://blogs.msdn.com/b/ericlippert/) - [C# Language Specification 5.0](http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=7029) Případně - Christian Nagel, Evjen, Jay Glynn, Karli Watson, Morgan Skinner: **Professional C# 4.0 and .NET 4**, Wrox, John Wiley & Sons, March 2010 (lze koupit např. na [Amazon UK](http://www.amazon.co.uk/Professional-4-0-NET-Wrox-Programmer/dp/0470502258/ref=sr_1_7?s=books&ie=UTF8&qid=1291735566&sr=1-7) ## Náplň cvičení - Všechny domácí úkoly postupně najdete v [ReCodExu](https://recodex.mff.cuni.cz) pro NPRG035. Tam je také řešte a odevzdávejte. ~~Vaše řešení se v CodExu překládá s implicitním nastavením Mono C# překladače verze 2.6.1 (= plná optimalizace IL kódu) a spouští na 32-bitové Mono VM s implicitním nastavením (= zapnuté všechny univerzální optimalizace JITu).~~ POZOR: Na úkoly zadané na cvičení je standardní deadline 7 dní (tj. do začátku příštího cvičení)! - **_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í předmět NPRG035 v tomto akademickém roce 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!**