|
|
Module code: DBWINFO-140 |
|
- |
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]
|
DBWINFO-140 (P730-0025) Business Informatics, Bachelor, SO 01.10.2024
, study year 1, mandatory course
|
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; OReilly; 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]
|