Software Engineering: Curriculum

Here you'll find detailed information on current courses of the Master's degree program Software Engineering. Please note that due to ongoing updates not all courses of the program might be fully displayed.

1. Semester

Name ECTS
SWS
Module 1.1 Software Development (MOD11)
German / kMod
6.00
-
Advanced Software Testing (AST)
German / ILV, FL
3.00
2.00

Course description

Software testing for advanced students with many practical exercises. The focus is on test case creation and test coverage for wither black- and whitebox testing. In addition test quality ist covered by residual error rate measurement and testing maturity.

Methodology

The learning outcomes are step by step through practical exercises developed. For each topic is a brief introduction, then the self-study-phase at home, and then one learning bloc together in the classroom.

Learning outcomes

After passing this course successfully students are able to ...

  • derive test cases professionally and methodically and assess their quality.
  • assess the testing maturity of an organization and estimate the number of remaining defects.

Course contents

  • Black Box Testing (how to derive high-quality test cases from the requirements)
  • White Box Testing (how to derive high quality test cases from the requirements plus the code, how to measure their quality objectively, how to measure the number of remaining defects objectively)
  • Testing Maturity (how to improve and measure the testing maturity of a testing organization)

Prerequisites

Basic knowledge in programming Basic knowledge in software testing

Literature

  • Self-study material will be provided b the teachers.

Assessment methods

  • Course immanent assessment method
Software Development (SWE)
German / ILV, FL
3.00
2.00

Course description

The course informs about the concepts of advanced software development on the basis of theoretical blocks on selected core competences like abstraction, refactoring and dealing with dependencies. In addition, individual exercises are called for to consolidate the presented topics in practice and make them understandable.

Methodology

Seminar and distant learning

Learning outcomes

After passing this course successfully students are able to ...

  • to find and argue a technically appropriate solution for a given problem.
  • to understand existing legacy source code and to optimize it in response to given problems.
  • to increase the quality of developed software.

Course contents

  • see german version

Prerequisites

Programming skills in object-oriented languages ​​such as Java or C #. Basic understanding of GOF Design Patterns. Basic understanding of Clean Code principles

Assessment methods

  • three individual exercises; Tests with practical and theoretical part;
Module 1.2 (MOD12)
German / kMod
6.00
-
Functional Programming (FPR)
German / ILV, FL
3.00
2.00

Course description

Aspects of functional programming (lambda expressions, higher-order functions,...) have recently been added to several mainstream programming languages (C++, Java, Python,...). This course shows how to use functional concepts to create elegant, concise and testable code.

Methodology

Presentations, Learning Journal, Group Projects, Mob Programming

Learning outcomes

After passing this course successfully students are able to ...

  • understand and apply the basics of the lambda calculus.
  • use functional paradigms like recursion, generalization and parametrization.
  • describe domains using types and function signatures.
  • test functional programs.
  • write complete (console) applications in a functional style.

Course contents

  • Lambda Calculus
  • F#
  • Functional Paradigms (Recursion, Generalization, Parametrization, etc)
  • Type Driven Development
  • Testing of functional applications
  • Functional architecture for application development

Prerequisites

Basic programming knowledge

Literature

  • Functional Programming Using F# (Michael R. Hansen)
  • Domain Modeling Made Functional (Scott Wlaschin)

Assessment methods

  • Individual Contributions (Journals, Assignments) - 35%
  • Final Project - 65%
Software Architecture (SWA)
German / ILV, FL
3.00
2.00

Course description

The course informs about the central role software architecture plays for the longevity of software. The focus is on the application core (A-software) which makes up the main part of big software systems. The competences in the areas architecture quality, architecture development and architecture documentation are enhanced by theoretical and practical exercises. Whenever possible, practice examples from the industry are used.

Methodology

Self study (knowledge + practical exercises) In class, there are Clarifications, if needed Group exercises Presentations of the results achieved at home Individual exercises Exchange of experiences made in the industry

Learning outcomes

After passing this course successfully students are able to ...

  • analyze a software architecture for strengths and weaknesses
  • design a high quality software architecture
  • document a software architecture, especially by choosing the right views

Course contents

  • The importance of software architecture for maintainability
  • Quality criteria of software architectures
  • Architecture development methods
  • Algorithmic architecture development
  • Interface design
  • Documentation of software architectures
  • Role of the software architect

Prerequisites

Software development on the bachelor level Professional experience in software engineering

Literature

  • Mahbouba Gharbi / Arne Koschel / Andreas Rausch / Gernot Starke, Basiswissen für Softwarearchitekten -Aus- und Weiterbildung nach iSAQB-Standard zum Certified Professional for Software Architecture – Foundation Level, dpunkt-Verlag, Heidelberg, 2017
  • https://martinfowler.com/articles/microservices.html
  • Cesare Pautasso, Olaf Zimmermann, Mike Amundsen, James Lewis, and Nicolai Josuttis, Microservices in Practice, IEEE Software, 2017
  • Johannes Siedersleben, Moderne Software-Architektur, dpunkt.verlag, Heiderlberg, 2004

