Jump to content

Master Informatik

Fast facts

  • Department

    Informatik

  • Stand/version

    2026

  • Standard period of study (semester)

    4

  • ECTS

    0

Study plan

  • Compulsory elective modules 4. Semester

Module overview

1. Semester of study

Guided Research Project
  • PF
  • 10 SWS
  • 24 ECTS

  • Number

    47581

  • Language(s)

    de

  • Duration (semester)

    1

  • Contact time

    150 h

  • Self-study

    570 h


Learning outcomes/competences

Knowledge and understanding: After successfully completing the module, students will be able to

  • understand and analyze a complex research- and/or practice-oriented problem in computer science, and
  • differentiate, select and apply scientific and practical computer science methods and procedures to solve problems
  • .

Use, application and generation of knowledge: After successfully completing the module, students will be able to

  • select, apply and evaluate suitable theoretical or conceptual approaches for processing a complex task,
  • plan and structure project tasks and organize them using suitable project management methods,document and critically reflect on results in writing, taking into account scientific standards, and
  • present and discuss results orally in front of a specialist audience
  • .

Communication and cooperation: After successfully completing the module, students will be able to

  • work effectively in a team to complete a complex research or practice-oriented task,
  • take responsibility for specific tasks and actively contribute to the success of the project, and
  • to strengthen conflict and communication skills by resolving group conflicts constructively
  • .

Scientific self-image / professionalism: After successfully completing the module, students will be able to

  • work in team-oriented research and development projects and be guided by scientific and industrial standards, and
  • to successfully contribute to larger projects and interdisciplinary working environments
  • .

Contents

The Guided Research Project involves working on a complex research or practical problem in computer science in a team. The problem is set by the lecturers and usually originates from ongoing research projects, research institutions, industrial companies or the lecturers' teaching areas.

In order to achieve a technical depth that can prepare students for the Master's thesis and to intensively promote long-term and sustainable organization and coordination within the team as well as the binding assumption of responsibility for certain activities, the Guided Research Project extends over two semesters (Part 1 + Part 2).

The project-specific specialist content and fundamentals are developed together in the seminar at the beginning of the project and expanded and deepened by working on the project.

