Module label | Object-oriented Modelling and Programming |
Modulkürzel | inf031 |
Credit points | 9.0 KP |
Workload | 270 h |
Institute directory | Department of Computing Science |
Verwendbarkeit des Moduls |
|
Zuständige Personen |
Schönberg, Christian (Module responsibility)
Lehrenden, Die im Modul (Prüfungsberechtigt)
|
Prerequisites | |
Skills to be acquired in this module | Object orientation represents the state of the art in software development today. Given problems are first transformed into an object-oriented model and then into an object-oriented program with the help of object-oriented analysis and design methods. Aim of the module "Object-Oriented Modelling and Programming" is to learn basic concepts of object-oriented modelling using UML as the modelling notation and object-oriented programming using the Java programming language. After completing the module, students should be able to independently develop object-oriented programs based on Java for solving medium-sized problems. The students: - know basic concepts of object-oriented modelling and UML as modelling notation - know basic concepts of object-oriented programming with Java - know the terminology of object-oriented modelling and programming and use the appropriate terms precisely in discussions - can describe what object-oriented programmes presented to them do - independently develop models and programmes for solving medium-sized problems - systematically examine their own and other people's models and programmes for errors - use modern development environments for modelling and developing programmes - know the differences between the imperative, object-oriented, functional, logical and rule-based programming paradigmsMethodogical competence: The students: - independently develop programmes for given problems by consistently applying the concepts of object-oriented modelling and programming - transfer practical experience in programme development to new tasks - independently develop programmes with concurrency - can independently apply known solution methods to complex problemsSocial competence: The students: -communicate the structure and mode of action of self-developed models and programmes to others - present independently developed solutions to groups
Self-competence:The students: - organise themselves when developing programmes for small and medium-sized problems in computer science - incorporate the concepts of object-oriented programme design in their actions |
Module contents | In the first part, basic concepts of object-oriented modelling and programming are taught: - Models and modelling - UML class diagrams - Classes and objects - data encapsulation - inheritance - Polymorphism and dynamic binding - Exception handling - Genericity In the second part, important concepts and classes of the JDK class library are introduced and the classes are used in solving medium-sized problems: - Java Collection API - IO and Streams - GUI applications with JavaFX - Parallel programming with threads In the third part, advanced solution strategies are presented and other programming paradigms are introduced and compared with the object-oriented paradigm: - Backtracking, Branch and Bound, Greedy - Local Search, Evolutionary Algorithms - Functional programming (e.g. Java-Lamdas, Standard ML) - Logical programming (e.g. Prolog) - Rule-based programming (e.g. Drools) The lecture part is supplemented by a comprehensive exercise part, in which in particular the taught contents are implemented in practical examples. |
Literaturempfehlungen | Essential: Lecture Notes (made available either in printed form or via Stud.IP during the course of the lecture) Good secondary literature:
|
Links | |
Language of instruction | German |
Duration (semesters) | 1 Semester |
Module frequency | SoSe |
Module capacity | unlimited |
Modullevel / module level | |
Modulart / typ of module | |
Lehr-/Lernform / Teaching/Learning method | V+Ü |
Vorkenntnisse / Previous knowledge |
Form of instruction | Comment | SWS | Frequency | Workload of compulsory attendance |
---|---|---|---|---|
Lecture | 4 | SoSe | 56 | |
Exercises | 2 | SoSe | 28 | |
Präsenzzeit Modul insgesamt | 84 h |
Examination | Prüfungszeiten | Type of examination |
---|---|---|
Final exam of module | At the end of the Semester. |
Portfolio / Klausur / mündl. Prüfung |