Assessment methods

  • Grading of individual practice in class
  • Grading of group practice in class
  • Grading of home practice
Module 1.3 Human Factors (MOD13)
German / kMod
6.00
-
Computer Science and Humans (IUM)
German / ILV, FL
3.00
2.00

Course description

Computer science has a far-reaching impact on people's lives. On the one hand, information technologies open up completely new possibilities, on the other hand they also present risks. From the point of view of computer science, the course deals with these issues. On the basis of partly provocative statements, various aspects are illuminated. For example, the question arises as to what extent the health data of patients should be collected centrally, since this could have positive as well as negative effects.

Methodology

Seminar flipped classroom E-Learning

Learning outcomes

After passing this course successfully students are able to ...

  • name positive and negative effects of computer science on the life of humans
  • describe at least one element in detail (positive and negative effects)

Course contents

  • see german version

Prerequisites

Bachelor´s degree in computer science or similiar degree

Literature

  • various sources, are announced during the lesson

Assessment methods

  • Continuous assessment

Anmerkungen

none

User Centered Design (UCD)
German / ILV, FL
3.00
2.00

Course description

There are numerous software systems on the market, but many of them cause problems for the user – in the professional as well as the private domains. This costs time, money and damages the company’s image, sometimes it even causes severe safety risks. But how can we develop systems which serve the requirements and fulfil the expectations of the real users? The user centered design approach is taught, which can serve this purpose.

Methodology

This course focuses on directly applicable theoretical basics as well as numerous practical exercises and examples

Learning outcomes

After passing this course successfully students are able to ...

  • explain the necessity and advantages of a user centred design process and apply them to a concrete project
  • explain the user centred design process itself in details, plan development phases accordingly and apply them to a concrete project
  • apply a selection of state of the art methods in concrete projects

Course contents

  • Usability Engineering und UX processes, methods and their application, problems and risks
  • Cognitive and social psychology basics of UX

Prerequisites

Basic knowledge of usability enginering and UX phases are assumed A reader will be provided asap, with which students can check and complement their knowledge

Literature

  • tbd

Assessment methods

  • The blended learning activities will be continuously checked Final written exam
Module 1.4 Language and Design Paradigmes (MOD14)
German / kMod
6.00
-
Advanced Modeling (AMD)
German / ILV, FL
3.00
2.00

Course description

The course conveys profound UML-knowledge. Contrary to customary UML-courses, it includes 1) many examples from the software industry 2) non-UML-methods, if relevant in the industry 3) modeling methods, not just model “grammar”. In particular, the order in which the diagrams are created, the relationships between the diagrams and the interconnections with other steps in software engineering (e.g. code generation and model based testing) are explored. There are several crosscutting case studies used in all of the teacher’s courses to show the connections of the software engineering disciplines in more detail.

Methodology

Self study, including compulsory and optional exercises In class, there are 1) Clarifications, if needed 2) Presentations of the results achieved at home 3) Group exercises 4) Individual exercises 5) Exchange of experiences made in the industry For details, see ppt “Training Approach Blended Learning” in Moodle.

Learning outcomes

After passing this course successfully students are able to ...

  • develop UML models showing both statical and dynamical features of IT-systems.
  • assess the quality of models
  • develop a modeling method suitable for their project and to put it into practice successfully

Course contents

  • Structure modeling
  • Behavior modeling
  • Modeling methods

Prerequisites

Basic knowledge of object oriented programming

Literature

  • Weilkiens, Tim / Oestereich, Bernd: „UML 2 - Zertifizierung: Fundamental, Intermediate und Advanced"

Assessment methods

  • Course-immanent assessment method
Requirements Engineering (RQE)
German / ILV, FL
3.00
2.00

Course description

The course conveys profound requirements engineering knowledge based on industry examples, covering both requirements elicitation and requirements documentation. In requirements elicitation the focus is on adapting the method to the various types of requirements. In requirements documentation the focus is on changeability, traceability and avoiding the pitfalls of natural language requirements. There are several crosscutting case studies used in all of the teacher’s courses to show the connections of the software engineering disciplines in more detail.

Methodology

Self study, including compulsory and optional exercises In class, there are 1) Clarifications, if needed 2) Presentations of the results achieved at home 3) Group exercises 4) Individual exercises 5) Exchange of experiences made in the industry For details, see ppt “Training Approach Blended Learning” in Moodle.

Learning outcomes

After passing this course successfully students are able to ...

  • elicit the various requirements types using suitable methods
  • structure the body of requirements appropriately
  • document each requirement without ambiguity

Course contents

  • Requirements elicitation
  • Requirements structuring
  • Requirements documentation

Prerequisites

Practical experience in requirements engineering is helpful.

Literature

  • Chris Rupp, Requirements-Engineering und -Management: professionelle, iterative Anforderungsanalyse für die Praxis (Hanser, 2009)
  • Klaus Pohl, Chris Rupp, Requirements Engineering Fundamentals (Rocky Nook, 2011)
  • The work of Carl Wiegers is pretty old now, but still worth reading: http://www.processimpact.com/pubs.shtml#requirements
  • The Sophist group publishes a lot of good material on requirements engineering: https://www.sophist.de/downloads/

