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

Garantující katedraKatedra informatikyKredity4
Garant předmětuIng. Jan Kožusznik, Ph.D.Garant verze předmětuIng. Jan Kožusznik, Ph.D.
Úroveň studiapregraduální nebo graduálníPovinnostpovinný
Ročník2Semestrzimní
Jazyk výukyčeština
Rok zavedení2019/2020Rok zrušení
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.
KOZ01 Ing. Jan Kožusznik, Ph.D.
Rozsah výuky pro formy studia
Forma studiaZp.zak.Rozsah
prezenční Klasifikovaný zápočet 2+2
kombinovaná Klasifikovaný zápočet 18+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.

Doporučená literatura:

Oracle.The Java™ Tutorials. accessed September 21, 2016, http://docs.oracle.com/javase/tutorial/index.html. 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

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

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

E-learning

Další požadavky na studenta

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

Prerekvizity

Kód předmětuZkratkaNázevPovinnost
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

Kombinovaná forma (platnost od: 2019/2020 zimní semestr)
Název úlohyTyp úlohyMax. počet bodů
(akt. za podúlohy)
Min. počet bodů
Klasifikovaný zápočet Klasifikovaný zápočet 100 (100) 51
        1. test praktických znalostí Písemka 5  0
        2. test praktických znalostí Písemka 10  0
        Průběžný test znalostí Jiný typ úlohy 10  0
        Semestrální projekt Semestrální projekt 30  15
        Zápočtový test Písemka 45  20
Rozsah povinné účasti: Student musí splnit všechny definované úlohy alespoň za minimální počet bodů. tutoriály - alespoň 80%

Zobrazit historii

Výskyt ve studijních plánech

Akademický rokProgramObor/spec.Spec.ZaměřeníFormaJazyk výuky Konz. stř.RočníkZLTyp povinnosti
2021/2022 (B0714A060018) Biomedicínské asistivní technologie P čeština Ostrava 2 povinně volitelný typu B stu. plán
2021/2022 (B0714A060018) Biomedicínské asistivní technologie K čeština Ostrava 2 povinně volitelný typu B stu. plán
2021/2022 (B0613A140014) Informatika K čeština Ostrava 2 povinně volitelný typu B stu. plán
2021/2022 (B0613A140014) Informatika P čeština Ostrava 2 povinně volitelný typu B stu. plán
2021/2022 (B0714A060008) Mobilní technologie K čeština Ostrava 2 povinný stu. plán
2021/2022 (B0714A060008) Mobilní technologie P čeština Ostrava 2 povinný stu. plán
2021/2022 (B0541A170008) Výpočetní a aplikovaná matematika P čeština Ostrava 2 volitelný odborný stu. plán
2021/2022 (B0541A170008) Výpočetní a aplikovaná matematika K čeština Ostrava 2 volitelný odborný stu. plán
2021/2022 (B2647) Informační a komunikační technologie (1103R031) Výpočetní matematika P čeština Ostrava 2 volitelný odborný stu. plán
2021/2022 (B2647) Informační a komunikační technologie (2601R013) Telekomunikační technika P čeština Ostrava 2 povinně volitelný stu. plán
2021/2022 (B2647) Informační a komunikační technologie (1103R031) Výpočetní matematika K čeština Ostrava 2 volitelný odborný stu. plán
2021/2022 (B2647) Informační a komunikační technologie (2601R013) Telekomunikační technika K čeština Ostrava 2 povinně volitelný stu. plán
2021/2022 (B2647) Informační a komunikační technologie (2612R059) Mobilní technologie P čeština Ostrava 2 povinně volitelný stu. plán
2021/2022 (B2647) Informační a komunikační technologie (2612R059) Mobilní technologie K čeština Ostrava 2 povinně volitelný stu. plán
2021/2022 (B2660) Počítačové systémy pro průmysl 21. století P čeština Ostrava 2 povinný stu. plán
2021/2022 (B2647) Informační a komunikační technologie (2612R025) Informatika a výpočetní technika P čeština Ostrava 2 povinně volitelný stu. plán
2021/2022 (B2647) Informační a komunikační technologie (2612R025) Informatika a výpočetní technika K čeština Ostrava 2 povinně volitelný stu. plán
2020/2021 (B0714A060018) Biomedicínské asistivní technologie K čeština Ostrava 2 povinně volitelný typu B stu. plán
2020/2021 (B0714A060018) Biomedicínské asistivní technologie P čeština Ostrava 2 povinně volitelný typu B stu. plán
2020/2021 (B0613A140014) Informatika IJA K čeština Ostrava 2 povinně volitelný typu A stu. plán
2020/2021 (B0613A140014) Informatika IJA P čeština Ostrava 2 povinně volitelný typu A stu. plán
2020/2021 (B2647) Informační a komunikační technologie (1103R031) Výpočetní matematika P čeština Ostrava 2 volitelný odborný stu. plán
2020/2021 (B2647) Informační a komunikační technologie (2601R013) Telekomunikační technika P čeština Ostrava 2 povinně volitelný stu. plán
2020/2021 (B2647) Informační a komunikační technologie (2612R025) Informatika a výpočetní technika P čeština Ostrava 2 povinně volitelný stu. plán
2020/2021 (B2647) Informační a komunikační technologie (2612R059) Mobilní technologie P čeština Ostrava 2 povinně volitelný stu. plán
2020/2021 (B2647) Informační a komunikační technologie (1103R031) Výpočetní matematika K čeština Ostrava 2 volitelný odborný stu. plán
2020/2021 (B2647) Informační a komunikační technologie (2601R013) Telekomunikační technika K čeština Ostrava 2 povinně volitelný stu. plán
2020/2021 (B2647) Informační a komunikační technologie (2612R025) Informatika a výpočetní technika K čeština Ostrava 2 povinně volitelný stu. plán
2020/2021 (B2647) Informační a komunikační technologie (2612R059) Mobilní technologie K čeština Ostrava 2 povinně volitelný stu. plán
2020/2021 (B0714A060008) Mobilní technologie P čeština Ostrava 2 povinný stu. plán
2020/2021 (B0714A060008) Mobilní technologie K čeština Ostrava 2 povinný stu. plán
2020/2021 (B0541A170008) Výpočetní a aplikovaná matematika P čeština Ostrava 2 volitelný odborný stu. plán
2020/2021 (B0541A170008) Výpočetní a aplikovaná matematika K čeština Ostrava 2 volitelný odborný stu. plán
2019/2020 (B0714A060008) Mobilní technologie P čeština Ostrava 2 povinný stu. plán
2019/2020 (B0541A170008) Výpočetní a aplikovaná matematika P čeština Ostrava 2 volitelný odborný stu. plán
2019/2020 (B0541A170008) Výpočetní a aplikovaná matematika K čeština Ostrava 2 volitelný odborný stu. plán
2019/2020 (B0714A060008) Mobilní technologie K čeština Ostrava 2 povinný stu. plán
2019/2020 (B0613A140014) Informatika IJA P čeština Ostrava 2 povinně volitelný typu A stu. plán
2019/2020 (B0613A140014) Informatika IJA K čeština Ostrava 2 povinně volitelný typu A stu. plán

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

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