Object-oriented Programming in Java introduces the concept of the object-oriented programming and Java programming language to the students.
Last update: Jirát Jiří (31.01.2014)
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í.
Last update: Jirát Jiří (13.01.2014)
Aim of the course -
Students will be able to:
Understand Java programming namely object oriented approach and libraries for streams, files, graphical user interface, JCF, net-communications, multimedia and database connections
on a good level.
Develop a standalone application in Java 2 standard edition, version 5 or 7, which has object-oriented concept, graphical user interface, persistence using streams or database.
Last update: Jirát Jiří (31.01.2014)
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
Last update: Jirát Jiří (13.01.2014)
Literature - Czech
Z:Bruce Eckel. "Myslíme v jazyku Java (originál Thinking in Java 2nd edition) - knihovna programátora, knihovna zkušeného programátora" Grada Publishing, 2001. 80-247-0027-1
Z:Pavel Herout. "Učebnice jazyka Java" Kopp, České Budějovice, 2000. 80-7232-115-3
Last update: Jirát Jiří (13.01.2014)
Syllabus -
1. Introduction to OOP and Java, history, development and Java concepts.
2. OOP, variables, expressions, primitives, classes and objects.
3. Classes, objects, inheritance, catching and handling exceptions, try-catch and Autoclosable in Java 7, Run Time Type Identification.
4. Arrays in Java and java.util.Arrays API, collections and JCF
5. Input and Output, files and streams, serialization, java.io and java.nio libraries
6. Threads and processes, interaction, synchronization, programming of multi-threaded applications.
7. Java and Internet, net communication, client-server architecture.
8. Graphical user interface in Java, AWT, Swing, layout managers, events, containers and components, listeners and adapters.
9. Swing, applets and images.
10. Databases, JDBC, interfaces Connection, Statement, PreparedStatement and ResultSet
11. Remote Method Invocation, inner and nested classes, local classes.
12. Differences between Java versions 5 and 7, Enum, generics.
13. Documentation, JAR, logging, regular expression in Java, JNI.
Last update: Jirát Jiří (31.01.2014)
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.