Assessment methods

  • Course-immanent assessment method
Module 1.5 Software Engineering and Management 1 (MOD15)
German / kMod
6.00
-
Advanced IT Project Management 1 (PM1)
German / ILV, FL
3.00
2.00

Course description

This course shows the enhanced aspects of project management for software engineers. The content of this course is based on the PMI Standard and concentrates on the process groups ‘Initiation’ and ‘Planning’. The theory will be elaborated and verified on the elements of a project CANVAS. Enhancements of corporate contexts as well as methods and techniques will be given. This course focuses on software projects.

Methodology

Lecture, Practice, Self-Study and Feedback, Presentations, Case studies

Learning outcomes

After passing this course successfully students are able to ...

  • … name basic processes, phases and standards of software project management
  • … elaborate on Project CANVAS and its elements for a case project
  • … understand the economic and organizational context of projects

Course contents

  • Project Management Basics, Standards, Processes, Project CANVAS
  • CANVAS topics for presence: WHAT - Out of Scope, Background, Problem, Objectives, Deliverables; WHO - Team, Stakeholders; HOW - Approach, Risks, Dependencies; WHEREIN - Constraints, Quality; WHEREBY - Time, Finance, Resources
  • Context areas for distance learning: WHAT - Business Case and Problem definition; Business Organization; WHO - HR-Management in software development and Management of Competencies; HOW - Dependencies and Approaches (classic, agile, hybrid); WHEREIN - Corporate Strategy and “Architecture”; WHEREBY - Resource Management and Cost Management in IT projects

Prerequisites

Basic project management experiences in theory and practice

Literature

  • Jakoby, W. (2019): Projektmanagement für Ingenieure, 4. Auflage, Springer Verlag
  • PMBOK (2017) - A Guide to the Project Management Body of Knowledge (PMBOK® Guide) - 6th Edition
  • Kor, R. / Bos, J. / van der Tak, T. (2018): Project Canvas: Innovative Methoden für professionelles Projektmanagement, Schäffer-Pöschel Verlag

Assessment methods

  • Work on and present results for the five CANVAS areas (5 x 5 marks = 25 marks)
  • Preparation of five context related tasks including ongoing feedback and final presentation (5 x 5 marks = 25 marks)
  • Written exam (50 marks)
Leading distributed, multicultural and international teams (FMT)
German / ILV, FL
3.00
2.00

Course description

The course imparts the students theoretical knowledge of leading intercultural, dispersed and international (IDI-) teams and prepares them to implement it in a vocational context. The personal reflection, the work on case studies and the practise of opportunities of behaviour take center stage.

Methodology

Seminar and distant learning

Learning outcomes

After passing this course successfully students are able to ...

  • analyse problems, chances and dynamics in IDI-teams (e.g. on the basis of cultural dimensions and identities) and to reflect the own behaviour.
  • outline the role of leadership in the different stages of team development (e.g. by Tuckman) particulary in IDI-teams and derive relevant leading actions.
  • explain leadership strategies in IDI-teams (e.g. functions and instruments) and develop them by means of simple cases.

Course contents

  • Multi-, inter- and transculturality
  • Cultural aspects (e.g. cultural dimensions by Hofstede, cultural identity)
  • Factors in international personnel management
  • Characteristics of dispersed teams
  • Leadership styles and tools of project teams
  • Criterias and competences for successful leadership of IDI-teams

Prerequisites

none

Literature

  • Cronenbroeck, Wolfgang (2008): Projektmanagement, Verlag Cornelsen, Berlin
  • Kellner, Hedwig (2000): Projekte konfliktfrei führen. Wie Sie ein erfolgreiches Team aufbauen, Hanser Wirtschaft
  • Majer Christian/Stabauer Luis (2010): Social competence im Projektmanagement - Projektteams führen, entwickeln, motivieren, Goldegg-Verlag, Wien
  • weitere Literatur zu interkulturellen, verteilten und internationalen Teams

Assessment methods

  • Course immanent assessment method and exame (grade)

Anmerkungen

none

2. Semester

Name ECTS
SWS
Module 2.1 Software Quality (MOD21)
German / kMod
6.00
-
Advanced Software Quality Management (SQM)
German / ILV, FL
3.00
2.00

Course description

In the first two units, the students get an overview of software quality management. In the two units after that, there are deep dives into software estimation quality and into the visualization of management data. Most of the case studies are taken from industrial practice. There are several crosscutting case studies used in all of the teacher’s courses to show the connections of the software engineering disciplines in more detail.

Methodology

Self study (knowledge + practical exercises) In class, there are Clarifications, if needed Group exercises Presentations of the results achieved at home Individual exercises Exchange of experiences made in the industry

Learning outcomes

After passing this course successfully students are able to ...

  • 1) create high quality results
  • 2) review other person’s results
  • 3) reflect on the method used and adapt it to the concrete project
  • in all fields listed under „learning outcomes“

