Internationale Studierende

Fakultät Informatik und Wirtschaftsinformatik

Die Fakultät für Informatik und Wirtschaftsinformatik der THWS ist mit über 1300 Studierenden und derzeit 24 Professorinnen und Professoren eine der größten Fakultäten der Hochschule. Sie befindet sich in Würzburg am Sanderheinrichsleitenweg zusammen mit der Fakultät für Gestaltung.

Derzeit bieten wir die folgenden Studiengänge überwiegend in deutscher Sprache an:

Auch in der Forschung sind wir aktiv, insbesondere in kooperativen Promotionsprojekten von mehr als zehn Doktoranden. Unter unseren Kolleginnen und Kollegen befinden sich zwei Forschungsprofessoren für Sozio-Informatik und Internet der Dinge.

Die Fakultät unterstützt die Internationalisierungsstrategie der Universität, indem sie unseren Studierenden ein breites Spektrum an Möglichkeiten für Auslandssemester und Exkursionen sowie die Internationale Woche bietet.

Semestertermine

Wintersemester

  • Das Semester beginnt am 1. Oktober
  • Die Vorlesungen enden ca. am 25. Januar
  • Die Prüfungszeit beginnt direkt im Anschluss und dauert bis ca. Mitte Feburar

Sommersemester

  • Das Semester beginnt am 15. März
  • Die Vorlesungen enden ca. am 10. Juli
  • Die Prüfungszeit beginnt direkt im Anschluss und dauert bis ca. Ende Juli oder Anfang August

Aus der folgenden Liste ist ersichtlich, dass die meisten englischsprachigen Kurse im Sommersemester angeboten werden. Wir empfehlen daher dringend, ein Auslandssemester an unserer Fakultät nur während des Sommersemesters zu verbringen.

Module in englischer Sprache

Die folgenden Module werden in der Regel auf Englisch unterrichtet. Sofern nicht anders angegeben, sind alle Module 5 ECTS-Punkte wert.

Backend Systems (Wintersemester)

Contents:
  • Introduction to distributed systems, client-server, and peer-to-peer systems.
  • Software architectures for backend systems (3-tier, hexagonal, monolithic vs. micro-service, event-driven)
  • Frameworks to implement backend systems (e.g. Spring)
  • Advanced database techniques, scalability, replication, sharding, ORM-tools, query caching, CAP theorem
  • Protocols for remote procedure call, for example, GraphQL and Google RPC.
  • Basics of the HTTP protocol and application in the form of Web APIs.
  • Comprehensive introduction to the REST architecture principle: resources, URLs, CRUD, hypermedia, caching, security.
  • Configuration of Web servers (Apache), load balancer, and public caches (nginx)
  • Testing of backend systems, performance testing using JMeter, monitoring and logging
  • Security aspects of network protocol and backend systems
  • Introduction to Cloud Computing, Cloud-Service models, cloud platforms (e.g. Google or AWS)
  • Introduction to Kubernetes
  • Introduction to DevOps and CI/CD pipelines for backend systems

Learning Goals:

  • Understand and describe the fundamental concepts and differences of distributed systems
  • Explain the principles and components of various software architectures for backend systems
  • Implement a backend system using a framework like Spring, applying best practices for configuration and deployment
  • Apply advanced database techniques, including replication and sharding 
  • Compare and contrast different protocols for remote procedure calls, such as GraphQL and Google RPC, in terms of their functionality and use cases
  • Apply the basics of the HTTP protocol to design and implement Web APIs, including understanding HTTP methods and status codes
  • Design a RESTful API following the REST architecture principles, incorporating resources, URLs, CRUD operations, hypermedia, caching strategies, and security measures.
  • Configure web servers, load balancers, and public caches to optimize backend system performance.
  • Conduct comprehensive testing of backend systems, including performance testing with tools like JMeter
  • Evaluate the security aspects of network protocols and backend systems, applying best practices for authentication, authorization

Datenmanagement und Data Science (Wintersemester)

Contents:

Classical and modern concepts for data management and analysis of (semi-)structured data are covered.

Topics include:

XML / JSON Technologies

- Basics of XML and JSON

- DTD and XML Schema

- XPath, XSLT

- Queries on JSON documents

- Usage Scenarios

- Data Management Concepts

Basics of Data Warehousing

- Multidimensional Data Modeling

- Data Sources: Integration of Relational Database Systems, Web Services, JDBC/ODBC

- Some additional information on Privacy and Information Security in DBMS

- Planning and Implementation of ETL Processes

- Online Analytical Processing (OLAP)

- Introduction to NoSQL Databases and Big Data

Graph Databases

- Introduction to Graphs and Graph Management Systems

