Logo ČVUT
ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE
STUDIJNÍ PLÁNY
2018/2019

Programování v Javě

Přihlášení do KOSu pro zápis předmětu Zobrazit rozvrh
Kód Zakončení Kredity Rozsah Jazyk výuky
BI-PJV Z,ZK 4 2+2 česky
Přednášející:
Miroslav Balík (gar.)
Cvičící:
Miroslav Balík (gar.), Jan Blizničenko, Filip Glazar, Vojtěch Knaisl, Martin Podloucký
Předmět zajišťuje:
katedra softwarového inženýrství
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í.

Požadavky:

Základní programovací schopnosti v libovolném imperativním programovacím jazyce.

Osnova přednášek:

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

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

3. Výjimky a příkaz assert, polymorfismus a RTTI ( Run Time Type Identification ).

4. Pole a API třídy java.util.Arrays, kolekce a 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.

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

8. AWT, 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.

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

12. Odlišné vlastnosti Javy 5 a starších verzí, pokročilé využití Enum, generika, použití, definice vlastních.

13. Dokumentace, JAR, logování, regulární výrazy.

Osnova cvičení:

1. Struktura třídy, první program v Javě, prostředí (IDE) NetBeans - projekt, balíček, třída, main.

2. Datové typy a operace s nimi, úvod do OOP.

3. Objekty, konstruktory, setry a getry, zapozdření.

4. Výjimky a příkaz assert, polymorfismus.

5. Pole a API třídy java.util.Arrays, kolekce.

6. Kolekce II, vstup, výstup, znakové x bytové proudy, vstupní x výstupní proudy, třída File, proudění rourou, serializace a deserializace objektů.

7. Vlákna a procesy, jejich interakce, synchronizace.

8.Síť a java.net, Java a Internet, socketové x datagramové spojení, klient - server architektura, producent - konzument a synchronizace.

9. Grafické uživatelské rozhraní, události: zásady návrhu grafického uživatelského rozhraní, knihovna java.awt, správci rozvržení, metrika, kontejnery a komponenty.

10. Listenery a Adaptery, zdroje událostí, obslužné metody, Swing, řídící komponenty, informační komponenty, kontejnery, aplety, obrázky, vykreslení, transformace.

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

12. Vnitřní a vnořené třídy - motivace a použití.

13. Výčtový typ Enum, pokročilé využití Enum, generika, použití, definice vlastních, dokumentace, JAR, logování, regulární výrazy.

Cíle studia:

Cílem je naučit studenty programovací jazyk Java a aktivní schopnost využívání knihoven Javy.

Studijní materiály:

R. C. MartinČistý kód

B. Kiszka1001 tipů a triků pro jazyk Java

R. PecinovskýMyslíme objektově v jazyku Java 2. vydání

S. Zakhour a kol.Java 6

R. PecinovskýNávrhové vzory

A. DavisonProgramování dokonalých her v Javě

P. HeroutJava a XML

I. DarwinJava - kuchařka programátora

B. EubanksJava na maximum

I. HortonJava 5

I. HynarJava - nástroje

R. PecinovskýJava 5.0

J. KeoghJava bez předchozích znalostí

K. TopleyJ2ME v kostce

D. Brackeen, B. Barker, L. VanhelsuwéVývoj her v jazyku Java

A. Taylor, B. Buege, R. LaymanHacking bez tajemství: Java a J2EE

P. HeroutJava - bohatství knihoven

L. BrůhaJava - hotová řešení

J. SchiraziJava - vylaďování výkonu

B. BurdJSP: JavaServer Pages

G. Bollinger, B. NatarajanJSP - Java Server Pages

J. Nožička, J. ZelenýCOM+, Corba, EJB

T. PitnerJava - začínáme programovat

J. BlochJava efektivně

F. HawlitzekJava 2 - příručka programátora

B. SpellJava - programujeme profesionálně