Course contents

  • Writing a software quality plan
  • Analytical, constructive and reparative measures in software quality management
  • Quality measures against requirements defects, implementation defects and usage defects
  • Quality measures concerning processes, people and tools
  • Poka Yoke
  • Quality Function Deployment (QFD)
  • Failure Modes and Effects Analysis (FMEA)
  • Effort estimation methods (expert estimate, Story Points, Classic Function Points, Delphi-Method)
  • Risk estimation methods
  • Definition of metrics in software engineering (LOC, McCabe, Halstead, …)
  • Visualization of metrics in software engineering

Prerequisites

Quality management and software development on the bachelor level. Professional experience in software engineering

Literature

  • Reading tips can be found in the slidedeck

Assessment methods

  • Grading is based on individual practice in class, group practice in class and home practice
Software Frameworks (SFR)
German / ILV, FL
3.00
2.00

Learning outcomes

After passing this course successfully students are able to ...

  • explain the concept of software frameworks
  • design a software framework including the abtract and real casses, using Role Based Modeling
  • using an OSGi implementation to implement an application or Framework

Course contents

  • OSGi, Role Model Based Framework Design, API Design

Prerequisites

Java

Module 2.2 Artificial Intelligence (MOD22)
German / kMod
6.00
-
Data Science (DAS)
German / ILV, FL
3.00
2.00
Machine Learning (MLE)
German / ILV, FL
3.00
2.00
Module 2.3 Human Machine Interaction (MOD23)
German / kMod
6.00
-
Human Computer Interaction and Communications (MMI)
German / ILV, FL
3.00
2.00

Course description

This lesson covers the following topics - Communication in software projects with special respect to human factors - Human factors in man machine communication

Methodology

Seminar Distant learning

Learning outcomes

After passing this course successfully students are able to ...

  • develop and to hold an elevator pitch
  • describe a simple communication scheme to overcome resistances
  • explain consiousnes and unconsiusness aspects of human communication
  • explain a method for UX and SCRUM teams to cooperate successfully
  • explain basics of HCI

Course contents

  • Communication exercises
  • Elevator Pitch
  • Resistances
  • Emotional Intelligence
  • Body language
  • NLP meta-model language patterns
  • Cooperation of UX and SCRUM teams in agile SWE
  • Basics of HCI

Prerequisites

- Thorough knowledge of the software development cycle - Basics of human communication

Literature

  • Karsten Bredemeier. Schwarze Rhetorik - Macht und Magie der Sprache.Goldmann 2002
  • Samy Molcho. Körpersprache des Erfolges. Ariston 2005
  • A Edmüller, T Wilhelm. Manipulationstechniken erkennen und abwehren. Haufe 2005
  • A Schwarz, Ronald Schweppe. Praxisbuch NLP. Südwest 2000
  • Gerd Siemoneit-Barum und Robert Griesbeck. Die Kunst, mit dem Tier im Menschen umzugehen:Geheimnisse eines Dompteurs, Gräfe und Unzer Edition, 2007
  • Seibert, Pucher. Usability und User Experience: Prüfungsvorbereitung zum Certified Professional for Usability Engineering and User Experience Design

Assessment methods

  • Continuous assessment

Anmerkungen

Keine

Interaction Design (IXD)
German / ILV, FL
3.00
2.00

Course description

The Interaction Design course teaches important aspects of software engineering, the iterative user centered design process in terms of user interface development. In this his course students develop their own user interface prototypes in groups.

Methodology

Problem und Project Based Learning

Learning outcomes

After passing this course successfully students are able to ...

  • design simple user interfaces
  • explain the importance of user interface design
  • plan user interface design processes within software development processes

Course contents

  • Interaction Design und Interface Design
  • How to develop a user interface in a project

Prerequisites

Principles of computer science, principles of user centered design

Literature

  • see German version

Assessment methods

  • Continuous assessment

Anmerkungen

Students work mainly on real world projects. The supervision is done on an individual basis in synchronous or asynchronous settings and is supported by modern communication tools. The course is partially or not displayed in the timetable and no attendance records are kept.

Module 2.4 Advanced Computing (MOD24)
German / kMod
6.00
-
High-Performance Computing (HPC)
German / ILV, FL
3.00
2.00

Course description

The course gives an introduction to GPGPU (General Purpose Computation on Graphics Processing Unit) programming using OpenCL

Learning outcomes

After passing this course successfully students are able to ...

  • Implement basic OpenCL applications
  • Explain the basic architecture of a GPU and associated parallel programming models

Course contents

  • OpenCL programming
  • GPU architecture

Prerequisites

C++, C# or Java programming skills

Assessment methods

  • Self evaluation exercises
  • Programming project
  • Final presentation
Parallel Programming (PPR)
German / ILV
3.00
2.00

Course description

Parallel programming with multithreading

Methodology

Lecture with practical exercises and homework.

Learning outcomes

