Stud.IP Uni Oldenburg
University of Oldenburg
04.07.2022 05:09: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
Lehrenden, Die im Modul (Authorized examiners)
Schönberg, Christian (Module responsibility)
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.

Professional competence:
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 paradigms


Methodogical 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 problems
 

Social 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.
Reader's advisory

Essential:

Lecture Notes (made available either in printed form or via Stud.IP during the course of the lecture)

 

Good secondary literature:

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
At the end of the Semester.
Portfolio / Klausur / mündl. Prüfung