Detail předmětu

Seminář Java (v angličtině)

IJAe Ak. rok 2021/2022 zimní semestr 5 kreditů

Aktuální akademický rok

Objektová orientace. Přehled jazyka Java - objekty, třídy, programovací techniky, knihovny, vývojová prostředí. Návrhové vzory. Ladění a údržba programů. Grafická uživatelská rozhraní, vlákna.

Garant předmětu

Jazyk výuky

anglicky

Zakončení

klasifikovaný zápočet (písemná)

Rozsah

  • 26 hod. přednášky
  • 12 hod. pc laboratoře
  • 14 hod. projekty

Bodové hodnocení

  • 20 bodů půlsemestrální test (12 bodů písemná část, 8 bodů testová část)
  • 20 bodů laboratoře
  • 60 bodů projekty

Zajišťuje ústav

Přednášející

Cvičící

Získané dovednosti, znalosti a kompetence z předmětu

Schopnost aplikace objektově orientovaného přístupu k tvorbě aplikací s využitím jazyka Java. Praktická zkušenost s tvorbou grafických uživatelských rozhraní a využitím návrhových vzorů.
Základy objektově orientovaného programování, znalost základních návrhových vzorů.

Cíle předmětu

Cílem je naučit studenty základy objektově orientovaného programování v jazyce Java.

Doporučené prerekvizity

Požadované prerekvizitní znalosti a dovednosti

Základní znalosti imperativního programování (jazyk C) a algoritmizace.

Literatura studijní

  • Joshua Bloch: Effective Java, Prentice Hall; 2 edition (May 28, 2008), ISBN-13: 978-0321356680
  • Raoul-Gabriel Urma, Mario Fusco, Alan Mycroft: Java 8 & 9 in Action, Second Editition (Lambda, streams, functional and reactive programming). Manning, 2018. 
  • The Java Tutorials. https://docs.oracle.com/javase/tutorial/
  • Bruce Eckel: Thinking in Java (4th Edition), 2006, ISBN-13: 978-0131872486 [some editions are available electronically on WWW]

Literatura referenční

  • Bruce Eckel: Thinking in Java (4th Edition), 2006, ISBN-13: 978-0131872486 [some editions are available electronically on WWW] 
  • Harvey Deitel, Paul J. Deitel. Java How to Program, Early Objects. Global edition, 11th edition. PEARSON 2017. ISBN-13: 978-1292223858. 

Osnova přednášek

  1. Úvod do jazyka Java: Historie, nástroje, distribuce, Java Virtual Machine (JVM). Základy OO: Objekt, třída, rozhraní, abstrakce, zapouzdření, konstruktory.
  2. Datové typy. Deklarace třídy, modifikátory přístupu. Sestavení a spuštění aplikace, struktura aplikace (balíky), import tříd.
  3. Základy OO: Dědičnost, polymorfismus. Inicializace objektu. Pole. Příkazy, základní operátory. Ladění programu (assert).
  4. Hierarchie dědičnosti, typová kontrola, typová konverze, porovnávání objektů. Rozhraní v Javě. Ladění programu.
  5. Výjimky. Abstraktní třídy, vnořené třídy, výčtový typ, statické třídy a proměnné.
  6. Kontejnery: Iterátor, kolekce, seznam, množina, mapa. Generické kontejnery. For-each loop, autoboxing.
  7. Vlákna (threads): Sdílení, plánování, synchronizace.
  8. Grafické uživatelské rozhraní JFC/Swing. Technika návrhu aplikace.
  9. Vstup/Výstup: Práce se soubory, proudy, komprimace, serializace.
  10. Znovupoužitelnost, návrhové vzory.
  11. Generics. Zásady programování v Javě.
  12. JVM: zavádění tříd, správa paměti, garbage collector, profiling.
  13. Java 2 Enterprise Edition: Základní přehled.

Osnova ostatní - projekty, práce

  1. Domácí úkoly,
  2. projekt (malá aplikace s grafickým rozhraním v Javě).

Kontrolovaná výuka

  • Vypracování domácích úkolů a projektu.

Podmínky zápočtu

  • Vypracovat úkoly.
  • Vypracovat a prezentovat projekt.
  • Získat nejméně 20 bodů z projektu a 50 bodů celkem.
Nahoru