After passing this course successfully students are able to ...

  • understand and work with concurrency primitives (e.g. Monitors) in real-world scenarios
  • explain and countermeasure problems such as race conditions or deadlocks
  • analyze sequential programs for potential speedup via parallel execution as well as the parallel implementation
  • implement loops and divide-and-conquer algorithms in a parallel way such that the overall-performance increases
  • understand concepts (Threadpools, Data-parallelism and task parallelism) typically found in parallel programming frameworks such as OpenMP, CilkPlus, TPL and Java Parallel streams
  • understand and countermeasure practical performance problems such as oversubscription and false sharing

Course contents

  • Development and application of parallel programming concepts. In practial exercises those concepts will be realized in C# and C. Differences and similarities between concrete implementations (as found in CilkPlus or OpenMP) are explained and discussed.

Prerequisites

C basic knowledge, very good programming skills in at least one programming language

Literature

  • Michael McCool et al, Structured Parallel Programming: Patterns for Efficient Computation. Morgan Kaufmann, 2012
  • Tim Mattson et al, Patterns for Parallel Programming. Addison-Wesley Professional, 2004

Assessment methods

  • Course immanent assessment method
Module 2.5 Software Engineering and Management 2 (MOD25)
German / kMod
6.00
-
Advanced IT Project Management 2 (PM2)
German / ILV, FL
3.00
2.00
Legal Aspects of Information Technology (RAI)
German / ILV, FL
3.00
2.00
Module External Lecture (MOD20)
German / kMod
6.00
-

3. Semester

Name ECTS
SWS
Module 3.1 Mandatory Courses (MOD31)
German / kMod
6.00
-
Module 3.1A - Elective Courses A (MOD3A)
German / kMod
3.00
-
Advanced Web Technologies (AWT)
German / ILV, FL
3.00
2.00

Course description

The purpose of this course is to give you an overview of the use of current web technologies

Methodology

seminar, online teaching

Learning outcomes

After passing this course successfully students are able to ...

  • To implement a single-page web app using of Angular/React/Vue.js
  • To distinguish the individual technologies according to strengths and weaknesses as well as areas of application

Course contents

  • Rich Internet Applications (HTML / JavaScript-based): Programming Languages & Frameworks
  • JS Libraries/Frameworks: Angular JS / React / Vue.js
  • Mobile Hybrid-App Development: Cordova / Ionic Framework

Prerequisites

HTML and JavaScript

Literature

  • Preston Prescott, HTML5: Discover How To Create HTML 5 Web Pages With Ease (HTML5 CSS3 JavaScript)
  • Florian Franke, Apps mit HTML5, CSS3 und JavaScript: Für iPhone, iPad und Android
  • Semmy Purewal, Learning Web App Development
  • Sebastian Springer, Node.js: Das umfassende Handbuch. Serverseitige Webapplikationen mit JavaScript entwickeln
  • Oliver Zeigermann, React:Die praktische Einführung in React, React Router und Redux
  • Christoph Höller, Angular: Das umfassende Handbuch zum JavaScript-Framework. Einführung, Praxis, TypeScript und ECMAScript 2015. Ab Angular 2

Assessment methods

  • Test + Exercises
Augmented Reality (AMR)
German / ILV, FL
3.00
2.00

Course description

Augmented reality (AR) is the connection of real and virtual content. In this course, the technological basics and practical applications of AR are presented.

Learning outcomes

After passing this course successfully students are able to ...

  • differ between different augmented reality systems, characterize them (image-based, sensor-based) and appropriately select them for different use cases (e.g. stationary installation, mobile application, etc.)
  • analyze and evaluate different image-based tracking methods (marker, NFT, SLAM, 3D tracking) regarding their tracking performance
  • and eventually select existing AR software frameworks (e.g. Metaio SDK, vuforia SDK, etc.) in order to use them in their own projects or implement their own AR applications. In order to achieve this, students will implement a mobile AR app with predefined functions (tracker change, content change, simple animation, calculations of tracking pose, etc.)

Course contents

  • AR basics & tracking methods: marker based-, NFT-, SLAM- and 3D trackingn- Rendering, OpenGL, CG, materials, textures, transparency, 3D enginesn- GPS based AR, audio AR, AR glasses (Google Glass, Epson)n- AR SDKs and frameworksn- Interaction, animation, picking

Prerequisites

Basic knowledge of computer graphics and computer vision as well as basic mathematical knowledge are an advantage.

Assessment methods

  • Regular assessment, practical exams, final exam.
Concepts of Programming Languages (SPK)
German / ILV, FL
3.00
2.00

Course description

Concepts of Progamming languages, programming paradigms and foundations of compilers and interpreters

Methodology

Lecture part, exercises, interviews

Learning outcomes

After passing this course successfully students are able to ...

  • apply a programming paradigm in programming languages
  • write simple programs in functional and logical programming languages
  • design and use regular expressions and grammars
  • design and use context free grammars
  • implement a simple compiler for a tiny language using a parser generator

Course contents

  • Imperative programming paradigm: procedural, object oriented
  • Declarative programming paradigm: functional, logic
  • Halting problem, turing machines
  • Regular languages, grammars, expressions
  • Context free languages, grammars
  • Basics of compiler construction, static program analysis
  • Concurrency, parallelism

Prerequisites

C basic knowledge, function parameters

