Skip to main content
Skip header

Java Programming II

* Exchange students do not have to consider this information when selecting suitable courses for an exchange stay.

Course Unit Code460-2062/01
Number of ECTS Credits Allocated4 ECTS credits
Type of Course Unit *Choice-compulsory type A
Level of Course Unit *First Cycle
Year of Study *Second Year
Semester when the Course Unit is deliveredSummer Semester
Mode of DeliveryFace-to-face
Language of InstructionCzech
Prerequisites and Co-Requisites
PrerequisitiesCourse Unit CodeCourse Unit Title
460-2058Java Programming I
Name of Lecturer(s)Personal IDName
JEZ04Ing. David Ježek, Ph.D.
Summary
Course follows course “Java programming I”. Students improve knowledge of Java and will be able to construct a software that is in conformance with production environment requirements. Course is possible to enrol after successful pass of "Java programming I".
Learning Outcomes of the Course Unit
In Java, student is familiar with:
-a structure of an application and a library;
-settings of a virtual machine and a compilator;
-possibility to avoid serialization selected instance variables;
-a way how to inspect structure of classes with reflection;
-different kinds of annotations;
-XML processing with SAX and DOM;
-logging scenario – a logger configuration; logger gathering; levels of logging – DEBUG, INFO, WARN, ERROR; conditional logging;
-types classes for working with date and time;
-classes for concurrency control in the package java.util.concurrent;
-different kinds of security in Java – platform based, cipher, authentication and access control, secured communication.


In Java, student is able:
-to create application that distributable into the production environment;
-to create lambda expression and pass method as lambda expression;
-to divide packages into modules and create dependencies among modules;
-to export classes from modules;
-to pass parameters to applications – by command line, by environment variables and by system properties;
-to execute operations map, filter, sort and collect with streams;
-to perform CRUD operations on RBDMS by JDBC API;
-object serialization/deserialization to/from binary streams;
-to call methods on object with name using java reflection;
-to create own annotation, assign it to some element and get information during runtime;
-to process XML with DOM API;
-to log with log4j, logging and slf4j on selected level;
-to present time and date in format with and without time zone;
-to convert between date and time presentation of Java version bellow 1.8 and upper 1.8
-to ensure secure communication between processes;
-to manage certificates and secure key.
Course Contents
Lectures:
1. Package and deployment – Maven usage. Platform specific launchers
2. Compilator and virtual machine settings. Properties passed to applications.
3. Lambda expressions. Streams.
4. Modules.
5. JDBC.
6. Serialization. Reflection and annotations.
7. XML and JSON processing.
8. Logging. Assertions. Application profiling.
9. Date and time processing.
10. Concurrency.
11. Security I.
12. Security II.
13. Internationalization.

Labs:
1. Package and deployment – Maven usage. Platform specific launchers
2. Compilator and virtual machine settings. Properties passed to applications.
3. Lambda expressions. Streams.
4. Modules.
5. JDBC.
6. Serialization. Reflection and annotations.
7. XML and JSON processing.
8. Logging. Assertions. Application profiling.
9. Date and time processing.
10. Concurrency.
11. Security I.
12. Security II.
13. Internationalization.
Recommended or Required Reading
Required Reading:
SCHILDT, Herbert, 2017b. Java: The Complete Reference, Tenth Edition. 10 edition. New York: McGraw-Hill Education. ISBN 978-1-259-58933-1.
Oracle.The Java™ Tutorials. accessed September 21, 2016, http://docs.oracle.com/javase/tutorial/index.html.
SCHILDT, Herbert, 2017b. Java: The Complete Reference, Tenth Edition. 10 edition. New York: McGraw-Hill Education. ISBN 978-1-259-58933-1.
Oracle.The Java™ Tutorials. accessed September 21, 2016, http://docs.oracle.com/javase/tutorial/index.html.
Recommended Reading:
SCHILDT, Herbert, 2017. Java: A Beginner’s Guide, Seventh Edition. 7 edition. New York: McGraw-Hill Education. ISBN 978-1-259-58931-7.
KOŽUSZNIK, Jan. Programming language 1. Opory k předmětu vzniklé v rámci projektu InterDV.
Bruce Eckel: Thinking in Java, ISBN: 978-0131872486
Joshua Bloch: Effective Java, ISBN: 978-0321356680
SCHILDT, Herbert, 2017. Java: A Beginner’s Guide, Seventh Edition. 7 edition. New York: McGraw-Hill Education. ISBN 978-1-259-58931-7.
KOŽUSZNIK, Jan. Programming language 1. Opory k předmětu vzniklé v rámci projektu InterDV.
Bruce Eckel: Thinking in Java, ISBN: 978-0131872486
Joshua Bloch: Effective Java, ISBN: 978-0321356680
Planned learning activities and teaching methods
Lectures, Tutorials, Experimental work in labs, Project work
Assesment methods and criteria
Task TitleTask TypeMaximum Number of Points
(Act. for Subtasks)
Minimum Number of Points for Task Passing
Graded creditGraded credit100 (100)51
        Domácí úlohyOther task type10 0
        Test praktických znalostíWritten test24 0
        Semestrální projektSemestral project40 0
        Zápočtový testWritten examination26 0