Programming 2 (PR2)
2. Semester
10 ECTS | 8 SWS
Written Exam 90 Minutes (K90)
Develop complex software: You build on the object-oriented programming concepts in Java introduced in Programming 1 and apply modern Java techniques to develop complex software independently and as part of a team.
Contents
- Object-Oriented Programming / Object Class (Review) / Polymorphism (Advanced Concepts)
- Inner Classes and Lambdas
- Input/Output
- Exception Handling
- Generics (Fundamentals)
- Collection Framework
- Important Data Structures (Hash Tables, Trees, Tries, Graphs)
- Sorting
- Fundamentals of Concurrency (Threads)
Competencies
Students are able to
- evaluate different concepts in Java,
- apply all important concepts of Java,
- develop non-trivial object-oriented programs in Java,
- work in small teams and present their work,
- estimate the complexity of algorithms,
- evaluate and implement different algorithms and dynamic data structures with regard to their applications.
Literature
- C. Ullenboom, Java ist auch eine Insel, 18. Auflage. Bonn: Rheinwerk Computing, 2026.
- M. Kofler, Java: der Grundkurs, 5. Ausgabe. in Rheinwerk Computing. Bonn: Rheinwerk, 2025.
- J. Bloch, Effective Java, Third edition. Boston: Addison-Wesley, 2018.
- M. Naftalin und P. Wadler, Java Generics and Collections. Sebastopol: O’Reilly Media, Inc, 2009.
- G. Saake und K.-U. Sattler, Algorithmen und Datenstrukturen, 6.Auflage. Heidelberg: dpunkt.verlag, 2021.
Lecturer
- Prof. Dr. Oliver Hummel
- Prof. Dr.-Ing. Sandro Leuchter
- Prof. Thomas Smits
- Prof. Dr. Markus Gumbel
- Prof. Dr. Frank Dopatka
- Prof. Dr. Jessica Steinberger
Recommended Previous Knowledge
Module Details
| Semester |
2 |
| Lecture Language |
German |
|
Frequency
|
Every Term
|
| Credit Points (ECTS)
|
10 |
| Course Coordinator |
Prof. Thomas Smits |
| Duration |
1 Semester |
|
Course Achievement
|
None |
|
Prerequisite for exam
|
Compulsory Assignment (PU) |
|
Exam
|
Written Exam 90 Minutes (K90) |
Weekly Hours (SWS)
| Lecture |
4 SWS |
| Lab |
4 SWS |
| Sum |
8 SWS |
Work Load
| Lecture |
60 h |
| Lab |
60 h |
| Self Study |
100 h |
| Assignments |
80 h |
| Sum |
300 h |