Literature

  • Carlo Ghezzi, Mehdi Jazayeri. Programming Language Concepts.
  • John C. Mitchell. Concepts in Programming Languages.
  • Alfred V. Aho, Monica S. Lam, Ravi Sethi, Jeffrey D. Ullman. Compilers: Principles, Techniques, and Tools.
  • Donald Knuth. The Art of Computer Programming.

Assessment methods

  • 60% exercises, 10% participation, 30% final test. At least half of the points must be achieved.
Introduction to Graph Databases (GDB)
English / ILV, FL
3.00
2.00

Course description

The first part of the course will introduce the context for GDB, and how they situate within the NoSQL paradigm. The main concepts, tools, and techniques for GDB will be studied, with emphasis in the property graph data model and Neo4j (and its accompanying query language, Cypher). The course will also cover the basics of graph processing frameworks, aimed at processing very large graphs. Finally, RDF graphs will be covered, as an alternative to the property graph data model.

Learning outcomes

After passing this course successfully students are able to ...

  • Model and query a GDB
  • Evaluate the convenience or not of using such database instead of (typically) a relational database, for a given problem.

Course contents

  • Introduction to Big Data and the NoSQL paradigm.
  • Fundamentals of graph databases. Basic concepts. The property graph data model.
  • Property graph databases vs. Relational databases. Property graph Implementations: Sparksee, HypergraphDB, Neo4j.
  • Neo4j data model. The Cypher query language. Basic and advanced queries. Analytical queries in Neo4j.
  • An overview of graph processing frameworks
  • Another graph data model: RDF graph stores. Property graphs vs RDF graph stores.

Prerequisites

Knowledge of relational databases and SQL