- Graph Database Query Language Cypher

- Modeling Concepts in Graph Databases

- Selected Data Analysis Concepts and Algorithms

- Data Analysis with Graph Databases

 

Learning Goals:

Understanding the challenges related to data management concepts and methods, as well as the development of data analysis systems for businesses.

Knowledge and experience in how data management and data analysis processes are carried out and implemented.

Familiarity with components and architectures of data warehouse systems.

Proficiency in practical usage of data management systems and non-traditional databases (e.g., graph databases).

Understanding of important procedures and technologies for data analysis in enterprises.

Relevance to the overall qualification:

- Specific specializations: IT technologies and analytical methods applied to business-related inquiries

Problem-solving competence:

- Ability to develop and implement solution strategies: Solving application-specific problems in the field of data management and data science

Methodological competence:

- Skill in logical, analytical, and conceptual thinking: Understanding procedural models, multidimensional modeling, database system integration, and the utilization of Data Science concepts,

as well as linking theoretical knowledge to develop solution concepts, require a high degree of logical and conceptual thinking.

- Students have an overview of non-relational database systems and their use cases.

- They are familiar with XML, JSON, ... as a foundational technology and can employ basic XML/JSON-based methods.

- Students possess an understanding of the requirements and technical solutions for scalable and high-performance data storage in demanding operational contexts.

Practical Experience and Professional Qualification

- Knowledge of practical tasks in the field of data management and data science

- Ability to solve problems under industrial conditions: Development of solution approaches based on prototypical real-world scenarios

- Students are capable of designing and implementing database-based solutions for practical problems.

Scientific Work Methodology:

- Ability to analyze and structure complex tasks: Analysis of use cases in the data management and data science domain.

Frontend Systems (Sommersemester)

Contents:

* Introduction to Web Technologies: Understand the basic building blocks of web development, including HTML for structuring web content, CSS for styling and layout, and JavaScript for adding interactivity and dynamic behavior to web pages.

* Advanced JavaScript and Modern ES6+ Features: More details about JavaScript, exploring modern ES6+ features such as let, const, arrow functions, template literals, modules, promises, and async/await, and learn how to apply these in real-world scenarios.

* Fundamentals of React: Learn the core concepts of React, including its component-based architecture, JSX syntax, and the use of state and props to manage data within components, enabling the creation of dynamic and interactive user interfaces.

* Advanced React Techniques: Explore advanced topics in React, such as the Context API for state management across the application, React hooks for managing state and side effects in functional components, and performance optimization strategies.

* Introduction to Svelte: Gain an understanding of Svelte, a modern JavaScript framework, and its unique approach to reactivity and component structure, along with hands-on experience building a simple Svelte application.

* Mobile User Interface Development with Flutter: Get introduced to Flutter and the Dart programming language, and learn how to create beautiful, natively compiled applications for mobile from a single codebase, focusing on building layouts and implementing navigation.

* State Management in Flutter: Explore various state management techniques in Flutter, including the use of StatefulWidgets, Provider, and Riverpod, to manage and maintain the state of applications effectively.

* Integrating APIs and Asynchronous Data Handling: Understand how to connect frontend applications with backend services using REST APIs and GraphQL, manage asynchronous data operations, and handle data fetching, caching, and error handling gracefully.

* Testing and Debugging Frontend Applications: Learn the best practices for testing and debugging frontend applications, including unit testing, integration testing, and end-to-end testing, using tools like Jest, React Testing Library, and Flutter's testing framework.

* IT Security in Frontend Development: Understand the principles of IT security as they relate to frontend development, including securing user input, preventing cross-site scripting (XSS) and cross-site request forgery (CSRF), and ensuring secure communication between frontend and backend systems. Introduction to the Open Web Application Security Project Top Ten list.

* Project Development and Deployment: Gain hands-on experience setting up development environments, following best practices in code organization and documentation, and deploying and maintaining frontend applications in a production environment.

 

Learning Goals:

* Understand the foundational principles of HTML, CSS, and JavaScript, enabling students to build and style basic web pages.

* Gain proficiency in using modern web frameworks like React and Svelte, understanding their benefits and application scenarios.

* Develop the ability to create dynamic and responsive user interfaces, utilizing advanced JavaScript techniques and CSS frameworks.

* Learn to build and manage state in complex applications, leveraging React hooks, context API, and other state management solutions.

* Explore mobile user interface development using Flutter and understand how to create cross-platform applications.

* Apply best practices in frontend development, including version control, testing, and deployment.

* Develop a comprehensive project from scratch, integrating all learned concepts to build a fully functional frontend application.

* Implement IT security best practices in frontend development, ensuring the development of secure, robust, and trustworthy web applications.

