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

flag

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, regulation 01.10.2026
Module code: PIB-PR3
SAP-Submodule-No.:
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.
P221-0033
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.
5
Semester: 3
Mandatory course: yes
Language of instruction:
German
Assessment:
Project work with:
Presentation: 45 minutes, followed by a technical discussion
Term paper: 20-30 DIN-A4-pages

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

PIB-PR3 (P221-0033) Applied Informatics, Bachelor, regulation 01.10.2022 , semester 3, mandatory course
PIB-PR3 (P221-0033) Applied Informatics, Bachelor, regulation 01.10.2026 , semester 3, mandatory course
Workload:
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 10.10.2026]
Recommended as prerequisite for:
PIB-ASE Automated Software Development
PIB-BCI Brain-Computer Interface
PIB-CCOM Cloud Computing
PIB-CUDA Introduction to Parallel Programming with CUDA
PIB-EISP
PIB-EJB Enterprise Java Beans
PIB-EPDA
PIB-EWM Design Patterns
PIB-GDEV Game Design and Development
PIB-HCI Human Computer Interaction
PIB-INET Internet Technologies
PIB-IOTA
PIB-IROB Software Development for Collaborative Industrial Robots
PIB-MADA Mobile Application Development (Android)
PIB-MSIA
PIB-NETW .NET Concepts and Tools
PIB-NSIM
PIB-NUMS Numerical Software
PIB-PA Project Work
PIB-PITS IT Security Project


[updated 21.10.2026]
Module coordinator:
Prof. Dr.-Ing. Martin Burger
Lecturer: Prof. Dr.-Ing. Martin Burger

[updated 28.09.2016]
Learning outcomes:
After successfully completing this module, students will be able to apply systematic methods of error diagnosis as well as modern development tools to ensure the quality, efficiency, and readability of their software.
 
- They will be able to apply the principles of the Clean Code to ensure the readability and maintainability of their code.
 
- Students will be able to design object-oriented software solutions using established design patterns to create flexible and maintainable architectures.
 
- They will be able to integrate advanced libraries and frameworks into their software projects to extend their functionality.
 
- They will be able to implement test automation and embed it in continuous integration to continuously ensure the quality and stability of their software.
 
- They will be able to analyze and refactor existing software in order to improve its structure and efficiency.
 
- Students will be able to apply problem-solving strategies to independently translate complex programming tasks into executable and robust code.
 
- They will be able to plan and carry out a software project as part of a team, using agile practices and version-controlled collaboration.

[updated 23.10.2026]
Module content:
The focus is on designing robust object-oriented architectures, improving software quality through refactoring and error diagnosis, and the use of modern tools and collaborative workflows in software development. The following topics will be taught based on the Java programming language and other relevant tools and consolidated through practical exercises:
 
Advanced object-oriented programming:
 
- Design patterns for structuring flexible systems (e.g., Singleton, Factory, Observer)
 
Clean code and software quality:
 
- Principles of clean code, including naming conventions, comments in code, method structure and simple design
 
Refactoring, tools, and error diagnosis:
 
- Systematic debugging and runtime analysis using the IDE debugger (breakpoints, watchpoints, call stack inspection)
- Refactoring to improve readability and maintainability
- Support from modern IDEs (e.g., IntelliJ IDEA)
 
Test automation and continuous integration:
 
- Unit and integration tests with JUnit
- Continuous integration with build tools (Maven) and CI pipelines (GitHub Actions)
 
Libraries and frameworks:
 
- Google Guava for extended functionalities and data structures
- jOOQ for type-safe and fluent-style SQL queries
 
Version control and collaborative development:
 
- Git basics: Repository management, branching and merge strategies
- Collaborative work and continuous integration in the team workflow
 
Project work:
 
- Team project lasting several weeks that integrates and deepens the content taught

[updated 23.10.2026]
Teaching methods/Media:
- Transparencies
- Projector
- Blackboard
- Course-specific website

[updated 13.11.2024]
Recommended or required reading:
- Bloch, J. (2017). Effective Java (3rd Edition). Addison-Wesley Professional
 
- Farley, D. (2010). Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation. Addison-Wesley Professional.
 
- Farley, D. (2021). Modern Software Engineering: Doing What Works to Build Better Software Faster. Addison-Wesley Professional.
 
- Martin, R. C. (2008). Clean Code: A Handbook of Agile Software Craftsmanship, 2nd Edition. Pearson.
 
- Skoulikari, A. (2024). Learning Git: A Hands-On and Visual Guide to the Basics of Git. O"Reilly Media.
 
- Ullenboom, C. (2025). Java ist auch eine Insel: Einführung, Ausbildung, Praxis. Rheinwerk.

[updated 23.10.2026]
[Sat Oct 31 13:13:03 CET 2026, CKEY=pp3, BKEY=pi3, CID=PIB-PR3, LANGUAGE=en, DATE=31.10.2026]