In addition, the Guided Research Project conveys the following overarching content:

  • Introduction to scientific work and project-oriented research
  • Analysis of a complex, research- or practice-oriented problem
  • Methods and tools for the structured processing of scientific projects
  • Selecting and applying suitable theoretical and practical concepts to solve the problem
  • Project planning, milestone setting and progress monitoring
  • Scientific documentation and publication formats
  • Presentation and discussion of results in front of an expert audience
  • Teamwork, project management and interdisciplinary collaboration
  • Reflection on the solutions developed and derivation of optimization potential
  • The Guided Research Project contributes significantly to the preparation for the Master's thesis

    .

    Teaching methods

    • Project-oriented processing of a complex task in teamwork over two semesters
    • Seminar for the joint development of project-specific subject content and basic principles at the start of the project: presentation of topics worked on independently by the students with subsequent discussion
    • Continuous coaching by the supervising lecturers (e.g. through regular project meetings, reviews)

    In addition, other forms of teaching that are necessary or relevant in the project-specific context can be used.

    Participation requirements

    None

    Forms of examination

    The examination takes the form of two partial examinations (part 1 and 2):

    Part 1:

    • Presentation (scope: 20%, duration: 20-30 minutes)
    • Project-related work with documentation and presentation followed by an oral examination (scope: 30%, duration of oral examination: 15-30 minutes)

    Part 2:

    • Project-related work with documentation and presentation followed by an oral examination (scope: 50%, duration of oral examination: 15-30 minutes)

    Requirements for the awarding of credit points

    Passed module examination, i.e. the partial examinations Part 1 and Part 2 must each be passed with a grade of 4.0 or better

    Literature

    Projektspezifische Literatur wird von den Lehrenden gestellt und/oder von den Studierenden im Rahmen der Projektbearbeitung selbst recherchiert werden.

    Übergreifende Literatur:

    • Kirchner, Jens; Meyer, Sebastian (2022): Wissenschaftliche Arbeitstechniken für die MINT-Fächer, Springer Vieweg. ISBN: 978-3-6583-3911-1
    • Carrera-Rivera, Angela; Ochoa, William; Larrinaga, Felix; Lada, Ganix (2022): How-to conduct a systematic literature review: A quick guide for computer science research, MethodsX, 9. DOI: doi.org/10.1016/j.mex.2022.101895
    • Creswell, John W.; Creswell, J. David (2018): Research design: qualitative, quantitative, and mixed methods approaches, 5. Auflage, Los Angeles SAGE. ISBN: 978-1-5063-8676-8
    • Shull, Forrest; Singer, Janice and Sjøberg, Dag I. K. (2008): Guide to Advanced Empirical Software Engineering. Springer, Berlin. ISBN: 978-1-8480-0043-8
    • Dresch, Aline; Lacerda, Daniel Pacheco; Antunes, José Antônio Valle (2015): Design Science Research: Springer, Cham
    • Denning, Peter J. (2005): Is computer science science? Communications of the ACM 48, 4 (April 2005), 27–31. DOI: doi.org/10.1145/1053291.1053309

    Requirements Engineering
    • PF
    • 4 SWS
    • 6 ECTS

    • Number

      46910

    • Language(s)

      de

    • Duration (semester)

      1

    • Contact time

      60 h

    • Self-study

      120 h


    Learning outcomes/competences

    After successfully completing the module, students will be able to:

    Knowledge and understanding:
    • explain the role of requirements engineering (RE) in the context of today's challenges in projects, e.g. the "VUCA world" (Volatility, Uncertainty, Complexity, Ambiguity)
    • combining various creativity and elicitation techniques appropriately to determine requirements, as well as documenting and validating requirements
    • to explain how different activities in RE can be supported with generative AI and where the limits lie


    Deployment, application and generation of knowledge:

    • Fit an RE process into an organization and select procedures, techniques and tools in RE according to the framework conditions of a project.
    • Elicit, analyze, specify and validate requirements in a goal-oriented manner.
    • Deal with specific requirements issues such as variability and adaptivity.

    Communication and collaboration:

    • To develop techniques and methods in RE yourself and to teach them to others
    • Communicate effectively with various stakeholders, e.g. customers, developers and end users, to develop, refine and validate requirements
    • Collaborate in teams to develop concepts and solutions while balancing different perspectives and interests

    Scientific self-image / professionalism:

    • Build and leadRE expertise in a cross-domain team
    • Recognize the ethical and professional responsibilities associated with translating stakeholder needs into successful systems
    • Critically evaluate practices in RE and identify improvements

    Contents

    Requirements engineering (RE) is the first activity in software, system and service development. Requirements are the starting point for design, verification and validation as well as for the testing and integration of systems. Configuration and change request management are associated with RE. The definition of requirements and the structured handling of requirements continues to be an important area for research into tools and methods - especially for large and complex mechatronic systems. In this module, students will gain specific knowledge about the current state of the art and the most important future challenges in the field of RE. 
     
    • Introduction to requirements engineering
      • Definition, relevance and challenges
      • Embedding depending on system type and project characteristics
      • Frameworks (e.g. Jackson's WRSPM model)
    • Requirements determination
      • Stakeholder identification
      • Creativity and innovation
      • Interviews, focus groups and ethnography
      • Brainstorming and collaborative workshops
    • Requirements documentation
      • Standards for requirements specifications (SRS)
      • Informal methods: prototypes, storyboards
      • Modeling requirements: i-star, UML, user stories
      • Tools: JIRA, Confluence, ReqIF
    • Validation and verification
      • Quality characteristics: Completeness, consistency, accuracy
      • Prototyping and user feedback
      • Strategies for testing requirements
    • Requirements management
      • Prioritization techniques: e.g. MoSCoW, Kano, weighted scoring
      • Traceability
      • Impact analysis for changes
      • Versioning and change management
      • Improvement of the RE process
    • Advanced topics
      • Software product lines, adaptive systems and crowd-based systems
      • Domain-specific languages
      • Generative AI and natural language processing in RE

    Teaching methods

    Lecture with blackboard and projection

    Participation requirements

    None

    Forms of examination

    • written examination paper, duration 90 min (70%)
    • semester-accompanying examination, as 

      project-related work with presentation

       (30%)

    Requirements for the awarding of credit points

    • passed written examination
    • successful mini-project (project-related work)

    Applicability of the module (in other degree programs)

    • Master of Computer Science
    • Master's degree in Medical Informatics
    • Master's degree in Business Informatics

    Literature

    • Klaus Pohl. Requirements Engineering: Fundamentals, Principles and Techniques. Springer, 2025
    • Klaus Pohl und Chris Rupp: Basiswissen Requirements Engineering: Aus- und Weiterbildung nach IREB-Standard zum Certified Professional for Requirements Engineering Foundation Level, 2015
    • Brian Berenbach, Daniel Paulish, Juergen Kazmeier, Arnold Rudorfer. Software and Systems Requirements Engineering In Practice, McGraw-Hill, March 2009
    • Klaus Pohl, Günter Böckle und Frank J. van der Linden. Software Product Line Engineering: Foundations, Principles and Techniques, Springer, Januar 2011
    • Søren Lausen. Software Requirements - Styles and Techniques, Addison-Wesley, 2002.
    • Ellen Gottesdiener. Requirements by Collaboration - Workshops for Defining Needs. Addison-Wesley, 2002

     

    Advanced Regression Methods
    • WP
    • 4 SWS
    • 6 ECTS

    • Number

      46801

    • Language(s)

      de

    • Duration (semester)

      1

    • Contact time

      60 h

    • Self-study

      120 h


    Learning outcomes/competences

    After successfully completing the module, students will be able to extract information from data using regression methods. They will be able to independently recognize which type of statistical model from the field of regression analysis is suitable for a problem and name the model assumptions. They can use suitable software to adapt a model to data sets and explain why which method is used for parameter estimation and model selection. Students can set up a statistical experimental plan for a screening or optimization question, collect and analyze data themselves and prepare documentation in report form.

     

    Contents

    The module teaches assumptions and definitions of various statistical models from the field of regression models. In addition to classical linear models, analysis of variance, generalized linear models and Gaussian process models are covered. The entire process of statistical data analysis is covered, starting with model assumptions, hypothesis testing, parameter estimation using maximum likelihood and the least squares method, residual analysis, variable selection, through to model interpretation and forecasting and forecasting intervals. The basics of statistical experimental design (experimental design, experimental range, coding, randomization, repetitions, block formation) and various experimental designs (screening and optimization plans, space-filling plans) are taught for the collection of your own data set.
    models, )

    Teaching methods

    Lecture in seminar style, with blackboard writing and projection, solution of practical exercises in individual or team work, project work accompanying the lecture on practical applications with documentation and presentations
     

    Participation requirements

    None

    Forms of examination

    Project work with oral examination

    Requirements for the awarding of credit points

    Successful project work

    Applicability of the module (in other degree programs)

    • Master of Computer Science
    • Master's degree in Medical Informatics
    • Master's degree in Business Informatics

    Literature

    • Fahrmeir, L., Künstler, R., Pigeot, I., Tutz, G. (2016), Statistik - der Weg zur Datenanalyse, 8. Aufl., Springer, Berlin.
    • Fahrmeir, L., Kneib, Th., Lang, S., Marx, B. (2013), Regression: Models, Methods and Applications, Springer, Berlin.
    • Dobson, A.J., Barnett, A.G. (2018), An Introduction to Generalized Linear Models, 4th edition, Taylor & Francis Ltd, Boca Raton.
    • Sievertz, K., van Bebber, D., Hochkirchen, Th. (2017) Statistische Versuchsplanung - Design of Experiments (DoE), 4te Auflage, Springer Vieweg, Berlin.

    Advanced Web Engineering
    • WP
    • 4 SWS
    • 6 ECTS

    • Number

      46854

    • Language(s)

      en

    • Duration (semester)

      1

    • Contact time

      60 h

    • Self-study

      120 h


    Learning outcomes/competences

    Knowledge and understanding: After completing this module, students will have deepened and intensified their skills,
    • analyze and differentiate between different web architectures and central architectural patterns of web applications,
    • to name and categorize important web standards and technologies.
    Use, application and generation of knowledge: After completing this module, students will be able to
    • implement a complex web engineering task as part of a project lasting several weeks,
    • derive and design a suitable web architecture to solve a specific problem,determine and combine suitable web standards and technologies to implement this architecture,use advanced web engineering tools such as development environments, bundlers, scaffolding and transpilers
    Communication and cooperation: After completing this module, students will be able to,
    • develop and implement solutions cooperatively in a team,
    • present, explain and discuss their ideas and solutions in various formats such as group presentations, code reviews, lightning talks or pitches, especially in front of a specialist audience (e.g. guests/partners from industry or research projects).
    Scientific self-conception/professionalism: After completing this module, students will be able to
    • select and apply industrial and scientific best practices from the field of web engineering as appropriate to the situation,
    • reflect on and evaluate feedback, e.g. from code reviews with experts, and use the feedback received independently to improve their solutions.

    Contents

    Module description:
    In this module, students gain an overview of the architectures of complex web applications and analyze their differences and areas of application. They learn how corresponding web applications can be implemented by selecting and using suitable client- and server-side technologies.

    Module structure:
    The module covers the following topics:

    1. Brief review of the basics of creating web pages with HTML, CSS and JavaScript (Bachelor material)
    2. Identification, analysis and differentiation of architectures of modern web applications:
      1. Architectural patterns such as MVC and its variants (MVVM, MVP, etc.)
      2. Request-based and component-based web frameworks
      3. Single vs. multi-page applications, server-side rendering, client-side rendering, hybrid approaches (e.g. rehydration, resumability)
      4. Reactive programming/streaming
    3. In-depth study of server-side technologies for the development of web applications (e.g. with Java, JavaScript)
    4. In-depth study of client-side concepts and technologies for the development of web applications (e.g. component-oriented development, state management, routing)
    5. Overview of current developments in web standards and research (e.g. web components, WebAssembly)

    Teaching methods

    • Flipped/Inverted Classroom:
      • Online e-learning materials with interactive slides and videos (asynchronous self-study)
      • Interactive face-to-face events for tasks and exercises based on practical and research examples (e.g. coding, group exercises, lightning talks), for additional in-depth study and for answering and discussing questions
    • Project-oriented internship: project task that is worked on in teams over the entire semester
    • Guest lectures with experts and current topics from research and industry

    Participation requirements

    None

    Forms of examination

    Written examination paper (scope: 60%, duration: 60-90 minutes) or oral examination (scope 60%, duration: 20-25 minutes); examinations during the semester (project-related work, scope: 40%)

    Requirements for the awarding of credit points

    Passed written examination or passed oral examination (according to the current examination schedule); passed examinations during the semester

    Applicability of the module (in other degree programs)

    • Master's degree in Business Informatics
    • Master of Computer Science
    • Master's degree in Medical Informatics
    • Master's degree in Digital Transformation

    Literature

    • Simpson, Kyle (2015-2020): You Don’t Know JS (Yet), Volume 1-6, O’Reilly/Independently published
    • Ullenboom, Christian (2024): Spring Boot and Spring Framework 6, Rheinwerk Computing
    • Jacobson, Daniel; Brail, Greg; Woods, Dan (2011): APIs: A Strategy Guide: Creating Channels with Application Programming Interfaces, O'Reilly
    • Masse, Mark (2011): REST API Design Rulebook: Designing Consistent Restful Web Service Interfaces, O’Reilly
    • Porcello, Eve; Banks, Alex (2018): Learning GraphQL: Declarative Data Fetching for Modern Web Apps, O’Reilly
    • Bass, Len; Clements, Paul; Kazman, Rick (2021): Software Architecture in Practice, SEI Series in Software Engineering, Fourth Edition, Addison-Wesley Professional
    • Osmani, Addy (2023): Learning JavaScript Design Patterns: A JavaScript and React Developer's Guide, Second Edition, O’Reilly

    Relevante Standards:

    Anwendungen der KI
    • WP
    • 4 SWS
    • 6 ECTS

    • Number

      46918

    • Duration (semester)

      1

    • Contact time

      60 h

    • Self-study

      90 h


    Learning outcomes/competences

    Technical and methodological competence:
  • Members of the module have mastered basic and advanced concepts of artificial intelligence and are able to apply current developments and methods of artificial intelligence to specific practical issues in business informatics
  • The participants are able to confidently assess the benefits and limitations of the content and methods covered in relation to specific practical applications in business informatics
  • The participants are confident in using current program libraries and can apply them to specific questions in a project-oriented manner.
  • Self-competence:

    • The participants are able to independently deal with current developments in the field of artificial intelligence and its specializations and current applications in the field of business informatics and to understand the core statements.

    Social skills:

    • The participants are able to lead discussions on scientific issues (in particular with regard to the applicability of the content taught to their field of study)
    • The participants understand the relevance of the content taught for their field of study and are able to communicate this relevance adequately.The participants can discuss the challenges of the project tasks together in project-oriented group work, identify possible alternative approaches and define, implement and evaluate justified approaches.

    Contents

    The event includes the following topics:

    Basic part:

    • Introduction to the Python programming language and selected libraries for preparing and manipulating data
    • Basic concepts of artificial intelligence (agent theory, environments, application areas, search methods, Markov decision processes, constraint satisfaction problems, etc.)
    • Introduction to machine learning (neural networks, learning paradigms, applications, etc.)

    Main part:

    • Classical optimization methods of AI and associated solution approaches using the example of the Traveling Salesman Problem
    • Introduction to the field of natural language processing with a focus on autonomous text-based dialog systems ( chatbots ) and sentiment analysis
    • Reinforcement Learning: current methods and limitations as well as exemplary application in the areas of optimization methods and autonomous text-based dialog systems
    • Consideration of selected topics from the field of AI ethics with a focus on applications and relevance in business informatics

    Project-oriented part:

    • Project-oriented practical application of the content learned to specific topics relevant to the field of business informatics. Possible examples to be selected in the course: Development of autonomously acting chatbots in customer support, solution of concrete optimization problems, for example in warehousing, etc.
      The methods considered in the course are to be applied and evaluated in practical applications.

    Teaching methods

    • Lecture in seminar style, with blackboard writing and projection
    • Project work accompanying the lecture with final presentation

    Participation requirements

    See the respective valid examination regulations (BPO/MPO) of the study program.

    Forms of examination

    The exam consists of two parts:
    • Oral examination (30 minutes) with a 50% share of the overall grade
    • Project work with oral examination with a 50% share of the overall grade

    Requirements for the awarding of credit points

    • Passed oral examination
    • Passed project work
    In each case with a grade of 4.0 or better.

    Applicability of the module (in other degree programs)

    Master's degree in Business Informatics

    Literature

    Auswahl an Literaturhinweisen:
    • Stuart Russell und Peter Norvig, Artificial Intelligence: A Modern Approach, Global Edition, Pearson 2021

    Ausgewählte Aspekte der Informatik 1
    • WP
    • 4 SWS
    • 6 ECTS

    • Number

      46003

    • Language(s)

      de

    • Duration (semester)

      1

    • Contact time

      60 h

    • Self-study

      120 h


    Learning outcomes/competences

    This module combines courses that are not offered regularly on various embedded systems topics. The contents and competencies are published each semester in an additional document.
    The competencies are derived from the published supplementary document for the specific course.

     

    Contents

    The contents can be found in the published supplementary document for the specific event.

    Teaching methods

    • Lecture in interaction with the students, with blackboard writing and projection
    • Lecture in seminar style, with blackboard and projection
    • exercise accompanying the lecture
    • Internship accompanying the lecture

    Participation requirements

    None

    Forms of examination

    • Written written examination
    • project-related work with documentation and presentation followed by an oral examination
    • Oral examinations
    • Homework
    • presentations 

    Requirements for the awarding of credit points

    passed exam

    Applicability of the module (in other degree programs)

    Master's degree in Computer Science

    Literature

    siehe Zusatzdokument zur konkreten Veranstaltung

     

    Ausgewählte Aspekte der Informatik 2
    • WP
    • 4 SWS
    • 6 ECTS

    • Number

      46004

    • Language(s)

      de

    • Duration (semester)

      1

    • Contact time

      60 h

    • Self-study

      120 h


    Learning outcomes/competences

    Courses on various computer science topics that are not offered regularly are summarized in this module. The contents and competencies are published each semester in an additional document.
    The competencies are derived from the published supplementary document for the specific course.

     

    Contents

    The contents can be found in the published supplementary document for the specific event.

    Teaching methods

    • Lecture in interaction with the students, with blackboard writing and projection
    • Lecture in seminar style, with blackboard and projection
    • exercise accompanying the lecture
    • Internship accompanying the lecture

    Participation requirements

    None

    Forms of examination

    • Written written examination
    • project-related work with documentation and presentation followed by an oral examination
    • Oral examinations
    • Homework
    • presentations 

    Requirements for the awarding of credit points

    passed exam

    Applicability of the module (in other degree programs)

    Master's degree in Computer Science

    Literature

    siehe Zusatzdokument zur konkreten Veranstaltung

     

    Ausgewählte Aspekte der Informatik 3
    • WP
    • 4 SWS
    • 6 ECTS

    • Number

      46005

    • Language(s)

      de

    • Duration (semester)

      1

    • Contact time

      60 h

    • Self-study

      120 h


    Learning outcomes/competences

    Courses on various computer science topics that are not offered regularly are summarized in this module. The contents and competencies are published each semester in an additional document.
    The competencies are derived from the published supplementary document for the specific course.

     

    Contents

    The contents can be found in the published supplementary document for the specific event.

    Teaching methods

    • Lecture in interaction with the students, with blackboard writing and projection
    • Lecture in seminar style, with blackboard and projection
    • exercise accompanying the lecture
    • Internship accompanying the lecture

    Participation requirements

    None

    Forms of examination

    • Written written examination
    • project-related work with documentation and presentation followed by an oral examination
    • Oral examinations
    • Homework
    • presentations 

    Requirements for the awarding of credit points

    passed exam

    Applicability of the module (in other degree programs)

    Master's degree in Computer Science

    Literature

    siehe Zusatzdokument zur konkreten Veranstaltung

     

    Ausgewählte Aspekte der Informatik 4
    • WP
    • 4 SWS
    • 6 ECTS

    • Number

      46006

    • Language(s)

      de

    • Duration (semester)

      1

    • Contact time

      60 h

    • Self-study

      120 h


    Learning outcomes/competences

    Courses on various computer science topics that are not offered regularly are summarized in this module. The contents and competencies are published each semester in an additional document.
    The competencies are derived from the published supplementary document for the specific course.

     

    Contents

    The contents can be found in the published supplementary document for the specific event.

    Teaching methods

    • Lecture in interaction with the students, with blackboard writing and projection
    • Lecture in seminar style, with blackboard and projection
    • exercise accompanying the lecture
    • Internship accompanying the lecture

    Participation requirements

    None

    Forms of examination

    • Written written examination
    • project-related work with documentation and presentation followed by an oral examination
    • Oral examinations
    • Homework
    • presentations 

    Requirements for the awarding of credit points

    passed exam

    Applicability of the module (in other degree programs)

    Master's degree in Computer Science

    Literature

    siehe Zusatzdokument zur konkreten Veranstaltung

     

    Ausgewählte Aspekte der Informationssicherheit
    • WP
    • 4 SWS
    • 6 ECTS

    • Number

      46857

    • Language(s)

      en

    • Duration (semester)

      1

    • Contact time

      60 h

    • Self-study

      90 h


    Learning outcomes/competences

    The students are able to define
    relevant terms. - define, differentiate and explain relevant terms.
    - understand the crucial importance of standardization in information security and implement it methodically.
    - apply practical methods, best practices and software tools.
    - implement project tasks independently and document results.

    Contents

    - Depending on the topics actually selected for the respective semester.
    - Exemplary topics:
      - Information security management systems: basics, ISO/IEC 27000 series, threat modeling, risk management
      - Operating system security: Capabilities, AppArmor, SELinux, Linux hardening
      - Network security: firewall systems, intrusion detection/prevention systems (IDS/IPS)
      - Software security: penetration testing, static application security testing (SAST)
      - Hardware security: CPU Security, Trusted Platform Module (TPM), Smartcards
      - Further topics: Privacy, biometric systems

    The language of instruction is English.

    Teaching methods

    - Lecture in interaction with the students, with blackboard writing and projection
    - Individual work
    - Project work accompanying the lecture with final presentation

    Participation requirements

    None

    Forms of examination

    - Project-related work (100%)

    Requirements for the awarding of credit points

    - Successful project work

    Applicability of the module (in other degree programs)

    • Master of Computer Science
    • Master's degree in Medical Informatics
    • Master's degree in Business Informatics

    Literature

    - Abhängig von den für das jeweilige Semester tatsächlich ausgewählten Themen.

    Autonome mobile Systeme
    • WP
    • 4 SWS
    • 6 ECTS

    • Number

      46863

    • Language(s)

      de

    • Duration (semester)

      1

    • Contact time

      60 h

    • Self-study

      120 h


    Learning outcomes/competences

    Technical and methodological competence:

    After completing the course, students will be able to

    • understand and apply methods and algorithms of autonomous mobile systems
    • design and implement state controllers and state observers
    • apply algorithms for state estimation of dynamic systems
    • Apply and implement algorithms for localization, path planning and collision avoidance of autonomous mobile systems

    Interdisciplinary methodological competence:

    • Analysis of dynamic systems
    • Mathematical modeling of dynamic systems
    • Simulation of dynamic systems with Matlab/Simulink

    Contents

    • Basics of dynamic systems
      • Description of discrete-time systems, z-transformation
      • State space representation
      • Control by means of state feedback
      • State observation
    • State estimation of dynamic systems
      • Method of least squares error
      • Kalman Filter, Extended Kalman Filter, Unscented Kalman Filter
      • Monte Carlo methods
    • Autonomous mobile systems
      • Basics of the localization of mobile systems
      • Localization using Kalman filters
      • Localization using particle filters
      • Environmental models and mapping
      • Navigation and path planning
      • Collision avoidance
    • Selected problems from current research projects

    Teaching methods

    • Lecture in interaction with the students, with blackboard writing and projection
    • Exercise accompanying the lecture
    • Solving practical exercises in individual or team work
    • Internship accompanying the lecture
    • Project work accompanying the lecture with final presentation

    Participation requirements

    None

    Forms of examination

    • written examination paper or oral examination (according to the current examination schedule)
    • examinations during the semester

    Requirements for the awarding of credit points

    passed written examination or passed oral examination (according to current examination schedule)

    Applicability of the module (in other degree programs)

    Master's degree in Computer Science

    Literature

    • Sebastian Thrun, Wolfram Burgard, Dieter Fox: Probabilistic Robotics (Intelligent Robotics and Autonomous Agents), MIT Press, 2005
    • Siegwart, Roland; Nourbakhsh, Illah R.: Introduction to Autonomous Mobile Robots, MIT Press, 2nd Edition, 2011
    • Karsten Berns, Ewald von Puttkamer: Autonomous Land Vehicles: Steps towards Service Robots, Vieweg+Teubner Verlag, 2009
    • Hertzberg, Joachim; Lingemann, Kai; Nüchter, Andreas: Mobile Roboter - Eine Einführung aus Sicht der Informatik, Springer Vieweg Verlag, 2012
    • Howie Choset, Kevin M. Lynch, Seth Hutchinson, George Kantor, Wolfram Burgard, Lydia E. Kavraki, Sebastian Thrun: Principles of Robot Motion: Theory, Algorithms, and Implementations (Intelligent Robotics and Autonomous Agents), MIT Press, 2005
    • Unbehauen, Heinz: Regelungstechnik II, Vieweg Verlag, 9. Auflage, 2007
    • Lunze, Jan: Regelungstechnik 2: Mehrgrößensysteme, Digitale Regelung, Springer Verlag, 6. Auflage, 2010

    Berechenbarkeit und Komplexitätstheorie
    • WP
    • 4 SWS
    • 6 ECTS

    • Number

      46866

    • Language(s)

      de

    • Duration (semester)

      1

    • Contact time

      60 h

    • Self-study

      120 h


    Learning outcomes/competences

    Technical and methodological competence:

    • Be able to name basic terms and concepts of computability and complexity theory
    • .
    • Be able to program and analyze different models of Turing machines.
    • Understand, classify and evaluate complexity statements of problems.
    • Be able to independently assess and classify problems in terms of their computability and complexity.Be able to check the possibility of an approximate solution for difficult problems.

    Contents

    • Turing machines: 1-band TM; multi-band TM; Church-Turing hypothesis; universal TM; non-deterministic TM
    • Computability: decidable, semi-decidable and undecidable problems; diagonalization: halting problem; reduction of undecidable problems
    • Complexity theory: runtimes; classes P and NP; P-NP problem; NP-completeness; polynomial reduction; NP-complete problems
    • Approximation: approximation quality; approximation algorithms; non-approximability

    Teaching methods

    • Lecture in interaction with the students, with blackboard writing and projection
    • Exercise accompanying the lecture
    • Solving practical exercises in individual or team work
    • Group work
    • Individual work
    • Active, self-directed learning through internet-supported tasks, sample solutions and accompanying materials

    Participation requirements

    None

    Forms of examination

    written exam paper

    Requirements for the awarding of credit points

    passed written exam

    Applicability of the module (in other degree programs)

    • Master of Computer Science
    • Master's degree in Medical Informatics

    Literature

    • Hopcroft, J.E., Motwani, R., Ullman, J.D.; Einführung in Automatentheorie, Formale Sprachen und Berechenbarkeit; Pearson Studium, 3. Auflage, 2011
    • Hoffmann, D.W.; Theoretische Informatik; Hanser; 5. Auflage; 2022
    • Erk, K., Priese, L.; Theoretische Informatik; Springer; 4. Auflage; 2018

    Big Data Analytics
    • WP
    • 4 SWS
    • 6 ECTS

    • Number

      46001

    • Language(s)

      de

    • Duration (semester)

      1

    • Contact time

      60 h

    • Self-study

      120 h


    Learning outcomes/competences

    After successful participation in the module courses and completion of the project work, students are able to ...
    • assess requirements for big data applications and select suitable methods for data analysis
    • distinguish big data applications from classic applications and explain them
    • decide on the basis of application scenarios which methods of data analysis of large amounts of data (both static and real-time data) are used in big data applications
    • conceptualize, design, implement and critically reflect on exemplary big data applications
    • .
    • explain the basics of data analysis of large amounts of data and real-time data

    Contents

    • Basics on the topic of big data
      • Challenges and architecture of big data applications
      • Basics of real-time applications in the big data context and their special features
      • Limitations of classic solution concepts in the big data context (CAP theorem, vertical / horizontal scaling), NoSQL databases and data visualization
      • Ethical, social and Business Studies evaluation of Big Data applications
    • Basics and methods for data analysis of large amounts of data
      • Procedures for distributing data (MapReduce, RDD)
      • Management of computing clusters and distributed data storage 
      • Methods and technologies for analyzing large amounts of data
    • Basics and methods for data analysis in real-time systems
      • Conception and design of data stream applications (data stream management systems, data stream design patterns)
      • Methods and technologies of data stream analysis (streaming analytics) 
      • Anomaly detection and monitoring of data streams
    • Differences and similarities in data analysis in front of large amounts of data or data in real-time systems, in particular the methods considered

    Teaching methods

    • Lecture in seminar style, with blackboard writing and projection
    • Internship to accompany the lecture
    • Processing programming tasks on the computer in individual or team work
    • Project accompanying the lecture

    Participation requirements

    None

    Forms of examination

    The module examination consists of two parts:
    1. 60% of an oral examination (20-30 minutes, according to the current examination schedule), in which students analyze application scenarios, explain various theoretical principles and apply them to specific situations and
    2. 40% of a semester-long examination (project work with final presentation), in which students should demonstrate that they can apply, reflect on and evaluate the technologies learned in the lecture.

    Requirements for the awarding of credit points


    Passed oral examination and passed project-related work (with documentation and presentation), each with a grade of 4.0 or better

    Applicability of the module (in other degree programs)

    Master's degree in Computer Science

    Literature

    • Kleppmann, Designing data-intensive applications, O'Reilly Media (2017)
    • Bifet, Machine learning for data stream, MIT-Press (2017)
    • Ellis, Real-time analytics, Wiley & Sons (2014)
    • Parsian, Data Algorithmns, O'Reilly Media (2015)
    • Arundel und Domingus, Cloud Native DevOps mit Kubernetes, dpunkt.verlag (2019)

    Weitere aktuelle Literatur wird in der Vorlesung bekannt gegeben.
     

    Design and Modeling of Complex Software Architectures
    • WP
    • 4 SWS
    • 6 ECTS

    • Number

      46862

    • Language(s)

      en

    • Duration (semester)

      1

    • Contact time

      60 h

    • Self-study

      120 h


    Learning outcomes/competences

    Knowledge and Understanding: Upon completion of this module, students will be able to

    • distinguish between the basic principles of software design,
    • distinguish and categorize relevant tools and methods for domain-oriented design,name and classify current research approaches to modeling software architectures


    Use, application and generation of knowledge: After completing this module, students will be able to

    • analyze a complex problem/domain and break it down into sub-problems/domains,
    • realize a complex software design task as part of a project lasting several weeks,
    • select appropriate software design principles and apply them to specific application scenarios,
    • distinguish, analyze and apply central patterns at the macro- and micro-architecture level,select, combine and apply suitable methods for domain-driven design


    Communication and cooperation: After completing this module, students will be able to

    • develop and implement solutions cooperatively in a team, 
    • select and apply suitable methods for the interdisciplinary development of solutions, especially together with domain experts without a technical background,
    • present, explain and discuss their ideas and solutions in various formats such as group presentations, code reviews, lightning talks or pitches, especially in front of a specialist audience (e.g. guests/partners from industry or research projects).


    Scientific self-conception/professionalism: After completing this module, students will be able to

    • select and apply best practices from industry and academia for software design,
    • reflect on and evaluate feedback, especially from non-technical domain experts, and independently implement the feedback received to improve their solution concepts

    Contents

    Module description:
    In this module, students deepen their skills in the design of software architectures for complex systems. Students learn how to design a scalable, robust and maintainable domain-driven software architecture by selecting and applying suitable principles, patterns and methods. The analysis and discussion of such software architectures is based on practical examples and concrete solutions from research projects.

    Module structure:
    The module covers the following topics:

    1. Short repetition of the Bachelor material on software design (e.g. design patterns according to Gamma et al., separation of concerns, layered architecture)
    2. In-depth aspects of software design:
      1. Principles (e.g. loose coupling - high cohesion, SOLID)
      2. Architectural patterns (e.g. ports and adapters, CQRS)
      3. Methods (e.g. domain-driven design, WAM approach)
    3. Characteristics and patterns of modern architectural styles (e.g. modular architectures, event-based architectures, microservice architectures)
    4. Model-driven design, development and reconstruction of software architectures

    Teaching methods

    • Flipped/Inverted Classroom:
      • Online e-learning materials with interactive slides and videos (asynchronous self-study)
      • Interactive face-to-face events for tasks and exercises based on practical and research examples (e.g. coding, group exercises, lightning talks), for additional in-depth study and for answering and discussing questions
    • Project-oriented internship: project task that is worked on in teams over the entire semester
    • Guest lectures with experts and current topics from research and industry

    Participation requirements

    None

    Forms of examination

    Written examination paper (scope: 60%, duration: 60-90 minutes) or oral examination (scope 60%, duration: 20-25 minutes); examinations during the semester (project-related work, scope: 40%)

    Requirements for the awarding of credit points

    Passed written examination or passed oral examination (according to the current examination schedule); passed examinations during the semester

    Applicability of the module (in other degree programs)

    • Master's degree in Business Informatics
    • Master of Computer Science
    • Master's degree in Medical Informatics
    • Master's degree in Digital Transformation

    Literature

    • Vernon, Vernon (2016): Domain-Driven Design Distilled, Addison-Wesley
    • Evans, Eric (2003): Domain-Driven Design: Tackling Complexity in the Heart of Software, Addison-Wesley
    • Richardson, Chris (2018): Microservice Patterns: With examples in Java, Manning
    • Martin, Robert C. (2017): Clean Architecture: A Craftsman's Guide to Software Structure and Design, Pearson
    • Lilienthal, Carola (2019): Sustainable Software Architecture: Analyze and Reduce Technical Debt; dpunkt.verlag
    • Bass, Len; Clements, Paul; Kazman, Rick (2021): Software Architecture in Practice, SEI Series in Software Engineering, Fourth Edition, Addison-Wesley Professional
    • Gamma, Erich; Helm, Richard; Johnson, Ralph; Vlissides, John (1994): Design Patterns: Elements of Reusable Object-Oriented Software, Addison-Wesley
    • Combemale, Benoit; France, Robert; Jézéquel, Jean-Marc; Rumpe, Bernhard;  Steel, James; Vojtisek, Didier (2016): Engineering Modeling Languages. CRC Press
    • Rademacher, Florian (2022). A language ecosystem for modeling microservice architecture, Phd Thesis, https://dx.doi.org/doi:10.17170/kobra-202209306919

    Echtzeitsysteme
    • WP
    • 4 SWS
    • 6 ECTS

    • Number

      46816

    • Language(s)

      de

    • Duration (semester)

      1

    • Contact time

      60 h

    • Self-study

      120 h


    Learning outcomes/competences

    After successfully completing the module, students will be able to:

    Knowledge and understanding:
    • identify the technical parameters relevant to the selection of planning procedures and use them to select, implement and validate a suitable procedure according to the situation
    • address the special temporal aspects of synchronized processes and distributed real-time systems in design and implementation.

    Deployment, application and generation of knowledge:
    • Analyze process quantities with regard to executability and evaluate their timing
    • Design systems that are predictable in their temporal behavior

    Communication and cooperation:
    • to develop scientific knowledge and
    • present technical designs of real-time systems and
    • implement these in interdisciplinary teams

    Scientific self-image / professionalism:
    • articulate the design philosophy behind real-time systems
    • to reflect on the ethical and societal implications of safety-critical real-time systems

     

    Contents

    • The concept of time: mathematical reduction of time, structure and properties of a clock, time standards
    • Introduction to planning: process parameters, WCET, usability, process precedence, process anomalies
    • Priority-based planning methods for aperiodic processes: Earliest Due Date, Earliest Deadline First, Least Laxity First
    • Priority-based planning methods for periodic processes: Rate and Deadline Monotonic Scheduling, scheduling tests (LL test, critical interval, RT test), Earliest Deadline First
    • Time-based planning processes: outer and inner cycle, requirements according to Baker & Shaw, implementation of the Cyclic Executive
    • Planning methods for synchronized processes: Priority reversal, procedures (non-preemptive critical sections, priority inheritance, priority upper limits), calculation of blocking times
    • Real-time operating systems: including architecture, scheduler, dealing with interrupts, case study
    • Distributed systems: synchronization of clocks, real-time properties of various media access methods, current real-time protocols

    Teaching methods

    • Lecture in interaction with the students, with blackboard writing and projection
    • Lecture in seminar style, with blackboard and projection
    • exercise accompanying the lecture
    • Internship accompanying the lecture

    Participation requirements

    None

    Forms of examination

    • oral examination, 30 minutes (70%)
    • semester-accompanying examination, as 

      project-related work with presentation

      (30%)

    Requirements for the awarding of credit points

    passed oral examination

    Applicability of the module (in other degree programs)

    Master's degree in Computer Science

    Literature

    • Dieter Zöbel. Echtzeitsysteme Grundlagen der Planung, Springer, 2020.
    • Hermann Kopetz. Real-Time Systems: Design Principles for Distributed Embedded Applications, Springer, 2022
    • Jane Liu. Real-Time Systems, Prentice Hall, 2000.
    • Peter Marwedel. Eingebettete Systeme - Grundlagen Eingebetteter Systeme in Cyber-Physikalischen Systemen, Springer, 2021.
    • Burns, A., Wellings, A.; Real-Time Systems and Programming Languages; Pearson, 2009.
    • Heinz Wörn und Dieter Brinkschulte. Echtzeitsysteme, Springer, 2005.

     

    Entwicklung software-intensiver Systeme
    • WP
    • 4 SWS
    • 6 ECTS

    • Number

      46850

    • Language(s)

      de

    • Duration (semester)

      1

    • Contact time

      60 h

    • Self-study

      120 h


    Learning outcomes/competences

    After successful completion of the module, students will be able to:

    Knowledge and understanding

    • Analyze central concepts, methods and current developments in the system development of software-intensive systems and place them in a professional context

    • Critically reflect on the architecture and design principles of software-intensive systems and evaluate their impact on scalability, maintainability and security

    Deployment, application and generation of knowledge

    • modern methods of configuration management, development, integration and deploymentto practically apply software-intensive systems and evaluate their efficiency in real projects

    • Select and adapt test, verification and validation procedures in a targeted manner and transfer them to complex system development projects

    • to research innovative development approaches and technologies in the areas of DevOps, CI/CD and Dependable Systems, to critically question them and adapt them for specific use cases

    • to make scientifically sound decisions in the development of safety-critical systems and to weigh up their social and ethical implications

    Communication and cooperation

    • Document, present and critically discuss

      the results of technical analyses and system development projects in a way that is appropriate for the target group.
    • to collaborate effectively in interdisciplinary teams, coordinate development strategies and reflect on potential conflicts in system development

    Scientific self-image / professionalism

    • to reflect on and further develop their own professional actions in system development, taking into account scientific methods and ethical standards 

    • to independently acquire new knowledge about current trends and technologies in system development and to apply this knowledge in practical projects

    Contents

    • Characterization and differentiation of software-intensive systems

    • Applications, reference architectures and life cycles in various industries

    • System orientation (system concept, system contexts, system levels/modules)

    • Development processes for complex software-intensive systems (traditional and agile)

    • Architecture and design: principles and best practices for software architectures

    • Implementation and integration: DevOps approaches, CI/CD pipelines, virtualization and container technologies.

    • Testing, verification and validation of complex and embedded systems consisting of hardware and software

    • Deployment: deployment strategies with modern tools

    • Functional safety: risk, risk reduction, SIL and safety, standards, culture in different industries

    • Dependable systems: concepts of reliability, availability, maintainability and safety of software-intensive systems

    • Architectural patterns and processes for availability and functional safety

    Teaching methods

    • The module is held in seminar form and combines lectures, practical exercises and project work
    • .
    • Solving practice-oriented exercises, individually or in teams
    • Processing programming tasks on the computer in individual or group work
    • Project work accompanying the lecture with final presentation

    Participation requirements

    None

    Forms of examination

    Oral examination (scope 100%, duration 20-30 min)

    Requirements for the awarding of credit points

    passed oral examination with a grade of 4.0 or better

    Applicability of the module (in other degree programs)

    Master's degree in Computer Science

    Literature

    • Sommerville: Software Engineering ,10. Aufl. , Pearson Deutschland, 2018.
    • Liggesmeyer, Rombach: Software Engineering eingebetteter Systeme, Spektrum Akademischer Verlag, 2005.
    • Bass, Clements, Kazman: Software Architecture in Practice, 3rd ed., Addison Wesley, 2013.
    • Delligatti: SysML Distilled, Addison Wesley, 2014.
    • Zörner: Software-Architekturen dokumentieren und kommunizieren, 2. Aufl., Hanser, 2015.
    • Starke, Hruschka: Arc42 in Aktion, Hanser, 2016.
    • Grünfelder: Software-Test für Embedded Systems, 2. Aufl., dpunkt Verlag, 2017.
    • Grenning: Test Driven Development of Embedded C, O'Reilly, 2011.
    • MISRA, MISRA C:2012, Guidelines for the use of the C language in critical systems, HORIBA MIRA Limited, 2015.
    • Hobbs: Embedded Software Development for Safety-Critical Systems, CRC Press (2016).
    • verschiedene Normen (werden in der Veranstaltung bekannt gegeben)

    Formale Methoden der Softwaretechnik
    • WP
    • 4 SWS
    • 6 ECTS

    • Number

      46859

    • Language(s)

      de

    • Duration (semester)

      1

    • Contact time

      60 h

    • Self-study

      120 h


    Learning outcomes/competences

    Formal methods are languages for modeling software systems at a certain level of abstraction. As they have formal semantics, the models described in this way can be analyzed for correctness. This is particularly important for software-intensive systems.

    The lecture imparts knowledge and skills in the modeling and analysis of software systems. Students should also be able to select suitable languages and analysis techniques for modeling.

    Technical and methodological competence:

    • apply the theory of formal methods
    • Design, implement and analyze formal models of complex systems
    • evaluate different formal methods and models with regard to criteria

    Self-competence:
    The student can present ideas and proposed solutions in writing and orally, the independent presentation of solutions contributes to the development of self-confidence/professional competence; the development of strategies for acquiring knowledge and skills is supported by the combination of (seminar-style) lectures with independent development of the contents of scientific literature
    .
    Social skills:
    Cooperation and teamwork skills are trained during the exercise and project phases. The student can argue in a goal-oriented manner in discussions and deal with criticism objectively; he/she can recognize and reduce existing misunderstandings between discussion partners. Results from group work can be presented together.

    Contents

    • Embedding formal methods in the software development cycle, process models
    • Methods for formal program development on a large scale
    • Formalisms that are used in today's program development systems:
      • Algebraic specification techniques
      • State-oriented and time-dependent specifications
      • Treatment of concurrency
    • Procedures for the verification and validation of formal development steps, formal specification languages
    • Tools for formal program development

    Teaching methods

    • Lecture in interaction with the students, with blackboard writing and projection
    • Lecture in seminar style, with blackboard and projection
    • Solving practical exercises in individual or team work

    Participation requirements

    None

    Forms of examination

    • Written examination paper (scope 70%, duration 90min)
    • Examination performance: Project (scope 30%)

    Requirements for the awarding of credit points

    • passed written exam
    • passed project

    Applicability of the module (in other degree programs)

    Master's degree in Computer Science

    Literature

    • Reisig, W. (2013): Understanding Petri Nets – Modeling Techniques, Analysis Methods, Case Studies, Springer
    • Clarke, E.M., Grumberg, O., Peled, D.A. (1999): Model Checking, MIT Press
    • Baier, C., Katoen, J.-P. (2008): Principles of Model Checking, MIT Press
    • Spivey, J.M. (2001): The Z Reference Manual (https://github.com/Spivoxity/zrm/blob/master/zrm-pub.pdf)
    • Ruhela, V. (2012): Z Formal Specification Language – An Overview, INTERNATIONAL JOURNAL OF ENGINEERING RESEARCH & TECHNOLOGY (IJERT) Volume 01, Issue 06
    • http://www.tapaal.net
    • http://www.uppaal.org

    Formale Sprachen und Compilerbau
    • WP
    • 4 SWS
    • 6 ECTS

    • Number

      46865

    • Language(s)

      de

    • Duration (semester)

      1

    • Contact time

      60 h

    • Self-study

      120 h


    Learning outcomes/competences

    After successfully completing this module, students will be able to:

    Knowledge and understanding:

    • Explain the application areas and system environments of compilers
    • .
    • Describe the phases of a compiler and understand their tasks and results.
    • Explain the basics of lexical analysis, in particular grammars, regular languages and automata.Understand and apply the principles of top-down analysis and LL(k) grammars.
    • Analyze the structure and function of syntax trees and abstract syntax trees.
    • explain concepts of memory organization, runtime systems and intermediate representations.


      Use, application and generation of knowledge:

      • Translate regular expressions into deterministic finite automata
      • .
      • Unify and minimize finite automata appropriately.
      • Implement scanners based on deterministic finite automata.
      • Develop parsers using recursive descent for LL(1) grammars.
      • Design and implement symbol tables.
      • Implement syntax-driven translation using attributed grammars.
      • Generate intermediate code (e.g. 3-address code, stack-based intermediate code) and perform machine-independent and machine-dependent optimizations.

      • Communication and cooperation:

        • Design and implement compiler components in small teams
        • .
        • Create documentation and presentations on compiler techniques for specialist audiences


        Scientific self-image / professionalism:

        • Creating efficient implementations of compiler techniques while taking theoretical principles into account
        • Critically reflect on the practical relevance of compilers for software development and system programming.

         

    Contents

    • Application areas and system environments for compilers
    • Phases of a compiler
    • Tasks and results of the analysis and translation phases of a compiler
    • Grammars, regular languages and automata in the context of lexical analysis
    • Composition and minimization of finite automata
    • Systematic implementation of a scanner based on deterministic, finite automata
    • Basics and principle of top-down analysis including possible problems
    • LL(k) grammars as the basis for top-down analysis
    • Characterization of LL(1) grammars
    • Calculation of FIRST, FOLLOW and control sets for LL(1) grammars
    • Implementation of a parser by recursive descent
    • Syntax trees and abstract syntax trees
    • Error handling
    • Attributed grammars as the basis for syntax-driven translation
    • Symbol tables
    • Implementation of syntax-driven translation through a variant of recursive descent based on translation schemas
    • Memory organization and runtime system
    • Various types of intermediate representations, in particular 3-address code and stack-based intermediate code
    • Translation of an example language into intermediate code
    • Machine-independent and machine-dependent optimizations

    Teaching methods

    • Lecture in seminar style, with blackboard writing and projection
    • Solving practical exercises in individual or team work
    • Processing programming tasks on the computer in individual or team work
    • Active, self-directed learning through internet-supported tasks, sample solutions and accompanying materials

    Participation requirements

    None

    Forms of examination

    The exam consists of two parts:

    1. written examination paper (during the semester), 60 - 90 minutes, accounting for 30% of the overall grade
    2. project-related work with documentation and presentation followed by an oral examination, 30 minutes, accounting for 70% of the overall grade

    Requirements for the awarding of credit points

    passed written examination and passed project-related work (with documentation and presentation followed by an oral examination), each with a grade of 4.0 or better

    Applicability of the module (in other degree programs)

    • Master of Computer Science

    Literature

    • U. Meyer, Grundkurs Compilerbau, Rheinwerk Verlag, zweite Auflage 2024
    • C. Wagenknecht, M. Hielscher, Formale Sprachen, abstrakte Automaten und Compiler, Springer 2022
    • A.V. Aho, M.S. Lam, R. Sethi und J.D. Ullman, Compilers. Principles, Techniques, and Tools. Addison-Wesley, 2006
    • H. Mössenböck, N. Wirth, Compilerbau: Grundlagen und Anwendungen, dpunkt Verlag 2024
    • K. D. Cooper und L.Torczon, Engineering a Compiler, Second Edition. Academic Press, 2011

    Fortgeschrittene Digitale Forensik
    • WP
    • 4 SWS
    • 6 ECTS

    • Number

      46007

    • Language(s)

      de

    • Duration (semester)

      1

    • Contact time

      60 h

    • Self-study

      120 h


    Learning outcomes/competences

    Technical and methodological competence:

    After completing the course "Advanced Digital Forensics", students will be able to carry out forensic analyses on complex IT systems and use both current methods and specialized tools as appropriate to the situation. They can systematically examine sophisticated data sources (e.g. memory images, network traffic, cloud environments) in order to identify and secure digital traces beyond doubt. Students know the relevant legal and technical framework conditions and are able to plan, coordinate and document forensic processes. They will be able to select and apply suitable strategies to preserve the chain of evidence and assess the advantages and disadvantages of various analysis methods.

     

    Social skills:

    The ability to cooperate and work in a team is promoted in the context of practical case studies and project work. Students learn to communicate transparently within project teams and to reflect on results and procedures together. They are able to argue in a goal-oriented manner in an exchange with different specialist disciplines (e.g. law, IT security, management) and deal confidently with feedback or constructive criticism. In doing so, they develop the ability to recognize conflicts or misunderstandings at an early stage, actively defuse them and present the results to the team in a structured manner.

     

     

    Contents

    1. Advanced analysis techniques and tools
      • Working memory forensics
      • Mobile Device Forensics (Android, iOS)
    2. Network and cloud forensics
      • Log and data analysis in virtualized and cloud environments
      • Network flow analyses (e.g. NetFlow, Zeek)
      • Protocol and packet analysis in distributed systems
    3. Forensics in complex IT infrastructures
      • Container and microservices forensics (e.g. Docker)
      • IoT and embedded systems (e.g. smart home forensics)
      • Special features of hybrid and multi-cloud strategies
    4. Incident response and emergency management
      • Structure and role allocation in incident response teams
      • Integration into existing security concepts (SIEM, SOC)
      • Forensic response to current attack scenarios (e.g. ransomware, APTs)
    5. Legal foundations and compliance
      • Data protection laws (GDPR, BDSG)
      • Cybercrime legislation and criminal procedural aspects
      • Court-proof evidence collection and documentation
    6. Forensic documentation and communication
      • Structured preparation of forensic reports and expert opinions
      • Communication with legal authorities and management
      • Presentation techniques for complex forensic issues
    7. Current research and trends
      • AI-supported forensic analyses (e.g. machine learning for anomaly detection)
      • Future challenges

    Teaching methods

    • Lecture in interaction with the students, with blackboard writing and projection
    • Internship to accompany the lecture

    Participation requirements

    None

    Forms of examination

    • Oral examination

    Requirements for the awarding of credit points

    passed oral examination

    Applicability of the module (in other degree programs)

    Master's degree in Computer Science

    Literature

    File system forensic analysis
    Brian Carrier
    978-0321268174

    The art of memory forensics
    Michael Hale Ligh, Andrew Case, Jamie Levy , AAron Walters
    978-1118825099

    Fundamente der Programmierung
    • WP
    • 4 SWS
    • 6 ECTS

    • Number

      46914

    • Language(s)

      de

    • Duration (semester)

      1

    • Contact time

      60 h

    • Self-study

      120 h


    Learning outcomes/competences

    After successfully completing this module, students will be able to:

    Knowledge and understanding:

    • Name essential properties of functional programming languages
    • .
    • explain the concept of functional closures
    • .
    • present the syntactic structure of lambda expressions.
    • explain the normalization process of lambda expressions.formulate basic program constructs as lambda expressions.explain different approaches to the typing of lambda expressions.explain the properties of dependent types.
     

    Use, application and generation of knowledge:

    • apply the basic rules of natural reasoning
    • compare the rules of inference of constructive logic with the basic constructs of typed programs
    • write elementary proofs as programs in a proof support system
     

    Communication and cooperation:

    • to mediate between different formal descriptions
    • to formulate precisely
    • to argue logically


    Scientific self-understanding / professionalism:

    • Formal specification of requirements
    • ensure the reliability of subsystems via proofs of correctness
    • to assess abstraction concepts

    Contents

    Module description:
    Fundamental concepts of programming are discussed on the basis of the Curry-Howard isomorphism.

    Module structure:
    • Basics of practical functional programming
    • Lambda calculus
    • Typing in the lambda calculus
    • Natural reasoning
    • Propositions-as-Types
    • Dependent types
    • Programming of proofs
    • Formalization of selected programming fundamentals

    Teaching methods

    • Seminar-style lecture, with blackboard writing and live programming
    • Situational alternation between lecture, practical exercises and discussion of solutions

    Participation requirements

    None

    Forms of examination

    Written written examination (60 - 90 minutes) or oral examination (according to the current examination schedule)

    Requirements for the awarding of credit points

    Passed written examination or passed oral examination (according to current examination schedule)

    Applicability of the module (in other degree programs)

    Master's degree in Computer Science

    Literature

    • Bove A., Dybjer P.; "Dependent types at work. In Language Engineering and Rigorous Software Development", LNCS 5520, 57-99, Springer, Berlin, 2008 
    • Hindley, J.R., Seldin J.P.; "Lambda-Calculus and Combinators, an Introduction", Cambridge University Press, Cambridge, UK, 2008
    • Hutton G.; "Programming in Haskell. Cambridge", University Press, Cambdridge, UK, 2016
    • Wadler P.; "Proposition as types", Commun. ACM, 58(12):75-84, Nov, 2015
    • Wadler P., Kokke W., Siek J.G.; "Programming language foundations in Agda", 2021

    Grundlagen des Bauens und Entwerfens digitaler Lösungen
    • WP
    • 4 SWS
    • 6 ECTS

    • Number

      41521

    • Language(s)

      de

    • Duration (semester)

      1

    • Contact time

      60 h

    • Self-study

      120 h


    Learning outcomes/competences

    Technical and methodological competence:
    After completing this course, students will be able to design and develop systems that are predictable in their temporal behavior. They know the technical parameters that are relevant for the selection of planning methods and can select and implement a suitable method based on the advantages and disadvantages. Students will be able to understand the special temporal aspects of synchronized processes and distributed systems in design and implementation.

    Social skills:
    Cooperation and teamwork skills are trained during the practice and project phases. The student can argue in a goal-oriented manner in discussions and deal with criticism objectively; he/she can recognize and reduce existing misunderstandings between discussion partners. Results from group work can be presented together.

     

    Contents

    • The concept of time: mathematical reduction of time, structure and properties of a clock, time standards
    • Introduction to planning: process parameters, WCET, usability, process precedence, process anomalies
    • Priority-based planning methods for aperiodic processes: Earliest Due Date, Earliest Deadline First, Least Laxity First
    • Priority-based planning methods for periodic processes: Rate and Deadline Monotonic Scheduling, scheduling tests (LL test, critical interval, RT test), Earliest Deadline First
    • Time-based planning processes: outer and inner cycle, requirements according to Baker & Shaw, implementation of the Cyclic Executive
    • Planning methods for synchronized processes: Priority reversal, procedures (non-preemptive critical sections, priority inheritance, priority upper limits), calculation of blocking times
    • Real-time operating systems: including architecture, scheduler, handling interrupts
    • Distributed systems: synchronization of clocks, real-time properties of various media access methods, current real-time protocols

    Teaching methods

    • Lecture in interaction with the students, with blackboard writing and projection
    • Lecture in seminar style, with blackboard and projection
    • exercise accompanying the lecture
    • Internship accompanying the lecture

    Participation requirements

    None

    Forms of examination

    • oral examination
    • examinations during the semester

    Requirements for the awarding of credit points

    passed oral examination

    Applicability of the module (in other degree programs)

    Master's degree in Computer Science

    Literature

    • Hermann Kopetz. Real-Time Systems: Design Principles for Distributed Embedded Applications, Springer, 2011
    • Dieter Zöbel. Echtzeitsysteme Grundlagen der Planung, Springer, 2008.
    • Jane Liu. Real-Time Systems, Prentice Hall, 2000.
    • Peter Marwedel. Eingebettete Systeme, Springer, 2007.
    • Heinz Wörn und Dieter Brinkschulte. Echtzeitsysteme, Springer, 2005.
    • Burns, A., Wellings, A.; Real-Time Systems and Programming Languages; Pearson Education Ltd., Third Ed. 2001.

     

    IT-Netze
    • WP
    • 4 SWS
    • 6 ECTS

    • Number

      46833

    • Language(s)

      de

    • Duration (semester)

      1

    • Contact time

      60 h

    • Self-study

      120 h


    Learning outcomes/competences

    Technical and methodological competence:
    The student understands the principles, protocols and architecture of computer networks and the applications based on them. He/she applies network design procedures on layer 2 and layer 3, carries out the configuration of network components (router, switch) and plans the setup of virtual networks. He/she understands the design and implementation of communication protocols and is able to design and configure distributed systems with physical and virtual network components.

    Social skills:
    Based on practical demonstrations and experience gained through practical exercises, he/she is able to evaluate typical and recognized technologies and procedures in the areas of data network communication and the use of virtual network systems.

    Contents

    • Communication and reference models;
    • Theoretical methods for capacity planning and calculation based on statistical models and Markov chains;
    • Network algorithms for switching - Spanning Tree Protocol - and routing - Open Shortest Path First
    • Wide traffic solutions, such as Multi Protocol Label Switching;
    • Virtualized network devices using the example of CumulusVX and OPNSense,
    • Network management based on SNMP and the use of Zabbix as a monitoring system;
    • Reference architectures for enterprise networks and data center networks,
    • Network aspects in cloud computing

    Teaching methods

    • Lecture in seminar style, with blackboard writing and projection
    • Solving practical exercises in individual or team work

    Participation requirements

    None

    Forms of examination

    written exam paper

    Requirements for the awarding of credit points

    passed written exam

    Applicability of the module (in other degree programs)

    Master's degree in Computer Science

    Literature

    • Larry L. Peterson Bruce S. Davie: Computer Networks: a system approach, 2.ed., Morgan
      Kaufmann
    • Douglas Comer / David L. Stevens: Internetworking with TCP/IP, Vol.1 und 2, Prentice Hall

    Internet der Dinge
    • WP
    • 4 SWS
    • 6 ECTS

    • Number

      46860

    • Language(s)

      de

    • Duration (semester)

      1

    • Contact time

      60 h

    • Self-study

      120 h


    Learning outcomes/competences

    Technical and methodological competence:

    After completing the course, students will be able to

    • Classify the concept of the Internet of Things (IoT) and differentiate it from Machine 2 Machine Communication (m2m) and Industry 4.0
    • Know the fields of application of IoT and specify their requirements for technology and architecture

    • Understand IoT technologies, architectures and protocols and analyze existing IoT systems

    • Classify wireless radio technologies such as UWB, LoRaWAN, Z-Wave, ZigBee, Bluetooth Smart in terms of range, data rate, interoperability and power consumption

    • Understand routing protocols for ad hoc networking such as OLSR, AODV, DSR and implement them in your own systems

    • Select architectures, technologies and protocols for given IoT applications and implement them in your own systems

    • Design and implement new architectures and routing protocols for specific IoT applications

    Contents

     

    • Introduction

      • Motivation, definition, differentiation from m2m, Industry 4.0

      • Application areas and their requirements

      • Overview of layer models: ISO/OSI, TCP/IP, IPv6 and 6LoWPAN, Bluetooth Smart

      • Overview of radio transmission: ISM bands, licensed bands, UWB

      • Classification of technologies: IEEE 802.15.4, Bluetooth Smart, RFID, LoRaWAN

    • Architectures and protocols of the IoT

      • Application layer protocols: CoAP, MQTT, GATT

      • Application layer protocol gateways: REST-HTTP/CoAP, REST-HTTP/GATT

      • Topologies: Star and tree topologies with central gateway, mesh networking, multi-gateway

      • Routing protocols: OLSR, AODV, DSR

      • IPv6, 6LoWPAN

    • Basics of digital communication

      • Sampling of signals, Nyquist sampling theorem

      • Coding, modulation, Shannon Fano channel capacity

      • Multiple access methods: ALOHA, CSMA/CA, FDMA, TDMA, CDMA, OFDM

      • Radio transmission basics: Antennas, free space attenuation, Fresnel zone,

    • Exemplary areas of application

      • Smart Home

        • Scenarios and their requirements

        • Technologies: Z-Wave, ZigBee, EnOcean

        • Exemplary implementation based on a current AAL research project

      • Logistics

        • Scenario Tracking & Tracing

        • Technologies: RFID, LoRaWAN, UWB

        • Exemplary implementation based on a current research project

    Teaching methods

    • Lecture in interaction with the students, with blackboard writing and projection
    • Exercise accompanying the lecture
    • Solving practical exercises in individual or team work
    • Internship accompanying the lecture
    • Project work accompanying the lecture with final presentation

    Participation requirements

    None

    Forms of examination

    • written examination paper or oral examination (according to the current examination schedule)
    • examinations during the semester

    Requirements for the awarding of credit points

    passed written exam

    Applicability of the module (in other degree programs)

    Master's degree in Computer Science

    Literature

    Jan Höller: From machine-to-machine to the internet of things - introduction to a new age of intelligence, Elsevier, 2014

    • Peter Waher: Learning Internet of Things - explore and learn about Internet of Things with the help of engaging and enlightening tutorials designed for Raspberry Pi, Packt Publishing, Birmingham, 2015

    • Ralf Gessler, Thomas Krause: Wireless-Netzwerke für den Nahbereich, Eingebettete Funksysteme, ­ Vergleich von standardisierten und proprietären Verfahren, Vieweg+Teubner, 2009

    • Martin Meyer: Kommunikationstechnik, Konzepte der modernen Nachrichtenübertragung, Vieweg+Teubner, 4. Auflage, 2011.

    • Andrew S. Tanenbaum, David J. Wetherall: Computernetzwerke, 5. Auflage, Pearson Studium, 2012

    Machine Learning
    • WP
    • 4 SWS
    • 6 ECTS

    • Number

      46839

    • Language(s)

      en, de

    • Duration (semester)

      1

    • Contact time

      60 h

    • Self-study

      120 h


    Learning outcomes/competences

    The course deals with the development and analysis of machine learning methods in applications of computer science, medical informatics and general information systems. After successfully completing the course, students will have acquired the following skills:

    Knowledge (knowledge):
    - know the most important technical terms of machine learning and can use them to explain learning systems.
    - They can implement and evaluate the use of machine learning methods for their own application tasks. To this end, students are familiar with typical applications of these methods.
    - know project management methods for machine learning applications such as CRISP-DM
    - know explanatory components for machine learning and can interpret the results
    - know typical problems of machine learning such as overfitting and information leakage and can avoid them
    - know the theoretical limits of machine learning systems and can describe these formally and use them to estimate the limits of their own applications
    .

    Skills
    - can design, implement and analyze machine learning systems for specific application contexts in computer science.
    - can question and discuss the ethical foundations and limitations of machine learning systems
    - can select suitable machine learning methods for applications
    - can implement simple deep learning solutions with JupyterHub
    - can plan, implement, analyze and document industry-related mini-projects independently in a team

    Competencies (personal and social skills)
    - can formulate ideas and proposed solutions orally and in writing
    - can solve tasks in exercises and practicals independently and present the results
    - can independently develop and present theoretical content on the topic of machine learning from scientific literature
    - can develop solutions cooperatively in the exercise and project phases
    - can cooperatively plan, distribute and jointly carry out tasks for solutions in the project phases
    - can argue in discussions in a goal-oriented manner and deal with criticism objectively
    - can present the results of group work together
    - can evaluate project results and formulate suggestions for improvement
    - can recognize and reduce misunderstandings between discussion partners


    Contents

    - Basic concepts of machine learning
    - Use of KNime for machine learning
    - Design of evaluation studies for machine learning methods and implementation of such studies
    - Linear models
    - Different models of supervised and unsupervised neural networks
    - Learning methods for structured data: support vector machine, decision trees, random forest, gradient boosting machines (GBM)
    - Nearest neighbor methods, lazy learning and embeddings
    - Bayesian networks
    - Unsupervised learning methods (k-means)
    - Combination models (ensembles, boosting machines)
    - Deep Learning models (Convolutional Neural Networks (CNN), Long Short Term Memory (LSTM), Transformer architectures e.g. BERT, Visual Transformer)
    - Deep learning concepts - transfer learning, data augmentation, Generative Adversarial Networks (GAN)
    - Deep learning - parallelization with GPUs, implementation on mobile platforms with low resources
    - Large language models and use of embeddings, Retrieval Augmented Generation (RAG)
    - Theoretical concepts: Bias-Variance Dilemma, No Free Lunch Theorem
    - Explainability of models
    - Applications with data from different modalities (text, image, sound), Word2Vec, FastText, Transformer
    - Methods for improving generalization performance (regularization, feature selection, dimension reduction, complexity adjustment)
    - Problem solving using the example of course-related mini-projects from industrial applications (student mini-projects in teams of 2-3)

    Teaching methods

    • Lecture in seminar style, with blackboard and projection
    • Processing programming tasks on the computer in individual or team work
    • Project work accompanying the lecture with final presentation
    • Inverted teaching (inverted classroom)

    Participation requirements

    None

    Forms of examination

    • written examination paper (70% of the examination performance)
    • examinations during the semester (30% of the examination performance)

    Requirements for the awarding of credit points

    • passed written examination
    • successful examination performance during the semester (mini-project with presentation)

    Applicability of the module (in other degree programs)

    • Master of Computer Science
    • Master's degree in Medical Informatics
    • Master's degree in Business Informatics
    • Master's degree in Digital Transformation
    • Master of Embedded Systems Engineering
    • Master's degree in Medical Informatics

    Literature

    - I. Witten, E. Frank, M. Hall und C. J. Pal, Data Mining: Practical Machine Learning Tools and Techniques, 4. Auflage, Morgan Kaufmann (2017) - elektronische Version im Intranet verfügbar
    - C. M. Bishop, Pattern Recognition and Machine Learning, Springer (2006)
    - E. Alpaydin, Introduction to Machine Learning (Adaptive Computation and Machine Learning), Revised and Updated Edition, MIT Press (2021)
    - I. Goodfellow, Y. Bengio und A. Courville: Deep Learning, MIT Press (2016)

    Mathematik und Quantum Computing
    • WP
    • 4 SWS
    • 6 ECTS

    • Number

      47725

    • Language(s)

      de

    • Duration (semester)

      1

    • Contact time

      60 h

    • Self-study

      120 h


    Learning outcomes/competences

    Teaching the mathematical foundations of quantum computing, insofar as they are relevant to the successful study of computer science. Students should be familiar with the course content listed below and be able to master the central algorithms and assess their significance.

    Knowledge and understanding:

    • The students understand the mathematical foundations of quantum mechanics, in particular linear algebra (vectors, matrices, tensor products) and the Bra-Ket notation.
    • You will be able to explain the historical development and classification of quantum computing in quantum mechanics.

    • Use, application and generation of knowledge:

      • Students analyze and implement basic quantum gates and their composition into quantum algorithms.
      • They apply quantum mechanics concepts such as the no-cloning theorem, quantum teleportation and dense coding in practice.
      • You will use quantum algorithms (Deutsch, Grover, Shor) to solve specific problems and evaluate their efficiency.
      • They understand the quantum Fourier transform and implement a quantum adder based on QFT.You will evaluate methods of quantum cryptography with regard to their security and applicability.

        Communication and cooperation:

        • The students discuss central aspects of quantum computing and its mathematical foundations in working groups.
        • They interpret and explain research results in the field of quantum computing.

        Scientific self-image / professionalism:

        • They reflect on ethical and security-relevant aspects of quantum cryptography and quantum computing.
        • You will recognize the potential and challenges of quantum computing for various areas of application.

    Contents

    • Mathematical basics
    • Quantum mechanical overview
    • Bits and qubits
    • Classical gates and quantum gates
    • No cloning theorem versus quantum teleportation
    • Holevo barrier versus dense coding
    • German's algorithm
    • Grover's algorithm
    • Quantum Fourier transform
    • Quantum adder based on QFT
    • Algorithm from Shor
    • Quantum cryptography

    Teaching methods

    • Lecture in seminar style, with blackboard writing and projection
    • active, self-directed learning through internet-based tasks, sample solutions and accompanying materials
    • active, self-directed learning through tasks, sample solutions and accompanying materials
    • immediate feedback and success monitoring

    Participation requirements

    None

    Forms of examination

    written exam paper

    Requirements for the awarding of credit points

    passed written exam

    Applicability of the module (in other degree programs)

    Master's degree in Computer Science

    Literature

    • B. Lenze, Mathematik und Quantum Computing, Buch und E-Book, Logos Verlag, Berlin, 2020, zweite Auflage.

    Ergänzend:

    • M. Homeister. Quantum Computing verstehen, Springer Vieweg Verlag, Wiesbaden, 2018, fünfte Auflage.
    • R.J. Lipton, K.W. Regan. Quantum Algorithms via Linear Algebra: A Primer, MIT Press, Cambridge MA, 2014.
    • M.A. Nielson, I.L. Chuang. Quantum Computation and Quantum Information, Cambridge University Press, Cambridge, 2010.
    • C.P. Williams. Explorations in Quantum Computing, Springer-Verlag, London, 2011, zweite Auflage.

    Mathematische Grundlagen der Verschlüsselungstechnik
    • WP
    • 4 SWS
    • 6 ECTS

    • Number

      46800

    • Language(s)

      en, de

    • Duration (semester)

      1

    • Contact time

      60 h

    • Self-study

      120 h


    Learning outcomes/competences

    After successful participation, students will be able to:

    • name essential current cryptographic methods,
    • understand the underlying mathematical concepts,
    • be able to handle mathematical structures such as abelian groups, abstract rings, finite fields, polynomial rings, and elliptic curves with confidence,
    • to translate abstract mathematical concepts into concrete implementations in a programming language,assess the security of different cryptographic methods and their variants under given parameters,implement cryptographic procedures themselves,
    • to attack cryptographic methods themselves,
    • recognize and name potential weaknesses of an implementation (e.g. in terms of security, data volume, speed),
    • experiment with your own variants,
    • critically analyze their own variants
    • .

    Contents

    • Groups
    • Rings
    • Ideals
    • Bodies
    • Cryptographic applications of modular arithmetic (e.g. Diffie-Hellman, RSA,...)
    • The discrete logarithm problem (DLP)
    • Algorithmic finding and testing of prime numbers (e.g. Fermat test, Miller-Rabin method)
    • Algorithmic attacking of the DLP (e.g. via Babystep-Giantstep or Pollard Rho) and general algorithmic techniques used in cryptography (e.g. Floyd cycle detection)
    • Basics of probabilistic algorithms in cryptography
    • Mathematical principles that are used to analyze probabilistic algorithms
    • So-called "secure prime numbers"
    • In-depth analysis, using the example of Diffie-Hellman, of how the parameters (prime number, g) affect the vulnerability of the DLP
    • Elliptic curves over finite bodies
    • Cryptographic applications of elliptic curves (e.g. elliptic Diffie-Hellman)

    Teaching methods

    Alternating shares in the form
    • a lecture with interaction with the students, and
    • a practical course with supportive guidance in which students implement or test specific procedures
    The transitions between these components can be fluid. Topics covered should be repeated and refreshed on a regular basis, or experiences from the internship component should be collected and discussed.

    Participation requirements

    None

    Forms of examination

    There is only one final examination at the end of the course.

    Examination formats: Written exam, 60 min, or alternatively oral exams

    Regardless of the examination format, the examination evaluates the extent to which students

    • can deal confidently with the mathematical concepts from the course,
    • can connect the abstract mathematical concepts with concrete questions from cryptography or implementation issues,assess the vulnerability of different cryptographic methods and their variants under given parameters,be able to describe or carry out a specific attack,be able to reproduce techniques and procedures learned or apply them in specific examples,be able to recognize potential vulnerabilities

    Requirements for the awarding of credit points

    Passing the final examination

    Applicability of the module (in other degree programs)

    • Master of Computer Science
    • Master's degree in Medical Informatics

    Literature

    • J. Buchmann, Einführung in die Kryptographie, Springer
    • H. Delfs, H. Knebl, Introduction to Cryptography, Springer
    • J. Hoffstein, J. Pipher, J.H. Silverman, An Introduction to Mathematical Cryptography, Springer
    • A. Joux, Algorithmic Cryptanalysis, CRC Press
    • A. Werner, Elliptische Kurven in der Kryptographie, Springer
    Ergänzend:
    • B. Lenze, Basiswissen Angewandte Mathematik -- Numerik, Grafik, Kryptik --, Buch und E-Book, Springer Vieweg Verlag, Wiesbaden, 2020, zweite Auflage.

    Mobile Multi-Agenten-Systeme
    • WP
    • 4 SWS
    • 6 ECTS

    • Number

      46852

    • Language(s)

      de

    • Duration (semester)

      1

    • Contact time

      60 h

    • Self-study

      120 h


    Learning outcomes/competences

    After successfully completing the module, students will be able to:

    Knowledge and understanding

    • explain central concepts, architectures and interaction mechanisms of mobile multi-agent systems (MAS) and differentiate them from classic distributed systems
    • Analyze methods of coordination, cooperation and consensus building in mobile MAS and evaluate their use in real applications.
    • Deployment, application and generation of knowledge

      • Design and implement planning, learning and self-organization mechanisms in mobile MAS and apply them to problems such as swarm intelligence or autonomous systems
      • Model and test mobile MAS with suitable simulation tools and evaluate their performance.
      • Communication and cooperation

        • present scientific findings and technical concepts on mobile MAS clearly and apply them in interdisciplinary teams
        • critically reflect on the ethical and social implications of intelligent mobile MAS and shape them responsibly.
        • Scientific self-image / professionalism

          • to independently familiarize themselves with current research topics on mobile MAS, develop new questions and derive suitable solutions
          • to make scientifically sound decisions in the development and application of mobile MAS, taking into account technical and ethical framework conditions
          • .

    Contents

    • Basics of multi-agent systems (MAS)

      • Definition and concepts of agents and multi-agent systems

      • Properties and classification of agents

      • Differentiation from classic distributed systems

    • Agent architectures and models

      • Reactive, deliberative and hybrid architectures

      • Decision-making and autonomy of agents

      • Architectures for intelligent agents

    • Communication and interaction in MAS

      • Agent Communication Languages (ACL)

      • Speech act theory and ontologies

      • Mechanisms of coordination and cooperation

    • Consensus building and negotiation in MAS

      • Nash equilibrium and cooperative strategies

      • Negotiation protocols (task and value orientation)

      • Applications in auctions and electronic markets

    • Planning and learning in multi-agent systems

      • Centralized vs. distributed planning

      • Reinforcement learning for agent systems

      • Self-organization and evolutionary algorithms

    • Modeling environments for MAS

      • Influence of deterministic and dynamic environments

      • Simulation of agent systems with Mesa (Python)

      • Challenges in open and complex systems

    • Collective movement and swarm intelligence

      • Principles of swarm intelligence (e.g. Boid model)

      • Self-organized formations in multi-agent systems

      • Applications: Drone swarms, autonomous vehicles, search and rescue missions

    • Application cases and case studies

      • Multi-agent systems in robotics and logistics

      • Agent systems in the gaming industry and simulation of social systems

      • Intelligent agents for smart cities and IoT

    • Practical exercises and semester-accompanying project

      • Implementation of agents with Mesa (Python)

      • Development of a cooperative multi-agent system

      • Evaluation of different interaction and planning mechanisms

    Teaching methods

    • Lecture in interaction with the students, with blackboard writing and projection
    • Solving practical exercises in individual or team work
    • Processing programming tasks on the computer in individual or team work
    • Study-related examination with final presentation

    Participation requirements

    None

    Forms of examination

    • oral examination [scope: 75%](20-30 min) 
    • examination during the course of study [scope: 25%]

    Requirements for the awarding of credit points

    Passed oral examination including SBL with a grade of 4.0 or better

    Applicability of the module (in other degree programs)

    • Master of Computer Science

    Literature

    • Wooldridge, M.: An Introduction to MultiAgent Systems, 2nd ed., John Wiley & Sons, 2009
    • Russell, S., & Norvig, P.: Artificial Intelligence: A Modern Approach, 4th ed, Pearson, 2021
    • Shoham, Y., & Leyton-Brown, K.: Multiagent Systems: Algorithmic, Game-Theoretic, and Logical Foundations, Cambridge University Press, 2009
    • Mesa Framework Documentation: https://mesa.readthedocs.io

    Multimodale Interaktion in Ambienten Umgebungen
    • WP
    • 4 SWS
    • 6 ECTS

    • Number

      46851

    • Language(s)

      de

    • Duration (semester)

      1

    • Contact time

      60 h

    • Self-study

      120 h


    Learning outcomes/competences

    Knowledge and understanding

    The students:

    • have in-depth, specialized knowledge in the field of multimodal human-machine interaction (MMI) and its embedding in networked intelligent environments.

    • know current research issues, theoretical concepts and technological developments in the field of modern forms of interaction, including sensor-based, voice-based and tangible interaction.

    • are able to analyze and critically reflect on interdisciplinary relationships between interaction technologies, cognitive processes and systemic requirements.

    • have a scientifically sound understanding of the technical, methodological and ethical challenges in the design of multimodal user interfaces.

    Use, application and generation of knowledge

    Students are able to:

    • systematically analyze novel forms of interaction, derive their potentials and limitations and transfer them to specific fields of application.

    • to develop concepts, methods and models for multimodal user interfaces and to further develop them in a research-oriented manner.

    • formulate their own scientific questions, develop hypotheses and apply empirical or experimental methods for validation.

    • design, implement and critically evaluate innovative solutions for human-machine interaction systems.

    • design complex interactive systems in the context of Ambient Assisted Living (AAL) and methodically integrate interdisciplinary requirements.

    • transfer technological developments from research into concrete applications and develop new interaction paradigms.

    Communication and cooperation

    The students:

    • are able to communicate their scientific findings and technical solutions clearly and persuasively to both peers and an interdisciplinary audience.

    • are able to systematically work on challenging problems in interdisciplinary teams and develop research-led solutions.

    • have strong discourse and argumentation skills to critically reflect on scientific work and technological developments.

    • are able to professionally document, present and critically discuss research and development work.

    • are proficient in methods of scientific collaboration, including peer review processes and collaborative research

    Scientific self-image / professionalism

    The students:

    • have the ability to critically question scientific theories, methods and concepts and apply them to new problems in the field of human-machine interaction.

    • are able to independently initiate research projects and develop innovative approaches for the further development of the MMI discipline.

    • reflect on the social, ethical and application-related effects of interaction technologies and take these into account in their solutions.

    • have a high degree of independence and initiative in acquiring knowledge and developing new scientific and technological concepts.

    • understand themselves as part of the scientific community and can contribute their expertise to specialist conferences, publications and interdisciplinary research projects.

     

    Contents

     

    • Basics of interaction design from perception, work and cognitive psychology; theories of design: distributed cognition, activity theory, structuring theory; interaction modeling
    • Description and use of contextual information for interaction analysis
    • Intensification in the following technical areas:
      • Sensor-based interaction technologies,
      • Voice recognition and control,
      • Tangible interaction/camera projector systems;
    • Ambient environments from the field of AAL, in the task areas:
      • Security & prevention (home emergency call, lighting systems, ),
      • Health and care (vital signs monitoring, fitness trackers, ),
      • Home and care (Google Nest, robotics, service portals, ),
      • Communication and social environment (voice control, communication solutions, );
    • AAL platforms and Internet of Things infrastructures as the basis for multimodal interaction
    • .
    • Approach (analysis, conception, methods, models) for the development of multimodal user interfaces.
    • Problem solving using the example of a self-developed multimodal user interface from the field of AAL (student projects);

    Teaching methods

    • Lecture in interaction with the students, with blackboard writing and projection
    • Lecture in seminar style, with blackboard and projection
    • Project work accompanying the lecture with final presentation

    Participation requirements

    None

    Forms of examination

    Oral examination (30 minutes)

    Requirements for the awarding of credit points

    passed oral examination (30 minutes)

    Applicability of the module (in other degree programs)

    Master's degree in Computer Science

    Literature

     

      • Rogers, I. (2012). HCI Theory: Classical, Modern, and Contemporary - Synthesis Lectures on Human-Centered Informatics. Morgen & Claypool.
      • Journal on Multimodal User Interfaces (2016), Volume 10, Springer International Publishing 2016
      • BMBF/VDE Innovationspartnerschaft AAL (Hrsg.) 2011: Ambient Assisted Living (AAL) Komponenten, Projekte, Services Eine Bestandsaufnahme, VDE Verlag.

    Organisatorisch/rechtliche Aspekte der IT-Beschaffung
    • WP
    • 4 SWS
    • 6 ECTS

    • Number

      46877

    • Language(s)

      de

    • Duration (semester)

      1

    • Contact time

      60 h

    • Self-study

      120 h


    Learning outcomes/competences

    After successfully completing the module courses, students will be able to:

  • apply the processes and activities of IT procurement processes,
  • apply the central procedures, legal framework and relevant tendering guidelines for IT procurement projects,apply suitable methods, techniques, languages and tools, including project and requirements management, to adequately carry out IT procurement processes
  • create and present relevant results of an IT procurement process in student project groups
  • Contents

    Suitable methods, languages, techniques, regulations and tools for the implementation of IT procurement processes are presented in the course. In the practical part of the course, such an IT procurement process is simulated and carried out as an example by a student project group, often in cooperation with regional IT companies. Relevant activities are carried out, from requirements elicitation, market research and evaluation of suitable systems, analysis of the legal framework to the preparation of tender documents.

    Against this background, the following topics and contents are taught in the course:
    • Project management
      • Project planning with activity node network plans and Gantt diagrams, cost and effort controlling
    • Requirements collection and determination
      • Survey methods such as written surveys and semi-structured interviews with interview guidelines
      • Practical implementation by the project team (usually in cooperation with regional IT companies)
    • Requirements analysis, specification and documentation
      • Development and creation of requirements documents and functional specifications
      • Outlines and IEEE standards
    • Legal framework conditions of an IT procurement project
      • Rights and obligations of the client/contractor
      • Structure and preparation of tender documents: forms, regulations, laws
      • EVB-IT, BVB frameworks
      • Tendering law, public procurement law, tender evaluation
      • Public, restricted and direct award
    • Conducting bidder interviews and presentations: Process and procedure

    Teaching methods

    • Lecture in interaction with the students, with blackboard writing and projection
    • Seminar-style teaching with flipchart, smartboard or projection
    • Presentation and presentation of dedicated teaching content by the students
    • Presentations by the students

    Participation requirements

    None

    Forms of examination

    The module examination consists of two parts, 
    • for each of which 50 points can be achieved and
    • which must each be passed with 25 points:

    Part 1: During the semester, as a member of a student project group (6-8 participants), you will take on the relevant activities as part of a simulated IT procurement process. You will create defined results in subgroups, which you will make available as a document via an electronic platform and then present as part of the seminar-based course. You can achieve a maximum of 50 points for the semester-accompanying examinations.
    Part 2: a 60-minute written exam on selected topics and content of the course takes place during the lecture-free period. A maximum of 50 points can also be achieved in this exam.

    The overall grade is calculated by adding the points achieved in part 1 and part 2:
    • from 50 total points, a grade of 4.0 (sufficient) is achieved and
    • from 95 total points, the grade 1.0 (very good) is awarded

    Requirements for the awarding of credit points

    You must have passed both parts of the examination form (see point 6 Examination forms) with at least sufficient marks in order to pass the performance assessment of the teaching module and to be able to achieve the credit points provided for it.

    Applicability of the module (in other degree programs)

    • Master of Computer Science
    • Master of Business Informatics

    Literature

    • Balzert, H. (2008): Lehrbuch der Softwaretechnik - Softwaremanagement, Heidelberg: Spektrum Akademischer Verlag.
    • Balzert, H. (2009): Lehrbuch der Softwaretechnik - Basiskonzepte und Requirements Engineering, 3. Auflage, Heidelberg: Spektrum Akademischer Verlag.
    • Keller-Stoltenhoff, Leitzen, Ley (2017): Handbuch für die IT-Beschaffung (Band 1 und 2), Heidelberg: Rehm-Verlag.
    • Mangold, P. (2009): IT-Projektmanagement kompakt, 3. erweiterte Auflage, Heidelberg: Spektrum Akademischer Verlag.
    • Spitczok, N.; Vollmer, G., Weber-Schäfer, U. (2014): Pragmatisches IT-Projektmanagement, 2. überarbeitete Auflage, Heidelberg: dpunkt-Verlag.
    • Vollmer, G. (2024): Vorlesungsunterlagen zur seminaristischen Lehrveranstaltung "Organisatorische und rechtliche Aspekte der IT-Beschaffung"
    • Winkelhofer, G. (2005): Management- und Projekt-Methoden, 3. vollst. überarbeitete Auflage, Berlin, Heidelberg: Springer Verlag.

     

    Personalführung
    • WP
    • 4 SWS
    • 6 ECTS

    • Number

      47723

    • Language(s)

      de

    • Duration (semester)

      1

    • Contact time

      60 h

    • Self-study

      120 h


    Learning outcomes/competences

    Technical and methodological competence:

    • Students can explain the specific tasks of managers and differentiate them from specialist tasks.
    • Students know selected psychological principles of leadership and selected leadership theories.Students are familiar with selected leadership methods and can apply these in case studies and role plays.Students can analyze case descriptions of typical leadership situations and develop and argue solutions based on the theory they have learned.

      Interdisciplinary methodological competence:

      • The knowledge of psychological principles, the ability to analyze (conflict) situations and communication skills can be used by students in any professional situation.

      Social skills:

       

      • Group work promotes the ability to develop solutions with other (unfamiliar) students
      • .
      • Role-playing games strengthen skills in dealing constructively with feedback and train the ability to observe communicative (conflict) situations.
      • Professional field orientation:

        • Through guest contributions from HR managers and managers from the field, students learn what requirements are placed on managers in professional fields of computer science.

    Contents

    • Leadership roles
    • Management tasks
    • Delegation and target agreement
    • Motivation
    • Leadership styles
    • Team structures
    • Personality traits
    • Conversational skills
    • (Lateral) leadership in projects
    • Change management - leadership in change

    Teaching methods

    • seminar-style teaching with flipchart, smartboard or projection
    • Solving practical exercises in individual or team work
    • Group work
    • Individual work
    • Case studies
    • Role-playing games
    • Exercises or projects based on practical examples

    Participation requirements

    None

    Forms of examination

    • Examinations during the semester (scope 1/3) + oral examination (scope 2/3)

    Requirements for the awarding of credit points

    Semester examinations and oral examinations must be passed in total
    . be passed

    .

    Applicability of the module (in other degree programs)

    • Master's degree in Medical Informatics
    • Master of Computer Science

    Literature

    • BLESSIN, B. & WICK, A. 2014. Führen und Führen lassen, Konstanz und München, UVK Verlagsgesellschaft mbH.
    • FREY, D. & SCHMALZRIED, L. 2013. Philosophie der Führung, Gute Führung lernen von Kant, Aristoteles, Popper & Co, Berlin, Heidelberg, Springer-Verlag.
    • GERRIG, R. J. 2015. Psychologie, Halbergmoos, Pearson.
    • GROTE, S. & GOYK, R. (eds.) 2018. Fu hrungsinstrumente aus dem Silicon Valley Konzepte und Kompetenzen: Springer Gabler.
    • NERDINGER, F. W., BLICKLE, G. & SCHAPER, N. 2014. Arbeits- und Organisationspsychologie, Berlin, Heidelberg, Springer-Verlag.
    • PASCHEN, M. 2014. Psychologie der Menschenführung, Berlin, Heidelberg, Springer-Verlag.
    • VON ROSENSTIEL, L., REGNET, E. & DOMSCH, M. E. (eds.) 2014. Führung von Mitarbeitern - Handbuch für erfolgreiches Pesonalmanagement, Stuttgart: Schäffer-Poeschel Verlag.
    • STÖWE, C. & KEROMOSEMITO, L. 2013. Führen ohne Hierarchie - Laterale Führung, Wiesbaden, Springer.

    Projektmanagement
    • WP
    • 4 SWS
    • 6 ECTS

    • Number

      46858

    • Language(s)

      de

    • Duration (semester)

      1

    • Contact time

      60 h

    • Self-study

      120 h


    Learning outcomes/competences

    After successfully completing this module, students will be able to


    Knowledge and understanding

    • Name and explain key concepts of project management.
    • Describe current standards in project management.
    • Describe the tasks and job description of an IT project manager.
    • Explain concepts of quality and risk management.

    Use, apply and generate knowledge

    • Carry out a planning project independently and use in-depth project planning methods.
    • Apply knowledge of project management methods (in particular time and cost management).
    • Select suitable project management methods and tools for a complex project and apply them in a team.
    • transfer project management methods to other areas of responsibility of an information systems specialist.

    Communication and cooperation

    • Use special methods and tools to support cooperation and communication in the project (e.g. mind mapping, CSCW tools, decision tables) and link these tools with each other in a meaningful way.
    • Work together in a team to apply the knowledge from all phases of the course in a complex project

    Scientific self-understanding / professionalism

    • Recognize the transferability of project management methods to other tasks of a business informatics specialist.
    • Classify their own actions in relation to the tasks and job description of an IT project manager

    Contents

    • Basic concepts of project management
    • Methods and tools of project planning
    • Methods and tools for project control (time management, cost management)
    • Methods and tools for quality management in projects (standards, quality systems)
    • Methods and tools for risk management in projects (risk assessment, risk monitoring and handling)
    • Methods and tools for supporting communication and cooperation in project groups

    Teaching methods

    • Lecture in seminar style, with blackboard writing and projection
    • Solving practical exercises in individual or team work
    • Independent implementation of a project

    Participation requirements

    None

    Forms of examination

    • written examination paper
    • semester-accompanying examinations in the form of taking on a sub-project management

    Requirements for the awarding of credit points

    • passed the written exam
    • successful completion of the sub-project

    Applicability of the module (in other degree programs)

    • Master of Computer Science
    • Bachelor of Business Informatics
    • Master's degree in Medical Informatics

    Literature

    • Tiemeyer, Ernst (Hrsg.): Handbuch IT-Projektmanagement. Vorgehensmodelle, Managementinstrumente, Good Practices. 4., überarbeitete und erweiterte Auflage. Hanser, 2023.
    • Wieczorrek, Hans W. / Mertens, Peter: Management von IT-Projekten: Von der Planung zur Realisierung. 5., überarbeitete Auflage. Springer Vieweg, 2021.
    • Timinger, Holger: Mit traditionellem, agilem und hybridem Vorgehen zum Erfolg. Wiley-VCH, 2024 

    Software-Entwicklungsprozesse
    • WP
    • 4 SWS
    • 6 ECTS

    • Number

      46000

    • Language(s)

      de

    • Duration (semester)

      1

    • Contact time

      60 h

    • Self-study

      120 h


    Learning outcomes/competences

    After successfully completing this module, students will be able to:

    Knowledge and understanding:

    • describe a hierarchical conceptual model for classifying software development processes
    • .
    • describe known process models
    • .
    • explain approaches for determining process quality.
    • classify given process descriptions.
    • explain the main differences between known process models.
    • describe the influence of different stakeholders in development processes.

      Use, application and creation of knowledge:

      • select a suitable process model on the basis of framework conditions
      • .
      • evaluate alternatives on the basis of a risk assessment
      • .
      • adapt or design a process model on the basis of framework conditions.
      • Communication and cooperation

        • discuss alternative approaches to process design
        • .
        • to design the exchange of information in software projects
        • .
        • to support teamwork through suitable processes
        • .

        Scientific self-image / professionalism

        • Analyze a project environment
        • .
        • assess existing processes
        • .
        • optimize and design software development processes
        • .

    Contents

    • Procedure models
    • Process models
    • Features of known process models
    • Process frameworks
    • The human factor
    • Economics of software projects
    • Communication in software development
    • Artefacts and documentation
    • Process and product quality
    • Integration of project, risk, quality, problem, change and requirements management
    • Tailoring
    • Process design

    Teaching methods

    • Seminar-style lecture with blackboard writing and projection
    • Situational alternation between lecture, practical exercises and discussion of case studies

    Participation requirements

    None

    Forms of examination

    • Written written examination (60 - 90 minutes) or oral examination
    • .

    Requirements for the awarding of credit points

    • Passed written exam
    • .

    Applicability of the module (in other degree programs)

    Master's degree in Computer Science

    Literature

    • Ludewig K, Lichter H.; "Software Engineering: Grundlagen, Menschen, Prozesse, Techniken", dpunkt.verlag, Heidelberg, 2023
    • Balzert H, Ebert Ch.; "Lehrbuch der Software-Technik, Software-Management", Spektrum Akademischer Verlag, Heidelberg, 2008
    • Sommerville I.; "Software Engineering", Pearson, Boston, 2016
    • Chrissis M.B., Konrad M., Shrum S; "CMMI for Development", Addison-Wesley, Upper Saddle River, NJ, 2011
    • Dawson C, Dawson R.; "Software development process models: a technique for evaluation and decision-making", Knowl Process Manag. 21(1), 43-53, 2014

    Usability Engineering
    • WP
    • 4 SWS
    • 6 ECTS

    • Number

      46908

    • Language(s)

      de

    • Duration (semester)

      1

    • Contact time

      60 h

    • Self-study

      120 h


    Learning outcomes/competences


    Knowledge and understanding
    After successfully completing the module, students will be able to
    • systematically develop design solutions and test their suitability for use
    • create, carry out and evaluate research designs


    Use, application and generation of knowledge
    After successfully completing the module, students will be able to
    • make methodological considerations and justify selections

    Communication and cooperation
    Through successful participation in the module, students become
    • plan and implement their own research project as a small group
    • practice the procedure in a joint project


    Scientific self-image / professionalism
    After successfully completing the module, students will be able

    • to reflect on the methodology of their subject area and beyond and to examine specific works for their methodology

    Contents

    1. Basic concepts of usability
    2. Relations and links to human-computer interaction
    3. Usability engineering - early approaches
    4. Study design and evaluation methods
    5. Project work
    6. Special chapter: Usability in relation to a current research topic

       

    Teaching methods

    Seminar-style lecture with presentation, group work and assignments

    Participation requirements

    None

    Forms of examination

    Term paper with presentation (80%)
    Semester performance through work assignments (20%)

    Requirements for the awarding of credit points

    Total passed performance from
    • Thesis and presentation (80%)
    • Semester accompanying performance (20%)

    Applicability of the module (in other degree programs)

    Master's degree in Computer Science

    Literature

    Dix, A., Finlay, J., Abowd, G., Beale, R. (2004): Human-Computer Interaction. Pearson Education Limited.
    DIN EN ISO 9241
    Wilde, T., Hess, T. (2007): Forschungsmethoden der Wirtschaftsinformatik. Wirtsch. Inform. 49, 280–287.
    Aktuelle Forschungspapiere zum Thema Usability und User Experience
    Standardisierte Fragebogeninstrumente zum Thema Usability und User Experience

    Zeitreihenanalyse
    • WP
    • 4 SWS
    • 6 ECTS

    • Number

      46002

    • Duration (semester)

      1

    • Contact time

      60 h

    • Self-study

      120 h


    Learning outcomes/competences

    After successfully participating in the module courses and completing the project work, students will be able to:
    -comprehensively understand and apply methods for modeling, analyzing and predicting time series
    -    Select and implement classical and modern approaches of time series analysis for different application areas
    -    Analyze, model and visualize time series data with advanced programming tools
    -    evaluate uncertainties and prediction errors in models and propose adequate measures for improvement
    -    independently plan, carry out, critically reflect on, document and present projects on time series analysis

    Contents

    Introduction to time series
    -   Stationarity, trend analysis
    -   Autocorrelation and seasonality
    -   Smoothing and filtering methods
    -   Dealing with missing and extreme values
    Classical methods of time series analysis
    -    Linear models: AR, MA, ARMA, ARIMA
    -    Extended models: SARIMA, GARCH
    -   Model fitting: model identification, estimation of model parameters, validation methods and performance metrics
    -   Model prediction and model diagnosis
    -    State-space models (state-space models) and Kalman filters
    Further methods of time series analysis
    -    Machine learning for time series (e.g. LSTMs, Prophet, XGBoost)
    -    Regression models for time series 
    Software packages in R or Python
    Practical applications
    -    Time series analysis in Business Studies, climate and weather forecasts, financial and health data
    -    Practical project: analysis of real time series data
     

    Teaching methods

    Lecture with slides and blackboard writing;
    Lecture-accompanying exercise with processing of programming tasks on the computer in individual or team work; 
    Project work in individual or team work
    Project work with final presentation

    Participation requirements

    None

    Forms of examination

    Written presentation (project work accompanying the lecture with final presentation, 25% of the grade) and oral examination (75% of the grade).
     

    Requirements for the awarding of credit points

    Passed presentation and oral examination

    Applicability of the module (in other degree programs)

    Master Computer Science

    Literature


    •    Schlittgen, R., Sattarhoff, C (2020): Angewandte Zeitreihenanalyse mit R, 4., erweiterte und aktualisierte Auflage. Walter de Gruyter GmbH, Berlin/Boston.
    •    Vogel, J. (2015): Prognose von Zeitreihen. Eine Einführung für Wirtschaftswissenschaftler. Springer Gabler, Wiesbaden
    •    Box, G.E.P., Jenkins, G.M. & Reinsel (1994). Time Series Analysis: Forecasting and Control. Revised Edition. Holden Day, San Francisco.
    •    Brockwell, J.P. & Davis, R.A. (1996). Introduction to Time Series and Forecasting. Springer, New York

    4. Semester of study

    Thesis mit Kolloquium
    • PF
    • 4 SWS
    • 30 ECTS

    • Number

      103

    • Language(s)

      de

    • Duration (semester)

      1

    • Contact time

      60 h

    • Self-study

      120 h


    Learning outcomes/competences

    Knowledge and Understanding: Upon completion of this module, students will be able to

    • distinguish between the basic principles of software design,
    • distinguish and categorize relevant tools and methods for domain-oriented design,name and classify current research approaches to modeling software architectures


    Use, application and generation of knowledge: After completing this module, students will be able to

    • analyze a complex problem/domain and break it down into sub-problems/domains,
    • realize a complex software design task as part of a project lasting several weeks,
    • select appropriate software design principles and apply them to specific application scenarios,
    • distinguish, analyze and apply central patterns at the macro- and micro-architecture level,select, combine and apply suitable methods for domain-driven design


    Communication and cooperation: After completing this module, students will be able to

    • develop and implement solutions cooperatively in a team, 
    • select and apply suitable methods for the interdisciplinary development of solutions, especially together with domain experts without a technical background,
    • present, explain and discuss their ideas and solutions in various formats such as group presentations, code reviews, lightning talks or pitches, especially in front of a specialist audience (e.g. guests/partners from industry or research projects).


    Scientific self-conception/professionalism: After completing this module, students will be able to

    • select and apply best practices from industry and academia for software design,
    • reflect on and evaluate feedback, especially from non-technical domain experts, and independently implement the feedback received to improve their solution concepts

    Contents

    Module description:
    In this module, students deepen their skills in the design of software architectures for complex systems. Students learn how to design a scalable, robust and maintainable domain-driven software architecture by selecting and applying suitable principles, patterns and methods. The analysis and discussion of such software architectures is based on practical examples and concrete solutions from research projects.

    Module structure:
    The module covers the following topics:

    1. Short repetition of the Bachelor material on software design (e.g. design patterns according to Gamma et al., separation of concerns, layered architecture)
    2. In-depth aspects of software design:
      1. Principles (e.g. loose coupling - high cohesion, SOLID)
      2. Architectural patterns (e.g. ports and adapters, CQRS)
      3. Methods (e.g. domain-driven design, WAM approach)
    3. Characteristics and patterns of modern architectural styles (e.g. modular architectures, event-based architectures, microservice architectures)
    4. Model-driven design, development and reconstruction of software architectures

    Teaching methods

    • Flipped/Inverted Classroom:
      • Online e-learning materials with interactive slides and videos (asynchronous self-study)
      • Interactive face-to-face events for tasks and exercises based on practical and research examples (e.g. coding, group exercises, lightning talks), for additional in-depth study and for answering and discussing questions
    • Project-oriented internship: project task that is worked on in teams over the entire semester
    • Guest lectures with experts and current topics from research and industry

    Participation requirements

    None

    Forms of examination

    Written examination paper (scope: 60%, duration: 60-90 minutes) or oral examination (scope 60%, duration: 20-25 minutes); examinations during the semester (project-related work, scope: 40%)

    Requirements for the awarding of credit points

    Passed written examination or passed oral examination (according to the current examination schedule); passed examinations during the semester

    Applicability of the module (in other degree programs)

    • Master's degree in Business Informatics
    • Master of Computer Science
    • Master's degree in Medical Informatics
    • Master's degree in Digital Transformation

    Literature

    • Vernon, Vernon (2016): Domain-Driven Design Distilled, Addison-Wesley
    • Evans, Eric (2003): Domain-Driven Design: Tackling Complexity in the Heart of Software, Addison-Wesley
    • Richardson, Chris (2018): Microservice Patterns: With examples in Java, Manning
    • Martin, Robert C. (2017): Clean Architecture: A Craftsman's Guide to Software Structure and Design, Pearson
    • Lilienthal, Carola (2019): Sustainable Software Architecture: Analyze and Reduce Technical Debt; dpunkt.verlag
    • Bass, Len; Clements, Paul; Kazman, Rick (2021): Software Architecture in Practice, SEI Series in Software Engineering, Fourth Edition, Addison-Wesley Professional
    • Gamma, Erich; Helm, Richard; Johnson, Ralph; Vlissides, John (1994): Design Patterns: Elements of Reusable Object-Oriented Software, Addison-Wesley
    • Combemale, Benoit; France, Robert; Jézéquel, Jean-Marc; Rumpe, Bernhard;  Steel, James; Vojtisek, Didier (2016): Engineering Modeling Languages. CRC Press
    • Rademacher, Florian (2022). A language ecosystem for modeling microservice architecture, Phd Thesis, https://dx.doi.org/doi:10.17170/kobra-202209306919

    Notes and references

    This site uses cookies to ensure the functionality of the website and to collect statistical data. You can object to the statistical collection via the data protection settings (opt-out).

    Settings(Opens in a new tab)