Semestr: zimní 2023/24
Stránka v SIS: NPRG035
Zakončení: Zkouška a zápočet

Náplň cvičení

Je uvedena na společných stránkách cvičtní viz: link

Různé odkazy

Odkaz na rozcestník design guidelines s návodem, jak psát kód hezky.

Odkaz na MicroBenchmark

Postup na zprovoznění MSTestu

  1. Do resources v projektu testů přidat původní projekt
  2. Do zdrojového kódu přidat řádek [assembly: System.Runtime.CompilerServices.InternalsVisibleTo()], doplnit assably name pro projekt testů
  3. V testech lze používat using s původním namespacem
  4. V testech používat Assert ( Microsoft.VisualStudio.TestTools.UnitTesting.Assert )

Materiály k unit testům:

Z MS stránek. 0 1 2 3 4 Vzorové solution od Pavla Ježka Včetně unit testů

Nevěřte slepě návodům na internetu.

Viz stále první odpověd na Stack overflow

Užitečné odkazy k Visual Studiu

Visual Studio download

Visual Studio get the key shortcut

Visual Studio get key detour

Požadavky na zápočet

Pro získání zápočtu je třeba splnit tři povinnosti:

1. 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. 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 termínu).

2. Zápočtový program

Termíny:

Na předvedení si připravte pár slidů shrnujících hlavní funkce programu + hlavní řešené problémy + nástin architektury.

Jeden zápočtový program je možné použít pro splnění povinnosti z více předmětů o C# a .NET, pokud bude zápočtový program dostatečně rozsáhlý a sice takto:

Zdrojový kód se počítá jen ten, který jste napsali vy sami a v jazyce C#. Kód musí být rozumný, včetně rozumných komentářů.

Zápočtový program pro návazné předměty (NPRG038, Advanced .NET Programming II) vyžadují navíc netriviální použití technologií probíraných na těchto předmětech. Pokud má navíc program netriviální grafické rozhraní, lze jej uznat i pro předmět Programming User Interfaces in .NET.

3. 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ů, podle toho, jestli se cvičení účastníte. K uznání povinnosti je třeba získat alespoň 80b.

Získání většího množství bodů vám může pomoct získat body i ke zkoušce z NPRG035 (vizte bližší informace na webu přednášky).

» dosažená úroveň « » body z úkolů « » extra body při zkoušce «
min potřebných silné slabé
“Passing” 80 0 0
“Tricky” 100 1.25 0
“Hardcore” 120 2 0
“Nightmare!” 150 2 0.5
“Mission Impossible” 200 2 1

Domácí úkoly se budou postupně objevovat v systému ReCodEx. Do tohoto systému také nahrajte své řešení a systém vám sám řešení ohodnotí. Standardní deadline je 7 dní, do začátku příštího cvičení. Kromě bodů přiřazených ReCodExem dostanete bonusové body podle kvality návrhu, četnosti komentářů a dalších estetických vlastností řešení, které ReCodEx ohodnotit nemůže.

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!

Uzná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ůže zkoušku uznat Pavel Ježek. Toto je iniciativa vyučujících tohoto předmětu a nelze ji požadovat po studijním oddělení!