Algoritmizace pogramování Java 2¶
Předmět navazuje na základy z prvního semestru a zaměřuje se na pokročilé techniky objektově orientovaného programování (OOP), datové struktury a tvorbu komplexnějších aplikací v jazyce Java.
Základní informace¶
- Katedra: Katedra informačních technologií (KTI)
- Zakončení: Zápočet + Zkouška
- Forma výuky: Přednášky a cvičení v počítačové učebně
Obsah předmětu¶
Kurz se věnuje především těmto oblastem:
- Pokročilé OOP: Dědičnost, polymorfismus, rozhraní (interface), abstraktní třídy a vnitřní třídy.
- Generické programování: Práce s typovými parametry a tvorba univerzálních tříd a metod.
- Kolekce (Collections Framework): Efektivní práce se seznamy (List), množinami (Set) a mapami (Map). Rozdíly mezi ArrayList, LinkedList, HashMap atd.
- Práce se soubory a IO: Streamy, čtení/zápis textových a binárních dat, serializace objektů.
- Výjimky (Exceptions): Robustní ošetření chybových stavů v programu.
- Grafické uživatelské rozhraní (GUI): Základy tvorby oken a ovládacích prvků (např. JavaFX nebo Swing).
- Algoritmy: Řazení, vyhledávání a základy práce se složitějšími datovými strukturami (stromy, grafy).
Podmínky zakončení¶
Zápočet¶
Zápočet je obvykle podmíněn odevzdáním a obhajobou semestrálního projektu:
- Semestrální práce: Samostatně vytvořená aplikace v Javě, která demonstruje pochopení OOP principů, práci s kolekcemi a grafické rozhraní.
- Průběžné úkoly: Menší programovací úlohy zadávané v průběhu semestru.
- Docházka: Aktivní účast na cvičeních.
Zkouška¶
Zkouška bývá dvoukolová:
- Praktická část: Programování konkrétního zadání v omezeném čase přímo u počítače. Testuje se schopnost rychle a správně vyřešit problém.
- Teoretická část: Test nebo ústní diskuse nad principy Javy, správnou architekturou kódu a teorií algoritmů.
Doporučení a tipy¶
- Kód, kód a zase kód: Programování se nenaučíte čtením, ale psaním. Zkoušejte si všechno, co se probere na přednášce, hned napsat.
- Clean Code: Na FM TUL se často dbá nejen na to, “aby to fungovalo”, ale i na to, jak je kód napsaný (pojmenování proměnných, dokumentace, dekompozice).
- Semestrální projekt: Nenechávejte ho na poslední týden zkouškového. Kvalitní návrh tříd zabere čas a “pytlování” chyb na poslední chvíli je stresující.
- Ladění (Debugging): Naučte se používat debugger ve vašem IDE (IntelliJ IDEA, Eclipse). Ušetří vám to hodiny hledání chyb.