Objektové programování v Javě - B500002
Anglický název: Object-oriented Programming in Java
Zajišťuje: Ústav informatiky a chemie (143)
Fakulta: Fakulta chemické technologie
Platnost: od 2022
Semestr: letní
Body: letní s.:7
E-Kredity: letní s.:7
Způsob provedení zkoušky: letní s.:
Rozsah, examinace: letní s.:2/5, Z+Zk [HT]
Počet míst: neurčen / neurčen (neurčen)
Minimální obsazenost: neomezen
Stav předmětu: vyučován
Jazyk výuky: čeština
Způsob výuky: prezenční
Způsob výuky: prezenční
Úroveň:  
Garant: Balík Miroslav Ing. Ph.D.
Klasifikace: Informatika > Programování
Záměnnost : N500003
Termíny zkoušek   
Anotace -
Předmět Programování v Javě uvede studenty do objektově orientovaného programování v programovacím jazyku Java. Kromě samotného jazyka budou probrány základní knihovny pro práci se soubory, proudy, sítěmi, kolekcemi, databázemi a vícevláknové programování.
Poslední úprava: Kubová Petra (02.01.2018)
Výstupy studia předmětu -

Student bude umět:

vytvořit program v programovacím jazyku Java s využitím objektového paradigmatu

budou mít přehled v knihovnách pro práci se soubory, proudy, sítěmi, kolekcemi, databázemi a vícevláknové programování

budou znát přínosy verzí Java 5 a Java 7 s ohledem na změny v jazyku a tyto výhody budou aktivně využívat

Poslední úprava: Kubová Petra (02.01.2018)
Podmínky zakončení předmětu (Další požadavky na studenta)

Pro zı́skánı́ zápočtu je potřeba dostatek bodů ze semestrální práce a ze zápočtových testů. Zkouška se skládá z povinné pı́semné části a z volitelné ústnı́ části.

Poslední úprava: Svozil Daniel (07.02.2018)
Literatura -

Z: B. Eckel: Thinking in Java, 4th ed. 2006

Z: R. Pecinovský: Java 9 - Kompletní příručka jazyka, Grada 2018

Z: P. Herout: Učebnice jazyka Java - 5. vydání, Kopp 2010

Z: H. Schildt: Java 8, Computer Press 2016

D: R. Pecinovský, A. Havelka: JUnit 5 - Jednotkové testování na platformě Java, Grada 2018

Poslední úprava: Svozil Daniel (26.03.2019)
Sylabus -

1. Primitivní datové typy a operace s nimi, úvod do OOP.

2. OOP, třídy, objekty, konstruktory, popis API základních tříd a jednoho rozhraní.

3. Výjimky, jejich šíření a ošetření, Autoclosable v Javě 7 a vylepšení příkazu try, příkaz assert, polymorfismus a RTTI ( Run Time Type Identification ).

4. Pole a API třídy java.util.Arrays, kolekce - taxonomie, implementace, časové složitosti operací, vhodná nasazení, související API, utility.

5. Vstup, výstup: základní pricipy pro ukládání dat, znakové x bytové proudy, vstupní x výstupní proudy, třída File, proudění rourou, serializace a deserializace objektů, komprese dat, třída RandomAccessFile, knihovny java.io a java.nio.

6. Vlákna a procesy, jejich interakce, synchronizace. Programování vícevláknových aplikací na vícejádrových procesorech.

7. Síť a java.net, Java a Internet, základní pojmy (IP, TCP, URL, port DNS), socketové x datagramové spojení, klient - server architektura.

8. Knihovny pro práci s GUI, AWT, SWING, SWT, události: zásady návrhu grafického uživatelského rozhraní, knihovna java.awt, správci rozvržení, metrika, kontejnery a komponenty, Graphics, Font a Color. Delegační model zpracování událostí, Listenery a Adaptery, zdroje událostí, obslužné metody, Focus a MVC,

9. Swing, aplety a obrázky: řídící komponenty, informační komponenty, kontejnery, aplety, životní cyklus apletu, včlenění apletu do HTML stránky, předávání parametrů apletům, komunikace apletů mezi sebou, obrázky, vykreslení, transformace.

10. Databáze: připojení k databázím, typy připojení, JDBC, rozhraní Connection, Statement a ResultSet, vybrané příkazy SQL, datové typy SQL vs. datové typy Javy. Návrhový vzor DAO.

11. RMI = Remote Method Invocation, vnitřní a vnořené třídy, lokální třídy.

12. Odlišné vlastnosti Javy 5, Javy 7 a starších verzí, pokročilé využití Enum, generika, použití, definice vlastních generických tříd a metod.

13. Dokumentace, JAR, logování, regulární výrazy a jejich využití při vyhledávání, JNI.

Poslední úprava: Kubová Petra (02.01.2018)
Studijní opory -

https://edux.fit.cvut.cz/courses/BI-OPJ/

(nutné přihlášení)

Poslední úprava: Kubová Petra (02.01.2018)
Studijní prerekvizity -

žádné

Poslední úprava: Kubová Petra (02.01.2018)
Zátěž studenta
Činnost Kredity Hodiny
Účast na přednáškách 1 28
Příprava na přednášky, semináře, laboratoře, exkurzi nebo praxi 2 56
Příprava na zkoušku a její absolvování 1.5 42
Účast na seminářích 2.5 70
7 / 7 196 / 196