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


Programming 2

Module name (EN):
Name of module in study programme. It should be precise and clear.
Programming 2
Degree programme:
Study Programme with validity of corresponding study regulations containing this module.
Applied Informatics, Bachelor, ASPO 01.10.2017
Module code: PIB-PR2
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.
4V+2P (6 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: 2
Mandatory course: yes
Language of instruction:
Written exam

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

DFIW-PRG2 (P610-0190) Computer Science and Web Engineering, Bachelor, ASPO 01.10.2019 , semester 4, mandatory course
PIB-PR2 (P221-0032) Applied Informatics, Bachelor, ASPO 01.10.2017 , semester 2, 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).
90 class hours (= 67.5 clock hours) over a 15-week period.
The total student study time is 240 hours (equivalent to 8 ECTS credits).
There are therefore 172.5 hours available for class preparation and follow-up work and exam preparation.
Recommended prerequisites (modules):
PIB-INF1 Informatics 1
PIB-PR1 Programming 1

[updated 07.11.2022]
Recommended as prerequisite for:
PIB-ASE Automated Software Development
PIB-PA Project work
PIB-PR3 Programming 3
PIB-PRA Work Experience Phase
PIB-SWT Software Engineering
PIB-VS Distributed Systems
PIB-WEB Principles of Web Development

[updated 03.04.2024]
Module coordinator:
Prof. Dr. Markus Esch
Prof. Dr. Markus Esch
Dipl.-Inf. Christopher Olbertz
Dipl.-Ing. Wolfgang Pauly
Dipl.-Ing. Achim Pick
Dipl.-Inf. Regina Piontek

[updated 07.11.2022]
Learning outcomes:
This module is based on the "Programming 1" module and will help students deepen their knowledge and understanding of object-oriented programming.
After successfully completing this module, students will be able to explain and apply advanced concepts of object-oriented programming in Java. They will be able to design and implement object-oriented solutions.
Based on the theoretical knowledge of data structures from the Informatics 1 module, students will be able to implement and apply different data structures. In addition, they will also be able to select the data structure that is most suitable for an application scenario.
In addition to deepening their knowledge of object-oriented programming, students will learn the basic concepts of the programming language C. They will be able to name the concepts and characteristics of imperative programming in C. Students will be able to explain the differences, as well as the advantages and disadvantages of object-oriented and type-safe languages such as C and will be able to apply this knowledge to the implementation of C programs.
Within the framework of practical exercises, students will learn to work together in small groups.

[updated 24.02.2018]
Module content:
- Advanced object-oriented programming concepts in Java
  o Recursion
  o Generics
  o Annotations
  o Reflection
  o Lambda expressions
  o Implementation aspects of trees, graphs and lists
  o Java Collections Framework
  o Streams
- C programming
  o The structure of a C program
  o Expressions, operators, control structures and functions
  o Basic and structured data types
  o Pointers and pointer arithmetic
  o Storage management
  o Preprocessors, compilers, linkers, debuggers, make
  o Using libraries
  o Complex data structures in C

[updated 24.02.2018]
Teaching methods/Media:
Lecture slides, annotated lecture slides as a script, program examples, project work

[updated 24.02.2018]
Recommended or required reading:
G. KRÜGER, H. HANSEN: Java Programmierung _ Das Handbuch zu Java 8, O´Reilly, 2014
R-G. URMA, M. FUSCO, A.MYCROFT: Java 8 in Action: Lambdas, Streams, and Functional-Style Programming, Manning Pubn, 2014
A. SOLYMOSI, U. GRUDE: Grundkurs Algorithmen und Datenstrukturen in JAVA: Eine Einführung in die praktische Informatik, Springer, 2014
B.W. KERNIGHAN, D. RITCHIE: The C Programming Language, Prentice Hall, 2nd Edition, 1988
D. Logofatu: Einführung in C: Praktisches Lern- und Arbeitsbuch für Programmieranfänger, Springer, 2. Auflage, 2016

[updated 24.02.2018]
Module offered in:
SS 2024, SS 2023, SS 2022, SS 2021, SS 2020, ...
[Tue Apr 23 07:30:50 CEST 2024, CKEY=pp2, BKEY=pi2, CID=PIB-PR2, LANGUAGE=en, DATE=23.04.2024]