Literature

  • R. Angles. A Comparison of Current Graph Database Models. In Proceedings of ICDE Workshops, pages 171{177, Arlington, VA, USA, 2012.
  • Renzo Angles and Claudio Gutierrez. Survey of graph database models. ACM Comput. Surv., 40(1):1:1{1:39, 2008.
  • NoSQL Databases. http://nosql-database.org/.
  • Grzegorz Malewicz, Matthew H. Austern, Aart J.C Bik, James C. Dehnert, Ilan Horn, Naty Leiser, and Grzegorz Czajkowski. Pregel: a system for large-scale graph processing. In Proceedings of the 2010 ACM SIGMOD International Conference on Management of data, pages 135{146. ACM, 2010.
  • O. Hartig. Reconciliation of RDF* and property graphs. CoRR, abs/1409.3288, 2014.
  • Ian Robinson, Jim Webber, and Emil Eifrem. Graph Databases. O'Reilly Media, Inc., 2013.
  • A. Vaisman and E. Zimanyi. Data Warehouse Systems: Design and Implementation. Springer, 2014.

Assessment methods

  • The fi nal course grade will be the weighted average of the marks of the three projects: 6/16 * P1 + 3/16 * P2 + 7/16 * P3. Regardless the weight, the presentation of the three projects is mandatory.
Introduction to Quantum Computing (EQC)
German / ILV, FL
3.00
2.00
Machine Learning 2 (MAL2)
German / ILV, FL
3.00
2.00
Mental Power for IT Disciplines (MIT)
German / ILV, FL
3.00
2.00

Course description

In thus course you will learn to use the whole capacity of your brain to solve problems and to achieve any goal you wish

Methodology

Seminar and distant learning

Learning outcomes

After passing this course successfully students are able to ...

  • formulate goals you want to achieve which are suitable for your subconsious mind
  • practicing basic elements of attention meditation
  • focus the conscious mind on goals to align unconscious processes

Course contents

  • Processing of information in the human brain
  • Consciousness and unconsciousness parts of the brain
  • Gaining consciousness use of primarily unconsciousness parts of the brain
  • Using skill full meditation techniques to improvebusiness performance

Prerequisites

none

Literature

  • James Borg, "Mind Power", Pearson 2010
  • Kazuo Inamori, "A Compass to Fulfillment", Mc Graw Hill 2010
  • Heinz Hilbrecht, "Meditation und Gehirn", Schattauer, 2010
  • Richard Bandler, "Veränderung des subjektiven Erlebens", Jungfern Verlag 2007, Original: "Using your brain - for a change", Real People Press, U.S. (August 1985)
  • Henry P. Stapp, "Mindful Universe" 2nd Edt Springer 2011
  • Chade-Meng Tan "Search Inside Yourself" Optimiere dein Leben durch Achtsamkeit, Goldmann Verlag 2015
  • David Eagleman, "Incognito: The Secret Lives of the Brain", Canons 2016
  • Leonard Mlodinow, "Subliminal: How Your Unconscious Mind Rules Your Behavior", Vintage books 2013

Assessment methods

  • Continuous assessment

Anmerkungen

none

Software Measurement and Testautomatisation (SWM)
German / ILV, FL
3.00
2.00
Module 3.1B - Elective Courses B (MOD3B)
German / kMod
3.00
-
Advanced Design Patterns for Smartphone Applications (DSM)
English / ILV, FL
3.00
2.00

Course description

Design Patterns for the Development of Smartphone Apps for Android and iOS.

Learning outcomes

After passing this course successfully students are able to ...

  • name and describe the unique characteristics of the respective platform's programming language
  • explain advanced design patterns for smartphone applications and apply them in their apps
  • find appropriate 3rd party frameworks for feature implementations and correctly integrate them in their app architecture

Course contents

  • Android and iOS app design patterns.

Prerequisites

Basic software development experience with Java / C/C++ / Objective C.

Literature

  • Mike Rogers (2015): Swift Recipes: Problem-Solution Approach, ApressDave Smith (2015): Android Recipes: A Problem-Solution Approach for Android 5.0, Apress

Assessment methods

  • End exam
Advanced Web Technologies (IVS)
German / ILV, FL
3.00
2.00
Application Lifecycle Management (ALM)
German / ILV, FL
3.00
2.00
Cloud Platforms and IT Security (CIS)
German / ILV, FL
3.00
2.00

Course description

Quality and security of clouds is a requirement for their successful use. With regard to quality, numerous standards are available. We study these standards with regard to clouds and assess their quality and usefulness. With regard to security, we identify and analyze typical security problems in cloud setups. Further, we discuss difference to ordinary deployments as well as countermeasures. Within projects, we apply our previously gained knowledge.

Methodology

Presentation and practical exercisees

Learning outcomes

After passing this course successfully students are able to ...

  • identify suitable standards for cloud solution.
  • define meaningful criteria for cloud solutions.
  • choose adequate cloud solutions/platforms.
  • describe and identify security issues in cloud solutions.
  • identify and implement adequate countermeasures.

Course contents

  • Introduction to standards in the context of clouds
  • Assessment of standards in the context of couds
  • Introduction to security matters and solutions in the context of clouds

Prerequisites

Basic understanding of standards programming knowledge

Literature

  • https://staraudit.org/
  • https://cloudsecurityalliance.org/

Assessment methods

  • Exercise and presentation of evaluation criteria
  • Project on assessment of cloud service
  • Exercise measurement of side channels
  • Short reports on content
Internet Vision (IVS)
German / ILV, FL
3.00
2.00

Course description

Lecture with exercises on Computer Vision, Computer Graphics and Multimedia applied to the Internet.

Learning outcomes

After passing this course successfully students are able to ...

  • After passing this course successfully students are able to• generate new content (i.e. images) from internet data• interpret images based on their content described by image features• apply combinations of deep learning and biddata applications on digital images

Course contents

  • Internet Vision Fundamentals
  • Big Data – Internet of Things
  • Deep Learning
  • Lifelogging
  • Object Recognition
  • Scene Completion and other applications

Prerequisites

Matlab and Visual Computing

Literature

  • Hays J., Alexei A. Efros (2007). Completion Using Millions of Photographs.. ACM Transactions on Graphics (SIGGRAPH 2007). vol. 26, No. 3.
  • Jing Y. and Baluja S.. (2008) :PageRank for Product Image Search, 17th International IEEE World Wide Web Conference.
  • Snavely N., Seitz S.M., Szeliski R. (2006). Photo tourism: exploring photo collections in 3D, ACM SIGGRAPH, pp 835-846.
  • Stone, Z.; Zickler, T.; Darrell, T., Toward Large-Scale Face Recognition Using Social Network Context, Proceedings of the IEEE , vol.98, no.8, pp.1408,1415, Aug. 2010

Assessment methods

  • Course immanent assessment method
  • Presentation and life demo of selected topics
  • Review of scientific reports/papers
  • Evaluation/Tests of available tools on the web
Microservice Architektur (MSA)
German / ILV, FL
3.00
2.00
Programming of Voice Interfaces (PVI)
German / ILV, FL
3.00
2.00
Service Oriented Computing (SOC)
German / ILV, FL
3.00
2.00
Software Architecture (SWA)
German / ILV, FL
3.00
2.00
Module 3.2 Master's Project (MOD32)
English / iMod
24.00
-
Master´s Project (MPR)
English / PRJ
21.00
14.00

Course description

The course provides space for preparatory activities for the Master Thesis carried out as a project. The results are incorporated in the Master Thesis.

Learning outcomes

After passing this course successfully students are able to ...

  • After successful completing the course, students are able to… write their master thesis in accordance to the rules of project management.

Course contents

  • Preparatory work for the Master's thesis For example:
  • Programming activities
  • Theoretical work
  • Participation in IT projects
  • Evaluation of technologies and products with scientific methods
  • Feasibility study, prototype development

Prerequisites

Courses of the first and second semester of the master software development

Literature

  • For the project, relevant textbooks/Journals

Assessment methods

  • Assessment of the master’s thesis project

Anmerkungen

The supervision is done on an individual basis in synchronous or asynchronous settings and is supported by modern communication tools. The course is not displayed in the timetable and no attendance records are kept.

Scientific Work (WIA)
German / SE
3.00
2.00

4. Semester

Name ECTS
SWS
Modul 4.1 (MOD41)
German / kMod
6.00
-
Docker / Swagger (DOSW)
German / ILV, FL
3.00
2.00

Course description

This course will provide an overview of the capabilities and possibilities of using container-based virtualization technologies, examining Docker as an example in detail. Additionally Swagger, a framework to create RESTful services/APIs will be explored.

Methodology

Seminar and distant learning

Learning outcomes

After passing this course successfully students are able to ...

  • understand and explain container-based virtualization
  • decide when (not) to use container-based virtualization
  • understand and explain RESTful services/APIs
  • create a RESTful service/API using Swagger

Course contents

  • overview of different virtualization technologies
  • Docker, a container-based virtualization technology
  • RESTful services/APIs
  • Swagger, a framework to create RESTful services/APIs

Prerequisites

none (basic knowledge of IT/concept of virtualization helpful)

Literature

  • https://docs.docker.com/get-started/
  • https://swagger.io/getting-started/

Assessment methods

  • Continuous assessment
Mental Power for IT Disciplines (MIT)
German / ILV, FL
3.00
2.00

Course description

In thus course you will learn to use the whole capacity of your brain to solve problems and to achieve any goal you wish.

Methodology

- Seminar - Distant Learning

Learning outcomes

After passing this course successfully students are able to ...

  • formulate goals you want to achieve which are suitable for your subconsious mind
  • practicing basic elements of attention meditation
  • focus the consciousness mind on goals to align unconscious processes

Course contents

  • Processing of information in the human brain
  • Consciousness and unconsciousness parts of the brain
  • Gaining consciousness control of primarily unconsciousness parts of the brain
  • Using skill full meditation techniques to improvebusiness performance

Prerequisites

Completion of all previous MSE courses

Literature

  • James Borg, "Mind Power", Pearson 2010
  • Kazuo Inamori, "A Compass to Fulfillment", Mc Graw Hill 2010
  • Heinz Hilbrecht, "Meditation und Gehirn", Schattauer, 2010
  • Richard Bandler, "Veränderung des subjektiven Erlebens", Jungfern Verlag 2007, Original: "Using your brain - for a change", Real People Press, U.S. (August 1985)
  • Henry P. Stapp, "Mindful Universe" 2nd Edt Springer 2011
  • Chade-Meng Tan "Search Inside Yourself" Optimiere dein Leben durch Achtsamkeit, Goldmann Verlag 2015

Assessment methods

  • Continuous assessment
Selected Topics in Software/App Management (AKSM)
English / ILV, FL
3.00
2.00

Course description

Indepth kowledge about the interfaces between management and IT. The viewpoints of companies, as startups and corporates and their managers and CIOs are being approached with a focus on the business aspect.

Learning outcomes

After passing this course successfully students are able to ...

  • After passing this course successfully students are able toDefine Project order, limits, context analysis• Draw Project portfolio-Management and corporate strategies• Define international technology expoitation• explain tools and approaches• Identify international technology expoitation networks

Course contents

  • • 2 VO Project management• 4 VO Project portfolio management• 1 VO Basics Technology exploitation• 4 VO From Prototype to an international high performance product• 1 VO Technology expoitation networks for companies • 2 VO Jury-Pitch• 14 FL Feedback

Prerequisites

Basics Project Management

Literature

  • Chapters from: Blue Ocean Strategy, W. Chan Kim and Renée Mauborgne• „A Guide to the Project Management Body of Knowledge“, Project Management Institute (PMI)Additional German literature:• Kapitel „Technologievermarktung“ aus E-Book Technologiemanagement (siehe Unterlagensheet, Vorbereitung vor der LV empfohlen)• Standard Projekthandbuch der PMA (Projekt Management Austria)• „Projektmanagement: Leitfaden zum Management von Projekten, Projektportfolios und projektorientierten Unternehmen“, Gerold PATZAK und Günter RATTAY• „pm baseline 3.0“, Projekt Management Austria (PMA)

Assessment methods

  • Course immanent assessment method and group assignment

Anmerkungen

Hands-on course: Experts from corporates/startups are being invited/visited

Module 4.2 Master Thesis (MOD42)
German / iMod
24.00
-
Master's Thesis (MT)
German / SO
21.00
0.00

Course description

In the course each student develops a technical and practically oriented master’s thesis on a scientific level

Methodology

selfdirected learning

Learning outcomes

After passing this course successfully students are able to ...

  • After passing this course successfully students are able to
  • draft a master’s thesis on a scientific level
  • acquire knowledge in the field of the master’s thesis in self-study
  • answer a research question in the field of software engineering
  • explain the bigger picture
  • assess the significance and weight of influential factors, data, and other relevant information
  • present the relevant state of technology and company environment
  • analyze and present the larger technical and socio-economic context

Course contents

  • Independent scientific work of students under the guidance of the supervisor

Prerequisites

Completion of all previous courses of the study program

Literature

  • relvant references for the topic of the master´s thesis

Assessment methods

  • Assessment of the master’s thesis by first and second advisor

Anmerkungen

The course is not displayed in the timetable and no attendance records are kept.

Thesis Seminar (SMT)
German / SE
3.00
2.00