Detail předmětu

Seminář Java (v angličtině)

IJAe Ak. rok 2019/2020 zimní semestr 5 kreditů

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.

Aktuální informace

  • The final test (exam) will be on December 17, 11:00, in the lecture room.
* This course is prepared for incoming Erasmus+ students only, and it is instructed in English.
* This course will be open if a certain/sure minimum of enrolled students is at least five students.

Garant předmětu

Kočí Radek, Ing., Ph.D. (UITS FIT VUT)

Jazyk výuky

anglický

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 půlsemestrální test, 20 laboratoře, 60 projekty

Zajišťuje ústav

Přednášející

Kočí Radek, Ing., Ph.D. (UITS FIT VUT)

Cvičící

Matyáš Jiří, Ing. (UITS FIT VUT)

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ů.

Dovednosti, znalosti a kompetence obecné

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.

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 in Action (Lambdas, streams, and functional-style programming). Manning, 2015.

Literatura referenční

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.

Rozvrh

DenTypTýdnyMístn.OdDoPSKSkupInfo
Poostatní2020-01-06 A218 09:0010:50IJAe - project presentation
Poostatní2020-01-13 A218 09:0010:50IJAe - project presentation
Poostatní2020-01-20 A218 09:0010:50IJAe - project presentation
Útpřednáškavýuky A112 11:0012:50 INTE xx
Útpoč. labvýuky N104 14:0015:50 INTE
Čtostatní2020-01-09 A218 08:0008:50IJAe - project presentation
Čtostatní2019-12-19 A218 09:0010:50IJAe - project presentation
Nahoru