Cvičení Algoritmizace 1 (NPRG062) a Programování 1 (NPRG030) pro paralelku B/1/IPP-I1X.33`P
    Cvičí Mgr. Jiří Šejnoha
    Cvičení z Algoritmizace se koná v pondělí od 11:30 v mísnosti N8, na které v jednom bloku navazuje cvičení z
        Programování 1, které se koná od 12:20 také v místnosti N8
    Stránky přednášky ke cvičení:
    
    
    Program cvičení
    
        -  týden - 30.09.2024 - Notes 
-  týden - 07.10.2024 - Notes 
-  týden - 14.10.2024 - Notes 
-  týden - 21.10.2024 - Notes 
-  týden - 28.10.2024 - Státní svátek - Výuka se nekoná
-  týden - 04.11.2024 - Notes
-  týden - 11.11.2024 - Notes 
-  týden - 18.11.2024 - Notes 
-  týden - 25.11.2024 - Notes 
-  týden - 02.12.2024 - Notes 
-  týden - 09.12.2024 - Notes 
-  týden - 16.12.2024 - Notes 
-  týden - 02.01.2024 - Vánoční prázdniny - Výuka se nekoná
-  týden - 06.01.2024 - Notes 
-  týden - 07.01.2024 - Notes 
Podmínky zápočtu:
    Podmínky zápočtu ze cvičení Algoritmizace:
    Všechny části zápočtu jsou nutné k získání zápočtu.
    
        - Domácí úkoly - Primárním cílem domácích úkolů je Vaše procvičení látky z přednášek,
            samotné vypracování je prostředkem, kterým se cvičíte. Sekundárním cílem je Vaše přesvedčením mě, že látce rozumíte
            (teoreticky i prakticky) dobře.
            (Domácí úkoly pište samostatně; no copy, no co-work, no StackOverflow or GPTChat, etc. případné vyjímky
            budou explicitně oznámeny; diskuze s kolegy naopak povolena je).
            
                - Zpravidla každý týden; celkem 8 zadání
- Zadané v recodexu
- Pro zápočet je nutné získat alespoň 70% celkového počtu získatelných bodů
- Získáte-li pod 50% získatelných bodů zápočet jste nezískali (vyjímky možné pouze ve velmi rozumných
                    důvodech (nemoc, válka, atd.); 50%-70% získatelných bodů - body na zápočet lze doplnit zadanými
                    úkoly
                    (takto
                    získatelné body mohou být obtížněji získatelné nežli body z řádných domácích úkolů a je možné, že
                    domácé
                    úkoly budete muset
                    osobně předvést a podrobně vysvětlit či řešení upravit)
 
- Docházka: za každé plnohodnotně navštívené cvičení lze získat 1bod za docházku
- Aktivita v hodině
- Podvádění zakázáno. Studentské výstupy (domácí úkoly; zápočtový test; chování studenta) jsou/budou
            kontrolovány proti plagiátorství.
            První nalezení totožného či jinak podezřelého kódu -10 bodů za domácí úkoly, druhý a další prohřešek vede k
            nesplnění
            zápočtu/předmětu; v případě závažného provinění k formálnímu řešení. Upozornění: prohřešky jsou fakultně
            evidovány.
Podmínky zápočtu ze cvičení Programování 1:
    Všechny části zápočtu jsou nutné k získání zápočtu.
    
        - Domácí úkoly - Primárním cílem domácích úkolů je Vaše procvičení látky z přednášek,
            samotný kód je prostředkem, kterým se cvičíte. Sekundárním cílem je Vaše přesvedčením mě, že látce rozumíte
            (teoreticky i prakticky) dobře.
            (Domácí úkoly pište samostatně; no copy, no co-work, no StackOverflow or GPTChat, etc. případné vyjímky
            budou explicitně oznámeny; diskuze s kolegy naopak povolena je).
            Na 2 domácích úkolech bude provedena code review (které domácí úkoly to budou, bude uvedeno při jejich
            zadání), a za
            domácí úkol budou body přiděleny až v případě, že Váš kód projde, nejen recodex testy, ale i code review
            (program Vám může být opakovaně vrácen k
            přepracování).
        
            - Zpravidla každý týden
- 0-3 zadání/týden
- Zadané v recodexu
- Pro zápočet je nutné získat alespoň 70% celkového počtu získatelných bodů
- Získáte-li pod 50% získatelných bodů zápočet jste nezískali (vyjímky možné pouze ve velmi rozumných
                důvodech (nemoc, válka, atd.); 50%-70% získatelných bodů - body na zápočet lze doplnit zadanými úkoly
                (takto
                získatelné body mohou být obtížněji získatelné nežli body z řádných domácích úkolů a je možné, že domácé
                úkoly budete muset
                osobně předvést a podrobně vysvětlit či řešení upravit)
- Závěrečný/zápočtový test - ve vyhlášených termínech (zápočtový týden a ve zkouškovém období; celkem
            3 termíny), na 100% napsat a odladit zadaný Python program zadaný v recodexu a v 90 minutách
- Zápočtový program - Python program středního rozsahu, včetně programátorské a uživatelské dokumentace
            a testovacích dat/testů. Programem
            prokazujete
            komplexní zvládnutí látky přednášek včetně algoritmizace, vhodného návrhu architektury a dekompozice kódu,
            programování, znalosti programovacího jazyka, efektivnosti návrhu, bezpečnosti kódu, přiměřené dodržení
            kódovacího stylu and best practices, ...). Očekává se procedurální nebo objektový návrh programu.
- Zápočtový program se skládá ze dvou povinných základních částí: a) zadání/specifikace a b) vypracování
            - Zadání zápočtového programu
                - Zaslat do 10 týdne výuky (02.12.2024)
- Forma odevzdání: do Owlu; enroll token:
                    850cdf30119e; enroll link: 	https://owl.mff.cuni.cz/join/850cdf30119e
- Zadání musí být schváleno cvičícím, jinak je Zápočtový program brán jako neplatný
- Povinné části (nesplnění jednotlivé části vede k nesplnění části): idea a základní popis problému;
                    formalizace problému; základní návrh
                    algoritmu/algoritmického způsobu řešení problému; forma a popis vstupů a výstupů; forma interfacu
                    (GUI, konzole); případně popis interaktivity; identifikace studenta, předmětu, datum, ...
                
- Je možné nejdříve zaslat návrh tématu k diskuzi před zasláním specifikace.
- Vypracování
                - Zaslat a obhájit finální verzi do 01. 04. 2024 - hard deadline.
- Povinné části vypracování: schválené zadání (vypracování programu bez schváleného zadaní vede k
                    nesplnění zápočtového programu), program, programátorská a uživatelská dokumentace,
                    testovací data/testy a osobní individiální obhájení.
- Forma odevzdání: do Owlu; enroll token:
                    850cdf30119e; enroll link: 	https://owl.mff.cuni.cz/join/850cdf30119e ;
                    nahrajete odkaz na Vaše Git uložiště. Každý z Vás má osobní vlákno komunikace.
- Je možné využívat školního GitLab repozitáře.
- Aktivita v hodině.
- Podvádění zakázáno. Studentské výstupy (domácí úkoly; zápočtový test; chování studenta) jsou/budou
            kontrolovány proti plagiátorství.
            První nalezení totožného či jinak podezřelého kódu -10 bodů za domácí úkoly, druhý a další prohřešek vede k
            nesplnění
            zápočtu/předmětu; v případě závažného provinění k formálnímu řešení. Upozornění: prohřešky jsou fakultně
            evidovány.
Contact
    
        - Konzultace: po domluvě, ideálně před či po cvičení nebo emailem
- Email: jiri.sejnoha #na# mff.cuni.cz