Course Unit Code | 460-2062/01 |
---|
Number of ECTS Credits Allocated | 4 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 delivered | Summer Semester |
---|
Mode of Delivery | Face-to-face |
---|
Language of Instruction | Czech |
---|
Prerequisites and Co-Requisites | |
---|
| Prerequisities | Course Unit Code | Course Unit Title |
---|
| 460-2058 | Java Programming I |
Name of Lecturer(s) | Personal ID | Name |
---|
| JEZ04 | Ing. 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 Title | Task Type | Maximum Number of Points (Act. for Subtasks) | Minimum Number of Points for Task Passing |
---|
Graded credit | Graded credit | 100 (100) | 51 |
Domácí úlohy | Other task type | 10 | 0 |
Test praktických znalostí | Written test | 24 | 0 |
Semestrální projekt | Semestral project | 40 | 0 |
Zápočtový test | Written examination | 26 | 0 |