* Critically evaluate different frameworks and tools, making informed decisions on the best technologies for specific use cases.

The topics of the practical examples for the examination are provided by or agreed with the lecturer in the traditional degree programme. In the BIN dual study programme, a task from the company is worked on in consultation with the lecturer. This ensures practical relevance and feedback from the company.

ISM Standards and Processes (6810120) (Sommersemester)

Das Modul Informationssicherheitsmanagement (ISM) Standards und Prozesse beschäftigt sich mit der ganzheitlichen Gestaltung des Informationssicherheitsmanagements in Unternehmen und Organisationen. Informationssicherheit bedeutet nicht nur die Umsetzung technischer Maßnahmen zum Schutz der IT-Infrastruktur. Vielmehr müssen organisatorische, technische, physische und personelle Sicherheitsmaßnahmen aufeinander und auf die Ziele der Organisation abgestimmt werden. Wirksame Sicherheitskonzepte werden auf der Grundlage etablierter Rahmenwerke unter Berücksichtigung von Effektivität, Usability und Effizienz entwickelt, umgesetzt, auditiert und kontinuierlich verbessert.

Vor diesem Hintergrund deckt das Modul ISM Standards & Prozesse u.a. die folgenden Themen ab 

  • Aufbau und Inhalt von Informationssicherheitsmanagement (ISM) Standards und Frameworks (ISO27001, BSI IT-Grundschutz, CISIS12)
  • Erstellung von ganzheitlichen Informationssicherheitskonzepten
  • Organisatorische Sicherheitsmaßnahmen, z.B. Richtlinien für Informationssicherheit, Klassifizierungskonzept für Informationen
  • Metriken und Reifegradmodelle für Informationssicherheit
  • Incident Response und Business Continuity Management
  • Audits von Sicherheitskonzepten und -maßnahmen

IT-Sicherheit (5104211) (Sommersemester)

  • Bedrohungen
  • Netzwerksicherheit
  • Security Engineering
  • Maßnahmen zur Absicherung von Kommunikationen
  • Grundlagen der Computer-Forensik

Penetration Testing (6810110) (Sommersemester)

  • Verständnis des Berufsbilds „Penetration-Tester/-in“ bzw. „Security-Researcher/-in“ und Ablauf von Penetration-Tests
  • Verständnis und Anwendung populärer Schwachstellen in Web-Anwendungen, klassischen Anwendungen, Protokollen und Hard-ware-Komponenten
  • Post-Exploitation und Lateral-Movement
  • Rechtliche Grundlagen und Rahmenbedingungen
  • Bewertung und Einordnung von identifizierten Schwachstellen bzw. Risiken mit Reporting

Programmierprojekt (5100240) (jedes Semester)

Die Studierenden sollen in Gruppen eine eigene Anwendung umsetzen. Eine Anwendung könnte bspw. ein Spiel, eine Three-Tier-Webanwendung oder eine vergleichbare Anwendung sein. Mögliche Anwendungsteile wären dabei eine grafische Oberfläche (auch Weboberfläche), Datenbankanbindung inkl. Schemaentwurf, Netzwerkkommunikation, KI, etc.

Weiterhin erstellen die Studenten eine Dokumentation (Gesamtüberblick, verschiedene Anwendungsfälle, die wichtigsten Aktivitäts- und Sequenzdiagramme, etc.).

Social Engineering & Awareness (6810060) (Wintersemester) - nur auf Englisch

The module Social Engineering and Security Awareness focuses on the human factor of information security. People make a decisive contribution to information security in companies with their behaviour - they are an important security factor. Due to this influence, they are increasingly targeted by cyber criminals. The module primarily looks at these two aspects - security factor and victim - of the human factor in information security.


Information security awareness describes the sensitisation of employees for information security (security factor). The module contains the following contents on awareness:

- Concept and models, psychological understanding of awareness

- Practical examples of awareness measures

- Promoting and measuring awareness


Social engineering is the targeted manipulation of people in order to seduce them into unintentional actions (victims). The following contents, among others, are dealt with in social engineering:

- Basics and forms

- Psychological tricks

- Phishing and phishing simulations

Software Engineering 1 (5101510) (Sommersemester)

  • Grundbegriffe
  • Zielsetzungen und Prinzipien des Software Engineerings
  • Vorgehensmodelle (Wasserfall, V-Modell XT, agile Modelle)
  • Darlegung der Ergebnistypen der Softwareentwicklungsphasen mit Methodenzuordnung
  • Grundlagen der objektorientierten Funktions- und Datenmodellierung
  • Objektorientierte Analyse auf der Basis von UML (Use Case Modellierung, Erstellung statischer Modelle, Erstellung dynamischer Modelle)

