Stud.IP Uni Oldenburg
University of Oldenburg
23.09.2021 10:43:48
inf031 - Object-oriented Modelling and Programming (Complete module description)
Original version English Download as PDF
Module label Object-oriented Modelling and Programming
Module code inf031
Credit points 9.0 KP
Workload 270 h
Institute directory Department of Computing Science
Applicability of the module
  • Bachelor's Programme Business Informatics (Bachelor) > Basiscurriculum
  • Bachelor's Programme Computing Science (Bachelor) > Basismodule
  • Bachelor's Programme Economics and Business Administration (Bachelor) > Studienrichtung Wirtschaftsinformatik
  • Bachelor's Programme Mathematics (Bachelor) > Nebenfachmodule
  • Dual-Subject Bachelor's Programme Computing Science (Bachelor) > Basismodule
Responsible persons
Winter, Andreas (Authorized examiners)
Lehrenden, Die im Modul (Authorized examiners)
Boles, Dietrich (Authorized examiners)
Prerequisites
Skills to be acquired in this module
Ziele des Moduls:
Die Objektorientierung stellt heutzutage den Stand der Technik in der Softwareentwicklung dar. Gegebene Problemstellungen werden dabei mit Hilfe objektorientierter Analyse- und Entwurfsverfahren zunächst in ein objektorientiertes Modell und anschließend in ein objektorientiertes Programm überführt. Ziel des Moduls
„Objektorientierte Modellierung und Programmierung“ ist das Erlernen grundlegender Konzepte der objektorientierten Modellierung mit Hilfe der UML als Modellierungsnotation und der objektorientierten Programmierung mit der Programmiersprache Java. Die Studierenden sollen nach Abschluss des Moduls selbstständig objektorientierte Programme auf der Grundlage von Java für die Lösung mittelgroßer Probleme entwickeln können.

Fachkompetenzen
Die Studierenden:
  • kennen grundlegende Konzepte der objektorientierten Modellierung und UML als Modellierungsnotation
  • kennen grundlegende Konzepte der objektorientierten Programmierung mit Java
  • kennen die Terminologie der objektorientierten Modellierung und Programmierung und verwenden die entsprechenden Begriffe präzise bei Diskussionen
  • können beschreiben, was ihnen vorgelegte objektorientierte Programme tun
  • entwickeln selbstständig Modelle und Programme für die Lösung mittelgroßer Probleme
  • untersuchen systematisch eigene und fremde Modelle und Programme auf Fehler
  • setzen moderne Entwicklungsumgebungen zum Modellieren und Entwickeln von Programmen ein
  • kennen die Unterschiede zwischen dem imperativen, objektorientierten, funktionalen und logischen Programmierparadigma


Methodenkompetenzen
Die Studierenden
  • entwickeln selbstständig Programme für gegebene Probleme durch konsequente Anwendung der Konzepte der objektorientierten Modellierung und Programmierung
  • übertragen praktische Erfahrungen in der Programmentwicklung auf neue Aufgaben


Sozialkompetenzen
Die Studierenden
  • vermitteln die Struktur und Wirkungsweise selbst entwickelter Modelle und Programme an andere
  • präsentieren selbstständig entwickelte Lösungen vor Gruppen


Selbstkompetenzen
Die Studierenden
  • organisieren sich beim Entwickeln von Programmen für kleine und mittelgroße Probleme der Informatik
  • beziehen die Konzepte des objektorientierten Programmentwurfs in ihr Handeln ein
Module contents
Im ersten Teil werden grundlegende Konzepte der objektorientierten Modellierung und Programmierung vermittelt:
  • Modelle und Modellierung
  • UML-Klassendiagramme
  • Use-Cases
  • Klassen und Objekte
  • Datenkapselung
  • Vererbung
  • Polymorphie und dynamisches Binden
  • Ausnahmebehandlung
  • Generizität


Im zweiten Teil werden wichtige Konzepte und Klassen der JDK-Klassenbibliothek vorgestellt und die Klassen bei der Lösung mittelgroßer Probleme eingesetzt:
  • Java-Collection-API
  • IO und Streams
  • GUI-Anwendungen mit JavaFX
  • Parallele Programmierung mit Threads


Im dritten Teil werden weitere Programmierparadigma eingeführt und mit dem objektorientierten Paradigma verglichen:
  • Funktionale Programmierung (Java-Lamdas, Haskell, Scala)
  • Logische Programmierung (Prolog)

Ergänzt wird der Vorlesungsteil um einen umfassenden Übungsteil, in dem insbesondere die vermittelten Inhalte an praktischen Beispielen umgesetzt werden.
Reader's advisory
Eessentiell:
  • Skript (wird entweder in gedruckter Form oder in elektronischer Form über das StudIP fortlaufend in der Vorlesung zur Verfügung gestellt)


Gute Sekundärliteratur:
  • Heide Balzert: Lehrbuch der Objektmodellierung: Analyse und Entwurf mit der UML 2, Spektrum Akademischer Verlag
  • Dietmar Ratz, Jens Scheffler, Detlev Seese, Jan Wiesenberger: Grundkurs Programmieren in Java, Carl Hanser Verlag.
  • Christian Ullenboom: Java ist auch eine Insel: Programmieren lernen mit dem Standardwerk für Java- Entwickler, Rheinwerk Computing
  • Christian Ullenboom: Java SE 8 Standard-Bibliothek: Das Handbuch für Entwickler, Rheinwerk Computing
Links
Language of instruction German
Duration (semesters) 1 Semester
Module frequency SoSe
Module capacity unlimited
Modullevel / module level BC (Basiscurriculum / Base curriculum)
Modulart / typ of module Pflicht / Mandatory
Lehr-/Lernform / Teaching/Learning method V+Ü
Vorkenntnisse / Previous knowledge
Course type Comment SWS Frequency Workload of compulsory attendance
Lecture
4 SuSe 56
Exercises
2 SuSe 28
Total time of attendance for the module 84 h
Examination Time of examination Type of examination
Final exam of module
Genaue Prüfungsformalitäten werden in der Veranstaltung bekannt gegeben.
KL