460-2062/02 – Java Programming II (JAVA II)

Gurantor departmentDepartment of Computer ScienceCredits4
Subject guarantorIng. Jan Kožusznik, Ph.D.Subject version guarantorIng. Jan Kožusznik, Ph.D.
Study levelundergraduate or graduateRequirementChoice-compulsory type A
Year2Semestersummer
Study languageEnglish
Year of introduction2019/2020Year of cancellation
Intended for the facultiesFEIIntended for study typesBachelor
Instruction secured by
LoginNameTuitorTeacher giving lectures
KOZ01 Ing. Jan Kožusznik, Ph.D.
Extent of instruction for forms of study
Form of studyWay of compl.Extent
Full-time Graded credit 2+2

Subject aims expressed by acquired skills and competences

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.

Teaching methods

Lectures
Tutorials
Experimental work in labs
Project work

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

Compulsory literature:

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 literature:

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

Way of continuous check of knowledge in the course of semester

homework, tests, oral exam The subject 460-2058/02 Programming in Java I is required as a prerequisite for subject 460-2062/02 Programmin in Java II.

E-learning

Other requirements

They are not required. Java Programming I

Prerequisities

Subject codeAbbreviationTitleRequirement
460-2058 JAVA I Java Programming I Recommended

Co-requisities

Subject has no co-requisities.

Subject syllabus:

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.

Conditions for subject completion

Full-time form (validity from: 2019/2020 Winter semester)
Task nameType of taskMax. number of points
(act. for subtasks)
Min. number of points
Graded credit Graded credit 100  51
Mandatory attendence parzicipation: Every student has to obtain at least the minimum number of points for each task.

Show history

Occurrence in study plans

Academic yearProgrammeField of studySpec.ZaměřeníFormStudy language Tut. centreYearWSType of duty
2020/2021 (B0613A140010) Computer Science IJA P English Ostrava 2 Choice-compulsory type A study plan
2020/2021 (B0541A170009) Computational and Applied Mathematics P English Ostrava 2 Optional study plan
2019/2020 (B0613A140010) Computer Science IJA P English Ostrava 2 Choice-compulsory type A study plan
2019/2020 (B0541A170009) Computational and Applied Mathematics P English Ostrava 2 Optional study plan

Occurrence in special blocks

Block nameAcademic yearForm of studyStudy language YearWSType of blockBlock owner