Softwareentwicklungsprojekt (5001010) (jedes Semester, 10 ECTS-Punkte)

Die Studierenden sollen in Gruppen eine eigene Anwendung umsetzen. Eine Anwendung könnte bspw. ein Spiel, eine Three-Tier-Webanwendung oder eine vergleichbare Anwendung sein. Mögliche Anwendungsteile wären dabei eine grafische Oberfläche (auch Weboberfläche), Datenbankanbindung inkl. Schemaentwurf, Netzwerkkommunikation, KI, etc.

Weiterhin erstellen die Studenten eine Dokumentation (Gesamtüberblick, verschiedene Anwendungsfälle, die wichtigsten Aktivitäts- und Sequenzdiagramme, etc.).

System-oriented Programming (Wintersemester)

* Definition and meaning of system-oriented programming

* Using the command line of an operating system

* Shell programming using the example of Bash

* Working on remote computers with ssh 

* Data processing on the command line with sed, awk, sort, jq

* Using AI assistance systems (e.g. GitHub Copilot, ChatGPT)

* Editing text documents with vim

* Using the version control system Git

* Introduction to the C programming language (syntax, data types, pointers, memory management)

* Build systems make, cmake, bazel

* System programming under Linux (system calls, handling files, processes)

* Debugging, profiling and performance optimisation (gdb, strace, ltrace, gprof) 

* Security aspects of system-related programming and protection mechanisms

* Structure of the Linux operating system

* Processes, process management, scheduling

* Inter-process communication, race conditions, deadlocks, semaphores, Petri nets and deadlock detection, philosopher problem, producer-consumer problem

* Memory management, memory abstraction, partitioning, fragmentation, free memory management, virtual memory, page exchange algorithms

* Input and output, direct memory access, interrupts, hard disks, file systems for hard disks

* Backup methods, automation, data integrity

* Network communication and implementation of network protocols 

* Hypervisor technologies, Docker containers, resource management

Bachelorarbeit (5103500) (jedes Semester, 15 ECTS-Punkte)

Das Bachelorarbeitsmodul setzt sich zusammen aus der Bachelorarbeit (12 CP) sowie dem Bachelorseminar (3 CP).

Die Bachelorarbeit umfasst eigene Studien und Recherchen über den Stand der Technik und der Wissenschaft des jeweiligen Themengebiets. Die Arbeit muss von Randbedingungen abstrahieren, die ihrer Natur nach nicht technisch begründet sind, sondern aus den spezifischen Gegebenheiten des Unternehmens resultieren. Soweit softwaretechnische Lösungen als Teil der Aufgabe gefordert sind, heißt das in der Regel, dass Prototypen implementiert werden, nicht aber die Sicherstellung von Produkteigenschaften (inkl. begleitender Handbücher etc.) eingeschlossen ist. Im Bachelorseminar werden die Grundzüge des wissenschaftlichen Arbeitens vermittelt und geübt.

FWPM in englischer Sprache

Die folgenden Fachwissenschaftlichen Wahlpflichtmodule (FWPM) werden, sofern sie aufgrund der Nachfrage angeboten werden, auf Englisch angeboten:

Automotive and Industrial Cybersecurity (Wintersemester)

Contents:

Part I: Automotive Cybersecurity

Introduction to Automotive Cybersecurity

• Architecture of Modern Vehicles

• Cybersecurity Challenges of Modern Vehicles and E/E Architectures

• Review of Cybersecurity Fundamentals: Definitions, CIA triad, Other Cybersecurity Properties

• Cryptography Basics (Encryption, Authentication, Public-Key Encryption, Algorithms, Cryptographic Hash Functions, Modes of Operation, Message Authentication Codes, Digital Signatures, Diffie-Hellman)

Legislation and Standardization for Cybersecurity in the Automotive Industry

• Introduction to Automotive Cybersecurity Regulations and Standards: UN ECE WP.29 and the UN Regulations No. 155 and 156, Vehicle Type Approval, Overview of Global and European Approach

• Introduction to the International Standard ISO/SAE 21434

• Related and Upcoming Standards

Introduction to Risk Management

• What is Risk?

• Risk Management in Other Areas

• Short Overview of (Cybersecurity) Risk Management Methods and Systems: ISO/IEC 27001, BSI-Standard 200-1, ISO/IEC 27005, ISO 31000, ISO 22301, IEC 62443, Comparison of Terms Between Systems

• Threat Analysis and Risk Assessment (TARA)

• Introduction to Automotive TARA According to ISO/SAE 21434

• TARA for Embedded Devices and TARA at Vehicle Level (E/E Architecture)

