Semester: 5
ECTS: 6
Lectures: 30
Practice sessions: 30
Independent work: 120
Module Code: 24-00-524-E
Semester: 5
ECTS: 6
Lectures: 30
Practice sessions: 30
Independent work: 120
Module Code: 24-00-524-E
Module title:
Java programming 2
Module overview:
This module introduces students to the advanced Java concepts of multithreading, concurrency, networking and reflection and promotes deeper understanding of the language itself.
This module is an optional module for Software Engineering subspecialisation, builds on Java 1 module from previous semester and provides students with skills and knowledge required for Java Web Programming module in the next semester. When chosen, this module will contribute significantly to students development as professionals in the respective fields.
Students will learn:
• multithreading, concurrency, networking and reflection concepts and frameworks.
• how to use Remote Procedure Calls (RPCs) and Java Naming and Directory Interface (JNDI).
• advanced means of Serialization process.
• JavaFX GUI library with using MVC and Observable design patterns.
The module is taught in Java. The module assessment is based on individual student projects. In these projects, students must create Java application to the given specifications.
Literature:
Essential reading:
1. Horstmann, C. (2020) Core Java Volume II - Advanced Features: 1. 11th edn. London: Pearson.
Recommended reading:
1. Bloch, J. (2017) Effective Java. 3rd edn. Boston: Addison-Wesley Professional.
Further reading:
1. Evans, K.J. (2012) The Well-Grounded Java Developer: Vital techniques of Java 7 and polyglot programming. 1st edn. Shelter Island: Manning Publications.