Pátek 9:00 a 10:40, místnost N10  
     Don't panic! Cílem cvičení je naučit se programovat lépe a radostněji, nikoliv snížit počet studentů.
    Studium na matfyzu může být hlavně v prvních letech stresující, náročné a demotivující. Je pravděpodobné, že rozdíly mezi "chytrými" spolužáky s dlouholetou historií korespondenčních seminářů a
    úplnými začátečníky se do konce studia vyrovnají. Cítíte se neschopní, hloupí, asi sem nepatříte, nemáte žádný volný čas, spánek a dostatek jídla? Jedná se o vedlejší účinky studia na matfyzu a
    s pravděpodobností 1 se tak cítí mnoho vašich spolužáků i vyučujících. Problémy (nejen s tímto předmětem) je třeba řešit co nejdříve. S vyučujícími se dá zpravidla dohodnout mnohé (například posunutí termínu domácí úlohy). Lína huba, holé neštěstí. V nejhorším budete odmítnuti.
    
        
        - Dostatek bodů za domácí
            úkoly odevzdávané v ReCodExu. Je třeba získat 80% bodů.
        
 
        - Zápočtový test Podobně jako v ZS bude třeba naprogramovat funkční řešení zadané úlohy za 90 min. Během testu bude možné používat libovolné poznámky, slajdy, dokumentaci jazyka atd. Dva termíny budou na posledních cvičeních, další eventuelně budou během zkouškového období dle potřeby.
 
        - Zápočtový program"Rozumně"
            složitý program v jazyce C#. Zadání je třeba předem zkonzultovat (dva studenti nesmí mít stejné téma).
             Je třeba:
            
                - Vypracovat podrobnou specifikaci
 
                - Implementovat dle specifikace -- program dělá co má, je tzv. fool proof (nepadá při nevhodném používání, ale vrátí chybovou hlášku), kód je rozumně členěn a okomentován. 
                    Kód je verzován ve fakultním GitLabu.
 
                - Odevzdat uživatelskou a programátorskou dokumentaci
 
                - Odprezentovat mi zápočťák online či osobně (individuálně se domluvíme potom, co bude dokumentace a kód v uspokojivém stavu)
 
            
            Inspirovat se
            můžete zde (ne všechny příklady jsou ale dostatečně obtížné, někdy lze obtížnost upravit přidáním pěkného GUI):
            Martin Mareš
            Michal Žemlička
            Lenka Forstová
         
    
 
    
        
            
            - 13.5.2022  Binary search tree 
 
            - 6.5.2022  Dvě příšery v bludišti 
 
            - 6.5.2022  Game - code review 
 
            - 24.4.2022  Game 
 
            - 13.5.2022  zápočtový test (v ReCodexu)
 
            - 15.5.2022  specifikace zápočtového programu
 
            - 20.5.2022  zápočtový test (v ReCodexu) (opravný termín)
 
        
     
        
    
 
    
        1. cvičení
 Podmínky zápočtu • Proč C# a proč Python? • Seznámení s Visual Studiem • Rozklad na prvočinitele
 
    
 
    
        2. cvičení
 Procvičování v ReCodexu • Pole a listy v C# 
 
    
        C# tahák 2
        Řešili jsme:
        
            - Rozklad na prvočinitele 
 
            - Number wheel 
 
        
        
        Domácí úlohy 
        Rozklad na prvočinitele II. (3.3.2022) 
         N děleno M (do 3.3.2022 za 10b, do 10.3. za 5 bodů)
 
  
     
 
         
    
    
        3. cvičení
 Referenční a hodnotové typy 
 
    
             
          
 
    
    
       Domácí úlohy 
        Příšera v bludišti (20.3.)
 
    
    
        5. cvičení
 Zápočtové programy 
  
    
        
    
             
Domácí úlohy 
        Jezera (30.3.)
 
    
    
        6. cvičení
 Dynamické programování 
  
    
             
Domácí úlohy 
        Abeceda (17.4.)
          
 
    
    
        7. cvičení
 Objektový návrh 
  
    
    
             
Domácí úlohy 
        Game (24.4.)
          
 
 
 
    
        10. cvičení
 Dobré programovací návyky • Testy • Komentáře • Zálohování 
  
    
    
             
Domácí úlohy 
        
          
 
 
    
        11. cvičení
  Rozhraní • Generické třídy • Lambda výrazy • Čtení ze souboru • Výjimky 
  
C# tahák 11
    
    
             
Domácí úlohy 
    Dvě příšery v bludišti (6.5.2022) 
    Game - code review, analýza (6.5.2022) 
    Binary search tree (13.5.2022)