Automotive Threat Analysis and Risk Assessment (TARA) According to ISO/SAE 21434

• Scope of a TARA, Attacker Model, Item Definition

• Asset Identification (Typical Assets for Automotive Embedded Systems)

• Cybersecurity Properties (CIA Triad and Other Properties)

• Definition of Damage Scenarios

• Identifying Threats: Overview of Threat Modelling, STRIDE, Brainstorming, MITRE ATT&CK, OWASP

• Definition of Attack Paths: Identification and Description of Attack Paths, Attack Trees, Vulnerabilities

• Attack Feasibility Evaluation

• Risk Evaluation

• Risk Treatment Decision: Cybersecurity Goals

• Cybersecurity Claims, Typical Controls for Automotive Embedded Systems

Part II: Industrial Cybersecurity

Introduction to Industrial Control Systems

• Introduction to Industrial Control Systems: Industrial Security, Basic Process Control Systems, Differences Between IT and OT Systems

• Components and Architecture of Industrial Control Systems: Field Devices, Programmable Logic Controllers, Distributed Control Systems

• Components and Architecture of Industrial Control Systems: Supervisory Control and Data Acquisition (SCADA) Systems, Network Transmission Media, Field Device Architecture, Industrial Network Protocols, Enterprise Network Protocols, Industrial Safety and Protection Systems, Safety Instrument Systems (SIS), OT/IT Network Integration, Purdue Reference Model

Fundamentals of Industrial Cybersecurity and Secure ICS Architectures

• Introduction to Cybersecurity Challenges in the Modern Industry (Industry 4.0): Examples of Attacks, MITRE ATT&CK Database, SHODAN

• Overview of Relevant EU Cybersecurity Regulations

• Secure ICS Architecture: Boundary protection, Firewalls, Industrial Demilitarized Zone, Proxies, Network Zoning, Data Diode, Zero Trust Architecture (ZTA)

Access Management, Monitoring and Incident Response

• Access Management and Access Control Models

• ICS Access Control

• Access Control for Cloud Systems

• Passive Security Monitoring: Network Packet Sniffing, Collection and Correlation of Event Logs, Security Information and Event Management (SIEM)

• Active Security Monitoring

• Incident Response: The Incident Response Lifecycle, Incident Recognition and Triage, Incident Response, Post-Incident Activities

The International Standard IEC 62443

• Overview of the International Standard ISA/IEC 62443: Basic Terminology, Security and Maturity Levels, Security Objectives and Foundational Requirements

• Defense-in-Depth Principle

• Threat-Risk Assessment

• Security Program Maturity

• Security Zones and Conduits

• Security Policies

• Security Level Lifecycle

• Reference Models – Asset Models, Reference Architecture, Zone and Conduit Model

• Policies and Procedures

• Security Levels and Functional Requirements

• Secure Development Lifecycle

 

Learning Goals:

Knowledge

• Students understand the architecture and cybersecurity challenges of modern vehicles, including the basics of E/E architectures, and are familiar with cybersecurity fundamentals such as the CIA triad, cryptographic principles, and automotive cybersecurity standards and regulations.

• Students know the essentials of risk management and threat modeling, including terminology, standards, and methods for conducting threat analysis and risk assessment (TARA) in both automotive and industrial contexts.

• Students know fundamental cybersecurity protection concepts for industrial control systems (ICS), understand the differences between ICS and classical IT, understand terminology and concepts of the IEC 62443 standard, and are aware of relevant guidelines and regulations.

 

Skills

• Students are capable of performing comprehensive threat analysis and risk assessment (TARA) for automotive systems and industrial/operational technology (OT) environments, identifying vulnerabilities, and evaluating risks.

• Students are able to manage and develop the work products of automotive development projects in accordance with the international standard ISO/SAE 21434.

• Students can design and implement secure network architectures for industrial systems, applying principles such as zoning, Zero Trust, and Defense-in-Depth.

 

Generic Competences

• Develop analytical, structured, and logical thinking skills to systematically evaluate and address cybersecurity challenges in both automotive and industrial contexts.

• Enhance abstraction skills to understand and apply complex cybersecurity concepts, standards, and risk management techniques.

Blockchain und Smart Contracts

In diesem Modul erhalten die Studierenden tiefe Einblicke in die Blockchain Technologie sowie Smart Contracts. Nach Vermittlung der Grundlagen, werden die Studierenden in Teams aufgeteilt, um geeignete Anwendungsfälle prototypisch umzusetzen. Am Ende des Moduls sind die Studierenden in der Lage Anwendungsfälle zu bewerten und praktisch umzusetzen.

Folgende Inhalte werden den Studierenden vermittelt:

- Anwendungsfälle bewerten

- Wie funktionieren Blockchains

- Wie funktionieren die verschiedenen Konsensmodelle

- Einführung in Contract-oriented Programming

- Einführung in Solidity und geeignete Entwicklungsumgebungen

- Einführung in die Programmierung von Smart Contracts

- Testen und Debuggen von Smart Contracts

- Gängige Design Patterns zu Smart Contracts

- Deployment und Management von Smart Contracts

- Grundlagen zu Dezentralen Applikationen (DApps)

- Frameworks zur Programmierung von DApps

- Entwicklung von DApps

- Deployment von DApps

- Testen von DApps

Data Science with R (5003806) (Sommersemester)

R ist eine quelloffene Statistiksoftware, die in den 1990er Jahren von Ross Ihaka und Robert Gentleman entwickelt wurde. Seitdem hat die Popularität von R von Jahr zu Jahr zugenommen, und mit ihr auch ihre Community.

Dieser Kurs hat zwei Hauptziele. Zum einen erhalten Sie eine Einführung in die Programmiersprache R, d. h. Sie lernen die wesentlichen Konzepte wie Vektoren, Kontrollstrukturen, Funktionen usw. durch praktische Computerübungen kennen.

Das zweite Ziel ist die Anwendung von R-implementierten Methoden im Bereich der Data Science. Dies reicht von der einfachen Datenerfassung über Methoden zur Betrugserkennung bis hin zu modernen Algorithmen zur Gesichtserkennung. In den praktischen Computerübungen werden Sie einige dieser Methoden selbst implementieren und an Beispieldatensätzen testen. 

Am Ende der Vorlesung werden Sie in der Lage sein, Daten in R einzulesen, grafisch ansprechend aufzubereiten und mit modernen statistischen Algorithmen zu analysieren. Sie können die Ergebnisse zusammenfassen, interpretieren und grafisch darstellen.

Die Vorlesung wechselt zwischen zweistündigen Präsenzveranstaltungen und zweistündigen praktischen Übungen.

Computer Vision: Artificial Intelligence Applied (5003817) (Sommersemester)

Haben Sie sich schon einmal gefragt, wie Selbstbedienungskassen Waren scannen, selbstfahrende Autos Fußgänger erkennen, Computer Hautkrebs feststellen und 3D-Modelle von Sehenswürdigkeiten wie dem Kolosseum gescannt werden?

Dieses Modul soll diese und viele weitere Fragen beantworten, indem es

- einen Überblick über die Probleme und Ansätze der Computer Vision vermittelt, für so unterschiedliche Anwendungen wie Automatisierung, Robotik, medizinische Bildgebung und Photogrammmetrie.

- in die Grundlagen neuronaler Netze einzuführt, die zum Entwickeln künstlicher Systeme mit Wahrnehmungsfähigkeiten auf menschlichem Niveau benötigt werden.

Das Modul spannt einen Bogen vom Auswählen geeigneter Ausrüstung für visuelle Inspektionsaufgaben bis hin zur Bildklassifikation mit Convolutional Neural Networks und der Bildsuche mit Bag-of-Visual-Words-Modellen. Die wichtigsten behandelten Themen sind:

1.         Bildaufnahme, -digitalisierung und -verbesserung

2.         Merkmalsextraktion, Segmentierung und Morphologie

3.         Kameramodellierung und -kalibrierung, Stereosehen

4.         Klassifizierung, Grundlagen neuronaler Netze und Convolutional Neural Networks

Dieses Modul wird auf Englisch und hybrid (online und vor Ort) gelehrt. Alle Sitzungen werden aufgezeichnet. Kolloquien können auf Englisch oder Deutsch erfolgen.

Mobile Applikationen (5003069) (Sommersemester)

Introduction to Dart Programming

  • Short Overview of Flutter: History, advantages, and architecture.
  • Introduction to Dart programming language.
  • Setting up the development environment.

Introduction to Flutter – Flutter GUI development

  • Understanding widgets and basic UI elements.
  • Understanding Stateful and Stateless widgets.
  • Layout widgets: Row, Column, Stack, etc.
  • Basic interaction elements: Buttons, sliders, and switches.

Navigation and State Management

  • Navigation patterns: push/pop navigation, named routes.
  • State management basics: setState, Provider.
  • Implementing forms and user input handling.

Working with External Data

  • Fetching data from the internet (APIs).
  • JSON serialization and deserialization.
  • Firebase

Integrating Device APIs like Location and Camera

  • Introduction to Device APIs in Flutter.
  • Implementing location services: getting and using GPS data.
  • Accessing and using the camera: taking pictures and video recording.
  • Permissions handling for location and camera.

