| Název předmětu | Objektové programování | 
|---|---|
| Kód předmětu | UAI/685 | 
| Organizační forma výuky | Přednáška + Cvičení | 
| Úroveň předmětu | Bakalářský | 
| Rok studia | nespecifikován | 
| Četnost výuky | V každém akademickém roce, jen v letním semestru. | 
| Semestr | Letní | 
| Počet ECTS kreditů | 6 | 
| Vyučovací jazyk | čeština | 
| Statut předmětu | nespecifikováno | 
| Způsob výuky | nespecifikováno | 
| Studijní praxe | nespecifikováno | 
| Doporučené volitelné součásti programu | Není | 
| Vyučující | 
|---|
        
  | 
| Obsah předmětu | 
| 
        1. Typy a zpracování výjimek v Javě 2. Datové toky a jejich typy a zpracování - texty a binární data 3. Vlákna - práce s vlákny v Javě 4. Síťové programování - práce s webovým rozhraním a protokoly TCP a UDP 5. Java a databáze - propojení Javy a relační a grafové databáze 6. XML a Java - práce s výměnným formátem dat 7. JSON - další z datových formátů a jeho zpracování v Javě 8. Základy funkcionálního programování 9. Návrh aplikace - formulace problému, analýza a design, objevování tříd, dokumentace 10. Prototypy a iterativní model tvorby software, návrhové vzory 11. Distribuce aplikací - soubory jar, Java Web Start 12. Návrhové vzory pro vytváření objektů   13. Strukturální návrhové vzory 14. Návrhové vzory chování  
         | 
| Studijní aktivity a metody výuky | 
        
        Monologická (výklad, přednáška, instruktáž), Demonstrace, Projekce (statická, dynamická), Praktická výuka, Případová studie
        
            
  | 
| Výstupy z učení | 
| 
                
                Druhá část úvodního kurzu programování, která je zaměřena především na seznámení se s často používanými knihovnami tříd, které umožňují pracovat s vlákny, datovými toky a vytvářet síťové aplikace. Pozornost je věnována i výměnným datovým formátům a pokročilým rysům jazyka, jako je např. funkcionální programování. Kurz zahrnuje rovněž doplnění a použití pojmů objektového programování definovaných v první části kurzu. Studenti se seznamují i s často používanými návrhovými vzory a se základními technikami objektově orientované analýzy a designu.
                 Absolvent kurzu bude schopen navrhovat a implementovat pokročilé aplikace s grafickým rozhraním využívající knihovny z probíraných témat. Naučí se, jak používat třídy a rozhraní pro práci s vlákny, datovými toky a pro používání výměnných datových formátů. Absolvent bude dále umět používat pokročilé techniky programování a některé vybrané návrhové vzory.  | 
        
| Předpoklady | 
| 
                
                
                Pro absolvování předmětu je vhodné mít základní znalosti o objektovém programování a jazyce Java získané v první části kurzu.
                
                
                    
                    
                        
                         UAI/CV695 ----- nebo ----- UAI/695 ----- nebo ----- UAI/695U  | 
        
| Hodnoticí metody a kritéria | 
| 
                
                    
                        Písemná zkouška, Rozbor produktů pracovní činnosti studenta (technické práce), Kombinovaná zkouška, Test, Seminární práce
                        
                        
                         V průběhu semestru student vypracuje příklady vyplývající z probírané látky. Zkouška vychází z průběhu semestru, zpracování semestrální práce a teoretického testu. Podmínky zakončení: Splnění průběžných úkolů Ústní zkouška Teoretické testy Na řádném a opravném termínu zápočtu, stejně jako na každém termínu zkoušky jsou zakázány všechny pomůcky, kromě těch, které jsou povoleny vyučujícím.  | 
        
| Doporučená literatura | 
        
  | 
| Studijní plány, ve kterých se předmět nachází | 
| Fakulta | Studijní plán (Verze) | Kategorie studijního oboru/specializace | Doporučený semestr | 
|---|