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 , see german version

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. Main focus is a software project management view on the complete application life cycle and on a fully integrated software development pipeline. Within this course we will try to link many (technical) learnings from other courses together for a big picture on software project management (ALM, testing, requirements engineering, dispersed and distributed software teams…). This course focuses on agile models and agile organizations.

Methodology

Lecture, practice, self-study and feedback

Learning outcomes

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

  • ...to understand and explain the integration of software projects into a modern software company's organization form
  • ...to value benefits and risks of working with dispersed and distributed software teams form a project management view
  • ...to describe software requirements using story mapping and user stories
  • ...to build a simple fully integrated development pipeline for a practical software project (continuous integration and deployment

Course contents

  • Modern forms of organizations in the field of software companies
  • Dispersed & distributed software development teams from a project management viewpoint
  • Software specification within a modern development pipeline; story mapping, sprints vs. continuous workflow
  • SW project management using fully integrated development environments (e.g. Microsoft Azure DevOps)
  • SW project management: backlogs, team planning, grooming, analytics, continuous integration and deployment

Prerequisites

Project management knowledge in theory and practice on the level of a technical bachelor study program.

Literature

  • Bernd Oesterreich / Claudia Schröder (2017): Das kollegial geführte Unternehmen, Verlag Franz Vahlen
  • Bernd Oesterreich / Claudia Schröder (2019): Agile Organisationsentwicklung: Handbuch zum Aufbau anpassungsfähiger Organisationen, Verlag Franz Vahlen
  • Niels Pfläging (2014): Organisation für Komplexität, Redline Verlag
  • Amy C. Edmondson (2019): The Fearless Organization, Wiley
  • Carl Newport (2016): Deep Work: Rules for Focused Success in a Distracted World, Grand Central Publishing

Assessment methods

  • Exercise: Building an integrated development pipeline: 40%
  • Written exam (online in moodle): 60%
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.

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.
  • xplain 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

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

Course description

The course provides information about frameworks at different levels of software development using theory blocks on selected software components such as frontend, integration, backend and persistence. In addition, individual exercises are required, which put the presented topics in a practical manner and in relation to currently frequently used frameworks and technologies.

Methodology

Individual exercises, group exercises, submissions and lectures.

Learning outcomes

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

  • Prepare technology decisions as communication and presentation documents.
  • Make a decision in favor of a technology or a framework for a given problem and be able to argue it conclusively.
  • Understand the abstractions behind framework implementations.
  • Make and express incidental technology decisions based on objective criteria.

Course contents

  • Asynchronous vs. synchronous communication patterns
  • Single Page Applications vs. traditional server side view rendering
  • Event stores and message queues
  • Relational and No-SQL persistence
  • Service composition with orchestration and choreography
  • Reactive development pattern

Prerequisites

Bachelor in Computer Science

Literature

  • Can be found in Moodle

Assessment methods

  • Exercises
  • Tests
Module 2.2 Artificial Intelligence (MOD22)
German / kMod
6.00
-
Data Science (DAS)
German / ILV, FL
3.00
2.00

Course description

The course provides an introduction to applications and methods of data science, with a focus on unsupervised learning methods such as clustering or association rule mining and collaborative filtering, data projection methods, and anomaly/outlier detection, and an overview on supervised methods. The LVA covers the complete data science process, using process models such as Fayyad's Knowledge Discovery in Databases process or the CRISP-DM (Cross-industry standard process for data mining) and other data science process models.

Methodology

Lecture and exercises

Course contents

  • Data projection / Dimensionality reduction
  • Clustering
  • Collaborative Filtering
  • Data visualisation
  • Anomaly detection / Outlier detection

Prerequisites

Basic knowledge of statistics (important basics are repeated)

Assessment methods

  • Exercises and final exam
Machine Learning (MLE)
German / ILV, FL
3.00
2.00

Course description

The course offers an introduction to the methods of machine learning, with a special focus on supervised learning methods, up to current topics such as deep learning. The course covers the entire analysis process, from the data processing to the evaluation of the models.

Methodology

Lecture and working on practical examples

Learning outcomes

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

  • To recognize and define problems in data analysis as a machine learning task
  • select appropriate methods for data processing and select a suitable learning algorithm
  • assess quality and practical viability of models and results

Course contents

  • Overview on unsupervised and supervised learning methods, as well as their fields of application
  • Overview on feature extraction methods, for multi-modal content (image, audio, text, ..)
  • Methods of Data Pre-processing: Encoding, Normalization / Standardization, Corelation Analysis, Feature / Attribute Selection
  • Functionality of popular machine learning algorithms: k-NN, Naive Bayes, Decision Trees, Random Forests, Perceptron and Neural Networks, Support Vector Machines
  • Ensemble Learning
  • Deep Learning
  • Evaluation of machine learning models: experiment setup, key figures for the assessment of performance, significance analysis, cost functions

Prerequisites

Basic knowledge in statistics, basic knowledge in one of the programming languages Java / R / Matlab / Python

Literature

  • Tom Mitchell "Machine Learning", Christopher M. Bishop "Pattern Recognition"

Assessment methods

  • continuous assessment, final exam.
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

Course description

This course consists of two parts. The first part is focusing on advanced topics in project management. It is based on PMI standard, concentrating on the process groups ‘Execution’, ‘Monitoring and Controlling’ and ‘Closing’. Special topics of this course are international and intercultural aspects in virtual and dispersed teams. The second part is the first in a series of courses directly connected to the master thesis. In this course you will pick/decide on a project for the upcoming courses "Master Project" and "Master Thesis", state a first version of the research question(s)/hypothesis of the work and establish required project infrastructure (communication, reporting, legal issues, etc.). The goal is to complete the pre-project phase in order to be able to start working on the project without further delay at the beginning of the 3rd semester (or even before the summer, if desired).

Methodology

Lecture, Practice, Self-Study, Presentations, Case studies Kick-off, individual coaching

Learning outcomes

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

  • start working on the final project without further delay at the beginning of the 3rd semester.
  • … name relevant cultural dimensions in international IT projects;
  • … assess international projects with reference to its risks;
  • … describe the different consequences when working with virtual and dispersed teams;
  • … define and work with adequate controlling tools in projects;

Course contents

  • Advanced IT project management with focus on internationality, interculturality and virtuality:
  • Diversity and complexity in international IT projects
  • Controlling-Tools in projects (Project Score Card)
  • Risk management in international IT projects
  • Monitoring and reviews in international IT projects
  • Project selection master thesis, project infrastructure

Prerequisites

Avdvanced IT project management 1 (1st semester) Project Management basics

Literature

  • see German version

Assessment methods

  • Continuous assessment, optional final exam

Anmerkungen

none

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

Course description

The aim of this Machine Learning 2 lecture is to apply machine learning methods directly in a hands-on project. First of all, the setup of such a project is presented to outline the general process. Then the students devote themselves to their own projects of their own choice and work out possible solutions and machine learning methods. During the course, the status quo of the individual projects is repeatedly presented to the other students - with the goal of receiving helpful input for further development. The final result will be presented and discussed at the end of the lecture.

Methodology

Elaboration of your own machine learning project with discussion and presentation.

Learning outcomes

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

  • to grasp real-world problems and to solve them with suitable machine learning methods.
  • define suitable methods to solve certain problem settings and to challenge approaches by discussing them.
  • to present their results to others and to present results in a comprehensible manner.
  • to formulate milestones in the conception of machine learning approaches.

Course contents

  • Development of milestones in the implementation process of machine learning methods
  • Conception of solution approaches for machine learning methods
  • Self-critical reflection on difficulties throughout the process
  • Practice presenting and defeinding the results in front of an audience

Prerequisites

Programming skills in typical machine learning programming languages (freely selectable) and knowledge of machine learning basics

Literature

  • Freely available data sets: https://medium.com/towards-artificial-intelligence/best-datasets-for-machine-learning-data-science-computer-vision-nlp-ai-c9541058cf4f

Assessment methods

  • 10%: Project documentation
  • 60%: Elaboration, results and evaluation of the project work
  • 30%: Presentation and evaluation of the final results of the project work
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

Module 3.1B - Elective Courses B (MOD3B)
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
Microservice Architektur (MSA)
German / ILV, FL
3.00
2.00

Course description

Students will be introduced into the topic of Microservice Architecture. By developing an example system issues regarding design, deployment, testing and operations can be learned by doing.

Methodology

During the course it will be switched between practical and theoretical sessions. The development of the example system is organized in smaller projects realized by the students.

Learning outcomes

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

  • Design and evaluate Microservice Architectures
  • Create solutions for implementation, operation, and deployment of systems following Microservice Architectures
  • Knowing of how to assure quality in Microservice Architectures

Course contents

  • Design Microservice Architectures (DDD, patterns)
  • Implementation (Message based systems, database dependencies, frameworks)
  • Deployment and operations of systems build on Microservice Architecture (containerization, monitoring, logging)
  • Methods of quality assurance in Microservice Systems

Assessment methods

  • 30% collaboration during the course
  • 40% projects
  • 30% exam
Programming of Voice Interfaces (PVI)
German / ILV, FL
3.00
2.00
Service Oriented Computing (SOC)
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