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

flag

Programming

Module name (EN):
Name of module in study programme. It should be precise and clear.
Programming
Degree programme:
Study Programme with validity of corresponding study regulations containing this module.
Business Informatics, Bachelor, SO 01.10.2024
Module code: DBWINFO-140
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.
P730-0025
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.
-
ECTS credits:
European Credit Transfer System. Points for successful completion of a course. Each ECTS point represents a workload of 30 hours.
10
Academic Year: 1
Mandatory course: yes
Language of instruction:
German
Assessment:
Written exam (150 minutes, including 70 minutes for Programming I, 50 minutes for Programming II, and 30
minutes for Algorithms and Data Structures)
One point is awarded for each minute of processing time.

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

DBWINFO-140 (P730-0025) Business Informatics, Bachelor, SO 01.10.2024 , study year 1, 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).
The total student study time for this course is 300 hours.
Recommended prerequisites (modules):
None.
Recommended as prerequisite for:
Module coordinator:
Prof. Dr. Andreas Karrenbauer
Lecturer: Prof. Dr. Andreas Karrenbauer

[updated 01.09.2021]
Learning outcomes:
Programming I:
 
After successfully completing this part of the module, students will be familiar with the basics of programming. They will be familiar with all concepts of imperative programming and be able to apply them independently to new algorithmic problems.
 They will be familiar with the most important object-oriented concepts, especially the principle of data encapsulation, and will have internalized the fundamentals of object-oriented programming. Students will have a good command of a modern object-oriented language such as Java and a simple integrated development environment
such as BlueJ.
 
Programming II:
 
Students will be familiar with advanced concepts of object-oriented programming such as inheritance and polymorphism. They will be proficient in the use of a modern object-oriented language, such as Java, and a professional integrated development environment, such as Eclipse.
They will be familiar with the corresponding class library and can use it for their own purposes.
 Students will be able to implement platform-independent graphical user interfaces while taking into account the basic principles of user-friendly design.
They will understand the importance of fundamental UML (Unified Modeling Language) concepts for object-oriented modeling, particularly class and object diagrams.
They will be able to implement a given OO model.
 
Algorithms and datastructures:
 
Students will be familiar with basic data structures, in particular lists, trees, and graphs, and their use, as well as selected algorithms from various areas of application.
  
They will be able to apply these algorithms to examples. Students will be able to select suitable criteria from competing algorithms; in particular, they will learn how to use the algorithms and data structures provided in a class library appropriately.
 
 
 They will be able to estimate the complexity of simple algorithms and will have mastered the use of asymptotic complexity notation.

[updated 23.09.2025]
Module content:
Programming I:
 
1. Overview of programming paradigms and programming languages
2. Problem specification, algorithm design, implementation
3. Syntax and semantics
4. Introduction to object-oriented analysis and modeling
5. Object-oriented principles and concepts: data encapsulation and information hiding, classes and objects, methods and  
   constructors
6. Imperative concepts: basic types, variables, operators, expressions; arrays
7. Imperative control structures: branches, loops; iteration versus recursion
8. References; assignment and equality
9. Parameter transfer mechanisms
10. Character strings; input and output streams
11. Memory cleanup
12. Tools of a simple integrated development environment (IDE): Editor, compiler, interpreter
Continuous practical exercises using the Java language and a simple integrated development environment, such as BlueJ.
  
Programming II:
 
1. Inheritance and polymorphism
2. Abstract classes and interfaces
3. Exceptions and exception handling
4. Assertions; Pre- and postconditions
5. Class library from Java
6. Files and streams
7. Advanced IDE tools, especially test and debugging
Continuous practical exercises with Java and a professional integrated development environment, such as Eclipse.
 
Algorithms and datastructures:
1. Basic data structures: lists (especially as stacks or queues), trees, graphs
2. Selected algorithms: search, sort, graph algorithms
3. Computing time and storage space as measures of effort; asymptotic effort estimation


[updated 23.09.2025]
Teaching methods/Media:
Lecture, practical exercises

[updated 23.09.2025]
Recommended or required reading:
• Barnes, David J./Kölling, Michael: Java lernen mit BlueJ: Objects first – Eine Einführung in die
  objektorientierte Programmierung; Pearson; München
• Goll, Joachim/Heinisch, Cornelia: Java als erste Programmiersprache – Grundkurs für Hochschulen; Springer Vieweg;
  Wiesbaden
• Inden, Michael: Der Weg zum Java-Profi – Konzepte und Techniken für die professionelle Java-Entwicklung; dpunkt;
  Heidelberg
• Krüger, Guido/Hansen, Heiko: Java-Programmierung – Das Handbuch zu Java 8; O’Reilly; Köln
• Saake, Gunter/Sattler, Kai-Uwe: Algorithmen und Datenstrukturen – Eine Einführung mit Java; dpunkt; Heidelberg
• Schiedermeier, Reinhard: Programmieren mit Java; Pearson Studium; München
• Schiedermeier, Reinhard: Programmieren mit Java II; Pearson Studium; München
• Ullenboom, Christian: Java ist auch eine Insel – Einführung, Ausbildung, Praxis; Rheinwerk; Bonn

[updated 23.09.2025]
[Thu Oct 16 17:05:02 CEST 2025, CKEY=apk, BKEY=aswwinf, CID=DBWINFO-140, LANGUAGE=en, DATE=16.10.2025]