460-2058/03 – Programování v Java I (JAVA I)

Garantující katedraKatedra informatikyKredity4
Garant předmětuIng. David Ježek, Ph.D.Garant verze předmětuIng. David Ježek, Ph.D.
Úroveň studiapregraduální nebo graduální
Jazyk výukyčeština
Rok zavedení2019/2020Rok zrušení2023/2024
Určeno pro fakultyFEIUrčeno pro typy studiabakalářské
Výuku zajišťuje
Os. čís.JménoCvičícíPřednášející
JEZ04 Ing. David Ježek, Ph.D.
Rozsah výuky pro formy studia
Forma studiaZp.zak.Rozsah
prezenční Klasifikovaný zápočet 1+2
kombinovaná Klasifikovaný zápočet 16+0

Cíle předmětu vyjádřené dosaženými dovednostmi a kompetencemi

Student v Javě důvěrně zná: -rozdíl mezi dědičností jež je realizovaná rozšířením tříd a podtypy, které reprezentuje konstrukce rozhraní; -typový systém a rozdíl mezi primitivními a objektovými typy; -přetypování mezi různými primitivními a objektovými typy; -automatické zabalení a rozbalení hodnot primitivních typů do/z objektů obalových tříd; -přístup k souborovém systému; -komunikaci mezi procesy skrze Internetové připojení; -vztah mezi lambda výrazem a anonymní třídou. Student je v Javě schopen: -vytvořit spustitelný program; -navrhnout a vytvořit třídu; -použít dědění pro tvorbu třídních hierarchií; -rozdělit kód do jmenných prostorů a přistupovat k elementům z jiných jmenných prostorů; -použít pozdní vazbu; -použít rozhraní jako mechanismus pro zapouzdření; -zpracovat a propagovat chyby mechanismem výjimek; -použít „Collection framwork“ pro datovou abstrakci a vytvořit konstrukci for-each; -zpracovat řetězci pomocí regulárních výrazů; -načítat/zapisovat data z/do textových a binárních souborů; -nadefinovat a použít lambda výrazy; Student je schopen v Javě zhodnotit různé implementace kolekcí s ohledem na vhodnost použití.

Vyučovací metody

Přednášky
Cvičení (v učebně)
Experimentální práce v laboratoři
Projekt

Anotace

Posluchači si prohloubí znalosti Objektově orientovaného programování a získají další vhled do programovacích jazyků prostřednictvím moderního jazyka Java, který se řadí mezi nejpoužívanější jazyky současnosti. Kurz navazuje na kurzy „Úvod do programování“ a „Objektově orientované programování“ a je vyžadováno, aby student tyto předměty měl již úspěšně dokončeny.

Povinná literatura:

SCHILDT, Herbert a Jakub GONER, 2016. Java 8: výukový kurz. 1. vydání. Brno: Computer Press. ISBN 978-80-251-4665-1. Oracle.The Java™ Tutorials. accessed September 21, 2016,http://docs.oracle.com/javase/tutorial/index.html.

Doporučená literatura:

KOŽUSZNIK, Jan. Programming language 1. Opory k předmětu vzniklé v rámci projektu InterDV. SCHILDT, Herbert, 2017. Java: The Complete Reference, Tenth Edition. 10 edition. New York: McGraw-Hill Education. ISBN 978-1-259-58933-1. Bruce Eckel: Thinking in Java, ISBN: 978-0131872486 Joshua Bloch: Effective Java, ISBN: 978-0321356680

Další studijní materiály

Forma způsobu ověření studijních výsledků a další požadavky na studenta

Zápočtové testy, semestrální projekty.

E-learning

Materiály a informace dostupné na https://swi.cs.vsb.cz/jezek/student-information/Java1.html

Další požadavky na studenta

Další požadavky nejsou kladeny. Objektově orientované programování

Prerekvizity

Kód předmětuZkratkaNázevPovinnost
460-2052 UPR Úvod do programování Doporučená
460-2055 OOP Objektově orientované programování Doporučená

Korekvizity

Předmět nemá žádné korekvizity.

Osnova předmětu

Přednášky: 1. Popis architektury Java technologie. 2. Datové typy a programové konstrukce jazyka Java. 3. Definice tříd v Jazyce Java. Přetěžování metod. Balíčky. 4. Programová konstrukce rozhraní – definice, využití, implementace. 5. Dědičnost v Javě. Vnořené třídy. Jednoduché lambda výrazy. 6. Uživatelské rozhraní v JavaFX. 7. Generické datové typy. Výjimky. 8. Rámec kolekcí (Collections framework). 9. Řetězce a regulární výrazy 10. Vstup/výstup. 11. Práce se souborovým systémem a pokročilá práce se vstup/výstupem. 12. Vlákna a synchronizace. 13. Internetová komunikace. Cvičení: 1. Popis architektury Java technologie. 2. Datové typy a programové konstrukce jazyka Java. 3. Definice tříd v Jazyce Java. Přetěžování metod. Balíčky. 4. Programová konstrukce rozhraní – definice, využití, implementace. 5. Dědičnost v Javě. Vnořené třídy. Jednoduché lambda výrazy. 6. Uživatelské rozhraní v JavaFX. 7. Generické datové typy. Výjimky. 8. Rámec kolekcí (Collections framework). 9. Řetězce a regulární výrazy 10. Vstup/výstup. 11. Práce se souborovým systémem a pokročilá práce se vstup/výstupem. 12. Vlákna a synchronizace. 13. Internetová komunikace.

Podmínky absolvování předmětu

Podmínky absolvování jsou definovány pouze pro konkrétní verzi předmětu a formu studia

Výskyt ve studijních plánech

Akademický rokProgramObor/spec.Spec.ZaměřeníFormaJazyk výuky Konz. stř.RočníkZLTyp povinnosti

Výskyt ve speciálních blocích

Název blokuAkademický rokForma studiaJazyk výuky RočníkZLTyp blokuVlastník bloku

Hodnocení Výuky

Předmět neobsahuje žádné hodnocení.