Testing Advanced Features and Best Practices

  • Animations and transitions.
  • Using custom fonts and assets.
  • Best practices in Flutter development.
  • Testing Flutter Apps

Clean Code (5003073) (Sommersemester)

Contents:

This course will be organised as a seminar, in which students develop a presentation about one topic of Clean Code. Students are required to read book chapters and search for further information in research papers, and on Web pages. At the beginning of the semester, the lecturer will introduce into the overall topic. During the semester, the lecturer assists students in all aspects of technical problems and supports in designing the presentation. The course will be only on-site at our campus SHL. Because of a high number of international students in this course, working language will be only English. Students should bring an own project and improve it with regards to Clean Code during the semester. The topics of the expected presentations should cover the following aspects of Clean Code development:

  • Meaningful Names, Functions, Classes, SOLID
  • Comments, Formatting, Code Styles, Code Smells
  • Exception Handling
  • Fluent Interfaces and Internal DSLs
  • Test-Driven Development and Regression Testing
  • Acceptance tests
  • Code Refactoring
  • Continuous Integration, Jenkins, Code Coverage
  • Design Pattern
  • Logging und Error Handling
  • Code Dojos
  • Katas

Learning outcomes:

  • Students can explain the importance of Clean Code development using practical examples.
  • Students know the most important techniques of Clean Code development.
  • Students can analyze existing source code and suggest means to improve code quality.
  • Students know how to introduce the goals of Clean Code development in software development teams and how to raise awareness.

Literature:

Robert C. Martin: Clean Code: A Handbook of Agile Software Craftsmanship, Prentice Hall, 2008

Requirements Engineering (5003067) (Sommersemester)

Grundbegriffe des RE

Taskorientiertes, goal-basiertes und objektorientiertes RE

Elicitation Techniken

Analyse Techniken

Modellierungstechniken

User Experience und RE

Fallbeispiele des Requirements Engineering

Software Testing (5003810) (Sommersemester)

1.Grundlagen des Testens

  • Motivation: Warum sollte man Testen?
  • Testen != Testen
  • verschiedene Testarten im Allgemeinen
  • Funktionale und nicht funktionale Tests
  • Testpyramide
  • Vorstellung der Virtuellen Maschine

2. Testautomatisierung

  • Was ist Testautomatisierung?
  • Unterschiede verschiedener Arten
  • Maven Exkurs
  • Testframework JUnit
  • Annotationen
  • Assertions

3.Testarchitekture

  • Schichten Konzept
  • Design und Development 

4.Testen von Grafischen Oberflächen

  • Einführung Selenium
  • Driver
  • PageObject Pattern
  • Identifier
  • Waits
  • Cookies

5.Behaviour Driven Development

  • Was ist BDD
  • Feature Files & Step Files
  • Cucumber & Gherkin

6.Mocking

7.Exploratives Testen

8.Build Server Jenkins

  • Grundlagen
  • Pipelines
  • DevOps Prozess aus Testing Sicht

Internationale Woche

Im Sommersemester (je nach Feiertagen um Mai oder Juni) veranstaltet die Fakultät jedes Jahr eine Internationale Woche für Studierende der Bachelorstudiengänge. In der Woche werden etwa fünf bis sechs Wahlkurse parallel von Dozentinnen und Dozenten unserer Partnerhochschulen angeboten. Die Kurse finden von Montag bis Freitag von ca. 9 bis 18 Uhr statt. Die Prüfungen für diese Module finden am Freitagnachmittag statt.

Die Kurse richten sich vor allem an Studierende ab dem sechsten Semester. In dieser Woche werden alle anderen Kurse für das sechste Semester ausgesetzt.

Alle Kurse sind 5 ECTS-Punkte wert. Da alle Kurse parallel laufen, können die Studierenden nur einen Kurs wählen!

Die nächste Internationale Woche findet vom 03.06. bis 07.06 2024 statt. Die folgenden Kurse sind für das Angebot vorgesehen:

Computer Networks and Cyber Security (Siavosh Haghighi Movahed, Sheffield Hallam University, UK)

This module is designed to provide students with the knowledge and skills necessary to design, implement, and manage secure computer networks.

In this module, students will gain a solid foundation in establishing and maintaining robust network infrastructures. Simultaneously, the module addresses the critical aspect of securing these networks against potential threats, ranging from cyberattacks to data breaches. Through a combination of theoretical concepts and practical exercises, students will develop the expertise needed to identify vulnerabilities, implement security measures, and formulate strategies to safeguard information assets in the interconnected world of computer networks.

