htw saar Piktogramm QR-encoded URL
Back to Main Page Choose Module Version:
emphasize objectives XML-Code


Programming 3

Module name (EN):
Name of module in study programme. It should be precise and clear.
Programming 3
Degree programme:
Study Programme with validity of corresponding study regulations containing this module.
Applied Informatics, Bachelor, ASPO 01.10.2022
Module code: PIB-PR3
The exam administration creates a SAP-Submodule-No for every exam type in every module. The SAP-Submodule-No is equal for the same module in different study programs.
Hours per semester week / Teaching method:
The count of hours per week is a combination of lecture (V for German Vorlesung), exercise (U for Übung), practice (P) oder project (PA). For example a course of the form 2V+2U has 2 hours of lecture and 2 hours of exercise per week.
2V+2P (4 hours per week)
ECTS credits:
European Credit Transfer System. Points for successful completion of a course. Each ECTS point represents a workload of 30 hours.
Semester: 3
Mandatory course: yes
Language of instruction:
Project work

[updated 24.02.2018]
Applicability / Curricular relevance:
All study programs (with year of the version of study regulations) containing the course.

PIB-PR3 (P221-0033) Applied Informatics, Bachelor, ASPO 01.10.2022 , semester 3, mandatory course
Workload of student for successfully completing the course. Each ECTS credit represents 30 working hours. These are the combined effort of face-to-face time, post-processing the subject of the lecture, exercises and preparation for the exam.

The total workload is distributed on the semester (01.04.-30.09. during the summer term, 01.10.-31.03. during the winter term).
60 class hours (= 45 clock hours) over a 15-week period.
The total student study time is 150 hours (equivalent to 5 ECTS credits).
There are therefore 105 hours available for class preparation and follow-up work and exam preparation.
Recommended prerequisites (modules):
PIB-PR1 Programming 1
PIB-PR2 Programming 2

[updated 03.08.2017]
Recommended as prerequisite for:
PIB-ASE Automated Software Development
PIB-WEB Principles of Web Development

[updated 03.04.2024]
Module coordinator:
Dipl.-Inf. Christopher Olbertz
Lecturer: Dipl.-Inf. Christopher Olbertz

[updated 28.09.2016]
Learning outcomes:
After successfully completing this module, students will:
- be able to program an application with a graphical user interface and database connection.
- understood the meaning of easy-to-read code and are able to implement what they have learned.
- can achieve versioning with Git
- understand the importance of good architecture for software and will be able to implement the architecture presented in the lecture.
- understand Java´s internationalization mechanism and be able to internationalize their programs.

[updated 24.02.2018]
Module content:
1. Basic concepts of graphical user interfaces with Swing as an example for a well-known Java framework
- Simple GUI applications
- Layout management with Swing
- Event handling
- Menus
- Dialogs
- Tables with JTable
- Internationalization
2. Connecting databases
- Introduction to Hibernate as an O/R mapper
3. JavaFX as a modern GUI framework for Java
- Structure of a JavaFX application
- Lambda expressions
- Event handling
- Collections
- Important components of JavaFX
- Styling with CSS
4. Robust object-oriented programming style
- Architectures for large software with a graphical user interface and database connection
- Checked and unchecked exceptions in Java
- Interface-based programming
- Introduction to Spring
- New features in Java 8
- Clean code

[updated 24.02.2018]
Teaching methods/Media:
Slides with notes and examples.

[updated 24.02.2018]
Recommended or required reading:
Java Swing, 2nd Edition von Brian Cole, Robert Eckstein, James Elliott, Marc Loy, Dave Wood
Java 8 - die Neuerungen: Lambdas, Streams, Date and Time API und JavaFX 8 im Überblick von Michael Inden
Javafx for dummies von Doug Lowe
Einführung in JavaFX: Moderne GUIs für RIAs und Java-Applikationen von Ralph Steyer
Java ist auch eine Insel von Christian Ullenboom
Spring & Hibernate: eine praxisbezogene Einführung von Gerald Bachlmeyr, Thomas Langer, Thorsten Lueckow, Richard Oates, Stefan Wille
Clean Code von Robert C. Martin

[updated 24.02.2018]
Module offered in:
WS 2024, WS 2023/24, WS 2022/23, WS 2021/22, WS 2020/21, ...
[Tue Jun 18 17:58:09 CEST 2024, CKEY=pp3, BKEY=pi2, CID=PIB-PR3, LANGUAGE=en, DATE=18.06.2024]