Modulhandbuch

Communication and Media Engineering (CME)

Computer Science

Recommended prior knowledge

General background in computer science

Teaching Methods Vorlesung/Labor
Learning objectives / competencies

Upon successful completion of this module, the student will be able to:
• Perform Object-Oriented Analysis (OOA) using UML
• Transfer of analysis models to Object-Oriented Design (OOD) models using UML and Design Patterns
• Create high quality Java applications following the principles of object oriented programming.
• Understand the main concepts of object oriented programming: encapsulation, inheritance and polymorphism
• Apply abstract data types and polymorphism and work with them meaningfully
• Implement UML class diagrams in Java as a programming language.

Duration 2
SWS 6.0
Effort
Classes 90 h
Self-study / group work: 150 h
Workload 240 h
ECTS 8.0
Requirements for awarding credit points

Object Oriented Software Development: written exam K60 (50 %)
OO Software Development Lab: Lab has to be passed
Objected Oriented Modeling (UML): written exam K60 (50 %)
Both exams must be passed.

Credits and Grades

8 CP, grades 1 ... 5

Responsible Person

Prof. Dr. rer. nat. Klaus Dorer

Recommended Semester 1+2
Frequency jedes Semester
Usability

Master-Studiengang CME

Lectures

Objected Oriented Modelling (UML)

Type Vorlesung
Nr. E+I402
SWS 2.0
Lecture Content

System analysis

  • Modeling in UML

Design

  • Architecture
  • Design Principles
  • Design Patterns
  • Anti-Patterns

1. Introduction

2. Object Oriented Analysis
2.1. Use Case
2.2. Class + Object
2.3. Activity
2.4. State
2.5. Sequence

3. Object Oriented Design
3.1. Architecture
3.2. Package
3.3. Component
3.4. Design Patterns
3.5. Anti Patterns

Literature

McLaughlin, B.D., Pollice, G., West, D., Head first object-oriented analysis and design, Beijing, Cambridge, Köln, Sebastopol, Tokyo, O´Reilly, 2007

Booch, G., Object-oriented analysis and design with applications, München, Addison-Wesley, 2007

Fowler, M., UML Distilled: A Brief Guide to the Standard Object Modeling Language, Addison-Wesley, 2004

Oestereich, B., Analyse und Design mit der UML 2.5 : objektorientierte Softwareentwicklung, München, Oldenburg, 2012

Oestereich, B., Developing software with UML: Object-Oriented Analysis and Design in Practice, Addison-Wesley, 2001

Object Oriented Software Development

Type Vorlesung
Nr. EMI400
SWS 2.0
Lecture Content

1. Introduction
2. Concepts of object oriented programming
2.1 Classes and Objects
2.2 Relationships: Associations and Inheritance
2.3 Polymorphisms
2.4 Abstract classes and interfaces
3. Unit testing
4. GUI Programming with Swing
5. Exception Handling
6. Collections Framework
7. Threads and Concurrency Framework
8. Input Output

Literature

Thinking in Java (4th Edition) 4th by Eckel, Bruce (2006)
Java ist auch eine Insel: das umfassende Handbuch von Christian Ullenboom
Java in a Nutshell von Benjamin J Evnas, David Flanagan

Online resources:
https://docs.oracle.com/javase/tutorial/
http://www.tutorialspoint.com/java/
http://www.vogella.com/tutorials/jav

OO Software Development Lab

Type Labor
Nr. EMI401
SWS 2.0
Lecture Content

1. Introduction
2. Concepts of object oriented programming
2.1 Classes and Objects
2.2 Relationships: Associations and Inheritance
2.3 Polymorphisms
2.4 Abstract classes and interfaces
3. Unit testing
4. GUI Programming with Swing
5. Exception Handling
6. Collections Framework
7. Threads and Concurrency Framework
8. Input Output

Literature

Thinking in Java (4th Edition) 4th by Eckel, Bruce (2006)
Java ist auch eine Insel: das umfassende Handbuch von Christian Ullenboom
Java in a Nutshell von Benjamin J Evnas, David Flanagan


Online resources:
https://docs.oracle.com/javase/tutorial/
http://www.tutorialspoint.com/java/
http://www.vogella.com/tutorials/java.html

Object Oriented Modelling (UML)

Type Vorlesung
Nr. EMI402
SWS 2.0
Lecture Content

Introduction
2. Object Oriented Analysis
2.1. Use Case Diagram
2.2. Class + Object Diagram
2.3. Activity Diagram
2.4. State Machine Diagram
2.5. Sequence Diagram
3. Object Oriented Design
3.1. Architecture
3.2. Package Diagram
3.3. Component Diagram
3.4. Design Patterns
3.5. Anti Patterns

Literature
  • Brett D. McLaughlin; Gary Pollice; David West, Head first object-oriented analysis and design : [a brain-friendly guide to OOA@D], 2007.
  • Grady Booch, Object-oriented analysis and design with applications, 2007.
  • Martin Fowler: UML Distilled: A Brief Guide to the Standard Object Modeling Language, Addison-Wesley, 2004.
  • Bernd Oestereich, Analyse und Design mit der UML 2.5 : objektorientierte Softwareentwicklung, 2012.