Q.H. MahmoudNaučte se Java 2 Micro Edition

B. EckelMyslíme v jazyku Java (2 díly)

Z. Kotala, P. TomanJava* (ke stažení )

M. HallJAVA servlety a stránky JSP

H. SchildtJava 2 - příručka programátora

M. VíriusJava pro zelenáče

S. J. ChapmanZačínáme programovat v jazyce Java

P. HeroutJava - grafické uživatelské prostředí a čeština

P. HeroutUčebnice jazyka Java

M. Vírius, D. StruplJBuilder verze 3

J. PšeničkováVisual Age for Java 2.0

S. R. DavisVisual J++

M. GrandJava 1.1

Referenční příručka jazykaComputer Press

Chan, Griffith, IasiJava 1001 tipů

D. FlanaganProgramování v jazyce Java

P. J. PerryJava - tvorba dokonalých WWW stránek

D. StruplJava pro každého

Poznámka:

Informace o předmětu a výukové materiály naleznete na https://moodle.fit.cvut.cz/courses/BI-PJV/

Další informace:
https://moodle.fit.cvut.cz/courses/BI-PJV/
Rozvrh na zimní semestr 2018/2019:
06:00–08:0008:00–10:0010:00–12:0012:00–14:0014:00–16:0016:00–18:0018:00–20:0020:00–22:0022:00–24:00
Po
místnost T9:155
Balík M.
16:15–17:45
(přednášková par. 1)
Dejvice
Posluchárna
Út
místnost T9:348
Balík M.
09:15–10:45
(přednášková par. 1
paralelka 101)

Dejvice
NBFIT PC ucebna
místnost T9:348
Balík M.
11:00–12:30
(přednášková par. 1
paralelka 102)

Dejvice
NBFIT PC ucebna
místnost T9:348
Podloucký M.
12:45–14:15
(přednášková par. 1
paralelka 103)

Dejvice
NBFIT PC ucebna
místnost T9:348
Podloucký M.
14:30–16:00
(přednášková par. 1
paralelka 104)

Dejvice
NBFIT PC ucebna
St
místnost T9:303
Knaisl V.
14:30–16:00
(přednášková par. 1
paralelka 105)

Dejvice
NBFIT PC ucebna
místnost T9:303
Knaisl V.
16:15–17:45
(přednášková par. 1
paralelka 106)

Dejvice
NBFIT PC ucebna
Čt

Rozvrh na letní semestr 2018/2019:
06:00–08:0008:00–10:0010:00–12:0012:00–14:0014:00–16:0016:00–18:0018:00–20:0020:00–22:0022:00–24:00
Po
místnost T9:348
Knaisl V.
12:45–14:15
(přednášková par. 1
paralelka 102)

Dejvice
NBFIT PC ucebna
místnost TK:BS
Balík M.
16:15–17:45
(přednášková par. 1)
Dejvice
NTK Ballingův sál
místnost T9:348
Knaisl V.
14:30–16:00
(přednášková par. 1
paralelka 103)

Dejvice
NBFIT PC ucebna
Út
místnost T9:351
Glazar F.
11:00–12:30
(přednášková par. 1
paralelka 101)

Dejvice
NBFIT PC ucebna
místnost T9:351
Glazar F.
12:45–14:15
(přednášková par. 1
paralelka 104)

Dejvice
NBFIT PC ucebna
místnost T9:351
Blizničenko J.
14:30–16:00
(přednášková par. 1
paralelka 105)

Dejvice
NBFIT PC ucebna
místnost T9:351
Blizničenko J.
16:15–17:45
(přednášková par. 1
paralelka 106)

Dejvice
NBFIT PC ucebna
St
Čt

Předmět je součástí následujících studijních plánů:
Platnost dat k 23. 3. 2019
Aktualizace výše uvedených informací naleznete na adrese http://bilakniha.cvut.cz/cs/predmet1336206.html