In addition to providing a broad range of fundamental computer networking and security knowledge for all IT careers, this module will also provide students with an opportunity to further self-study and gain conceptual knowledge and practical skills required for 200-301 Cisco® Certified Network Associate (CCNA®) exam.

Digital Technology Landscape (SK Iyer, Infosys, India)

Today's Business aims at saving cost, to improve margin or to reinvest. Or maybe your enterprise is still trying to grow. Perhaps this is the time for a pivot - to reinvent the business model. Some of the Businesses may even need to do all of these at once.


Business leaders and technologists must assess the potential impact of these technology trends on their specific strategies, such as growing revenue, accelerating digital, maximizing value from data, or protecting and building your brand. Client centric digital offerings have become the primary focus of Solution providers.

This course aims to introduce to some of the emerging digital technologies which are the new foundations of a Live Enterprise.


The following are the 4 main aspects of an IT Project.
(1) People
(2) Process
(3) Technology
(4) Domain

The scope covers few trending technologies and processes widely practiced in the industry: A: Technology: Al & ML, Process: Agile B: Technology: Big data and BI C: Technology: Cyber Security & Cloud D: Process: DevOps

  1. Introduction to Ethical Hacking and Vulnerability Analysis
    Fundamentals of key issues in the information security world, including the basics of ethical hacking. Different vulnerability assessment and Penetration testing tools: Shodan, Nmap, Nexpose, Netcraft, privateeye, Google advanced search operators, Harvester, Burpsuite

  2. Social Engineering and Session Hijacking
    Social engineering concepts and techniques, including how to identify theft attempts. Case Study: Phishing attack MiM attack: Kali Linux, BettrCap, SetTool Kit, GoFish

  3. Hacking Web Servers and Hacking Web Applications
    Web server attacks, including a comprehensive attack methodology used to audit vulnerabilities in web server and web applications. web application hacking methodology, SQL Injection attack, HTTrack

  4. IoT and Cloud Hacking
    IoT and Cloud attacks, hacking methodology, hacking tools, IoT and cloud security techniques and tool

Holistic E-business Setup (5003807)

Contents:

  • Basic e-business UX operations
  • Website analytics and audience building
  • Additional analytics and conversion measurement
  • Keyword analysis and paid placement strategies
  • Performance measurement and reporting

After the course, student will learn:

  • the basic UX principles regarding electronic business, and evaluate them by using different heuristics
  • to perform Search Engine Optimization audit and for a credible SEO strategy for mid-sized business
  • to implement Google Analytics GA4 tool and configure websites events, conversions, and audiences
  • to implement Google Tag Manager and integrate it to the GA4 tool
  • the basics of keyword analysis and implement the results in search campaigns
  • to report relevant e-business -related KPIs

Introduction in Machine Learning (5003139)

This module introduces the core ideas and the basis techniques of machine learning. It covers theory, algorithms and applications, focusing on real understanding of the principles of inductive learning theory and of several machine learning techniques.

  • Concept Learning
  • Decision Tree Learning
  • Bayesian Learning
  • Artificial Neural Networks
  • Support Vector Machines

Phyton is the programming language used in this module but prior knowledge of Python programming is not required. Students will gain all required knowledge in a step-by-step fashion, through examples.

Principles of Autonomous Drones (5003809)

This course will cover the basic principles for endowing aerial autonomous drones with perception, planning, and decision-making capabilities. You will learn algorithmic approaches for robot perception, localisation, and simultaneous localisation and mapping, as well as the control of non-linear systems, learning-based control, and aerial drone motion planning. The course will introduce methodologies for reasoning under uncertainty. It will include use of the Robot Operating System (ROS) for demonstrations and hands-on activities.

- Explain the principles of motion control.
- Explain basic concepts of perception, from classic to deep learning approaches.
- Explain principles of localisation and SLAM.
- Explain navigation algorithms, planning, decision making.

Bewerbung für ein Semester an unserer Fakultät

Bitte beachten Sie die Voraussetzungen für ein Studium an unserer Hochschule. Sie können sich online für ein Semester an unserer Hochschule bewerben.

Gastprofessorinnen, Gastprofessoren und Gastdozierende

Wir haben Erfahrung in der Aufnahme von Kollegen von ausländischen Universitäten. Seit vielen Jahren organisiert unsere Fakultät eine Internationale Woche, bei der ein kompletter Kurs innerhalb einer Woche angeboten wird.

Darüber hinaus laden wir die Kolleginnen und Kollegen ein, einen längeren Zeitraum (zwischen zwei Wochen und zwei Monaten) an unserer Fakultät für Lehre und Forschung zu verbringen.

Kontakt

Bei Fragen wenden Sie sich bitte an den Auslandsbeauftragten Prof. Dr. Peter Braun.