Přeskočit obsah

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:

  1. Pokročilé OOP: Dědičnost, polymorfismus, rozhraní (interface), abstraktní třídy a vnitřní třídy.
  2. Generické programování: Práce s typovými parametry a tvorba univerzálních tříd a metod.
  3. Kolekce (Collections Framework): Efektivní práce se seznamy (List), množinami (Set) a mapami (Map). Rozdíly mezi ArrayList, LinkedList, HashMap atd.
  4. Práce se soubory a IO: Streamy, čtení/zápis textových a binárních dat, serializace objektů.
  5. Výjimky (Exceptions): Robustní ošetření chybových stavů v programu.
  6. Grafické uživatelské rozhraní (GUI): Základy tvorby oken a ovládacích prvků (např. JavaFX nebo Swing).
  7. 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.

Přehled výuky

Úlohy pro procvičení

Text řetezce

Pole bodu

Hra hadani čísla

Závodník

Zlomky

Komplexní čísla

Vektory

text text