International Students and Guests

Faculty of Computer Science and Business Information Systems

With more than 1.200 students and currently 24 professors, the Faculty of Computer Science and Business Information Systems of the THWS is one of the largest faculties of the university. It is located in Würzburg at the Sanderheinrichsleitenweg together with the Faculty of Design.

We currently offer the following degree programmes mainly in German:

  •  E-Commerce (Bachelor of Science)
  •  Computer Science (Bachelor of Engineering)
  •  Business Information Systems (Bachelor of Science)
  •  Digital Business Systems (Master of Science)

Starting sommer semester 2022 we offer an master degree programme Artificial Intelligence in english language

We are also active in the areas of research, especially in cooperative doctoral projects of more than ten doctoral students. Among our colleagues are two research professors for Socio-Informatics and Internet of Things.

The faculty supports our University's strategy of internationalisation by offering a wide range of opportunities to our students for semesters abroad and field trips as well as through the International Week.

Semester Schedule

Winter Semester

  • Semester starts on 1 October
  • Courses end at end of January
  • Exam period lasts until mid of February

Summer Semester

  • Semester starts on 15 March
  • Courses end at beginning of July
  • Exam period lasts until end of July / beginning of August

From the following list it can be seen that most of the English-taught courses are offered in the summer semester. Therefore, we strongly recommend to spent a semester abroad at our Faculty during the summer semester.

Modules taught in English

The following courses are normally taught in German but the lecturer can switch to English if a foreign student without proper knowledge of German takes part. Except otherwise noted, all modules are worth 5 ECTS credits.

IT Security (5104211) (summer semester)

  • Threats
  • Network Security
  • Security Engineering
  • Measures for securing communications
  • Basics of computer forensics

Software Engineering 1 (5101510) (summer semester)

  • Basics
  • Objectives and principles of software engineering
  • Development models (waterfall, V-model XT, agile models)
  • Representation of the result types of the software development phases with method assignment
  • Basics of object-oriented function and data modeling
  • Object-oriented analysis based on UML (use case modeling, creation of static models, creation of dynamic models)

Software Engineering 2 (5102810) (summer semester)

  • Object-oriented analysis and design based on UML (context, analysis and design models; tasks of object-oriented design, component-based development, interface specification, UML design diagrams, design patterns); software architectures
  • testing (basics, objectives, test lifecycle, test case design methods, special features of testing object-oriented systems, review techniques, test organization)
  • optional: measurement and evaluation of software (measurement models, GQM, exemplary software measures)
  • Students learn the basics of object-oriented design as well as methodical testing
  • Build systems, configuration management, Docker
  • Skill in analyzing and structuring technical problems: Using suitable examples, students learn how to structure and design complex technical problems
  • Selection and safe application of suitable methods: The students learn the advantages and disadvantages of suitable methods from the design and test area in order to be able to make a targeted, adequate use of methods for a given problem

Programming Project (5100240) (summer semester)

The students are to implement their own application in groups. An application could be a game, a three-tier web application or a comparable application. Possible application parts would be a graphical user interface (also web interface), database connection incl. schema design, network communication, AI, etc.

Furthermore, the students will create a documentation (general overview, different use cases, the most important activity and sequence diagrams, etc.).

Introduction to Distributed Systems (5101320) (summer semester / online course can be taken in winter semester)

Architecture of distributed systems, differences between peer-to-peer and client-server.

Client-server architectures, protocols for remote procedure call, for example Remote Method Invocation, 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.

Information Security Management (5104212) (winter semester)


  • Basics Concepts in Information Security Management
  • Information Security Policy
  • The Human Factor in Information Security
  • Information Security Management System
  • Information Security Frameworks
  • Organising for Information Security

Learning Outcomes

  • The students gain a deep insight into the field of activity of an information security manager. The focus is on the role of the "human factor" for information security in companies.
  • They are familiar with the most important methods and models of information security management and can select and apply them according to the situation.
  • You will understand the sometimes conflicting requirements of the various information security stakeholders in practice and be able to act in this area of conflict.
  • They are able to independently familiarize themselves with new areas of knowledge, inform themselves about current developments in the field of information security and correctly assess their practical significance.
  • Using examples, students implement concrete security requirements in practice and test their effectiveness.

Software Development Project (5001010) (every semester, 10 ECTS credits)

The students are to implement their own application in groups. An application could be a game, a three-tier web application or a comparable application. Possible application parts would be a graphical user interface (also web interface), database connection incl. schema design, network communication, AI, etc.

Furthermore, the students will create a documentation (general overview, different use cases, the most important activity and sequence diagrams, etc.).

Bachelor's Thesis (5103500) (every semester, 15 ECTS credits)

The bachelor thesis module consists of the bachelor thesis (12 ECTS) and the bachelor seminar (3 ECTS).

The bachelor thesis includes own studies and research on the state of the art and science of the respective subject area. The thesis must abstract from boundary conditions that are not technically based by their nature, but result from the specific circumstances of the company. As far as software-technical solutions are required as part of the task, this usually means that prototypes are implemented, but does not include the assurance of product features (incl. accompanying manuals etc.). In the bachelor seminar the basics of scientific work are taught and practiced.

Electives taught in English

The following courses are electives to be taken by bachelor's students in their final year. Whether the courses are offered depends on whether enough students have chosen them. All courses are worth 5 ECTS points.

Data Science with R (summer semester)

R is a open source statistical software developed by Ross Ihaka and Robert Gentleman in the 1990s. Since then, as R's popularity has increased year by year, so has its community.

This course has two main objectives. Firstly, you will get an introduction to the programming language R, i.e. you will learn the essential concepts such as vectors, control structures, functions, etc. through practical computer exercises.

The second objective is the application of R-implemented methods in the field of Data Science. This ranges from simple data acquisition to methods for fraud detection and finally to modern algorithms for face recognition. You will implement some of these methods yourself in the practical computer exercises and test them on sample data sets.

At the end of the lecture you will be able to read data into R, prepare it in a graphically appealing way and analyse it with modern statistical algorithms. You can summarise, interpret and graphically present the results.

The lecture alternates between two-hour face-to-face lectures and 2-hour practical exercises.

Defensive Security (5003802) (summer semester)

Students learn technical mechanisms and operational procedures for analyzing and preventing digital attacks and risks (e.g., analysis of malware) and apply them.

The focus is on identifying and understanding attack scenarios, the (open source) tools used for defense and the technical implementation of appropriate countermeasures (e.g. firewalls or intrusion detection systems).

The topic of secure software development, information gathering and appropriate classification of attacks as well as conceptual security analyses are also included.

Introduction to Computer Vision (summer semester)

The aims of this module are

- To give an overview of both classical and state-of-the-art techniques used in computer vision systems for automation, robotics, and medical imaging.

- To introduce the fundamentals of neural networks, required for endowing intelligent agents with visual perceptual skills.

The module spans from selecting the appropriate equipment for visual inspection tasks to image classification with convolutional neural networks. It presents techniques from digital image processing, range sensing, and computer vision, together with applications and case studies.

The major topics covered are:


1. Image acquisition and digitization, filtering and segmentation

2. Feature detection, extraction, and matching

3. Camera modeling and calibration, range sensing

4. Classification, neural network basics, and convolutional neural networks

Linux/UNIX Fundamentals (5003199) (summer semester)

Even though GNU/Linux-based operating systems are still hardly used on the desktop, they are dominant on servers, routers and firewalls, mobile devices, single-board computers and a variety of other platforms. This module provides hands-on general knowledge about Linux-based as well as other unixoid operating systems and their usage without getting tangled up in specifics of specific platforms or distributions. The accompanying exercises are carried out in virtualized environments with Debian GNU/Linux, Alpine Linux as well as NetBSD.

The module is primarily intended for students who have no or only superficial experience with GNU/Linux or other unixoid operating systems. The following topics will be covered:

  • History
  • UNIX philosophy
  • Kernel vs. userland
  • Installation - user and rights management
  • Files and devices
  • Processes
  • Configuration files
  • Package management systems
  • Network configuration
  • Mandatory Access Control (Apparmor, possibly SELinux)
  • System services
  • Drivers and kernel modules
  • Hardening
  • Logging

Mobile Applications (5003069) (winter semester)

Basics of the Android operating system

Graphical user interfaces with Material Design and Animations

Structure and lifecycle of mobile applications

Network communication, REST, Bluetooth, Firebase

Geolocation and other sensors

Development tools, debugging, build tools, testing procedures

Publication in App Stores

Requirements Engineering (summer semester)

Basic concepts of RE

Task-based, goal-based and object-oriented RE

Elicitation techniques

Analysis techniques

Modeling techniques

User Experience and RE

Case studies of requirements engineering

Safe and secure programming in Rust (5003801) (summer semester)

The Rust programming language is steadily gaining popularity and is used in leading open source projects such as the Linux kernel or the Firefox browser. Rust is particularly attractive because the language enables both system-oriented and application-oriented programming, while pursuing the goal of making programs as secure as possible. A central role plays thereby the memory management, which gets along without Garbage Collector.

In the first part of the course, after an introduction to the basics of the programming language Rust (syntax, concepts), comparisons to other programming languages (e.g. Java or C/C++) are drawn and explained, especially with regard to security-relevant topics. In the second part of the course, students deepen the theory through practical work on a development project. They can choose between web development using WebAssembly and the development of native mobile Linux applications, or they can contribute their own suggestions from other areas of Rust programming.

The course follows the concept of 'inquiry learning' and therefore requires a corresponding degree of initiative and willingness to learn. In particular, students are expected to acquire part of the knowledge independently by means of designated tutorials (in contrast to the programming courses in the lower semesters).

International Teaching Week

Every year during the summer semester (around May or June, depending on the public holidays), our Faculty organises an International Teaching Week for students in the bachelor's programmes. During this week, approximately eight to ten elective courses are offered in parallel by lecturers from our partner universities. The courses take place from Monday to Friday from approx. 9:00 to 18:00. The exams for this module are held on Friday afternoon.

The courses are mainly aimed at students in the 6th semester or higher. During this week all other courses for the sixth semester will be suspended.

All courses are worth 5 ECTS credits. Since all courses run in parallel, students can only pick one course!

The next International Teaching Week will take place from 22 May 2022 to 26 May 2023. The following courses are planned to be offered:

ABCD - New Foundation of Technologies

People, Process, Domain and Technologies are the 4 dimensions of any IT solution. In order to keep up with the pace in which business changes, newer processes and technologies have emerged.

In this lecture, you will be introudced to few technologies and process aspects of enterprise applications.

A brief over view will be provided on the “People” aspect.

Technologies and Processes are commonly used as per the need, across various Domains. We will consider one or two domains as case studies to understand the application of technologies.


A-Artifical Intellegence

B-Big data and Data Analytics

C-Cloud/Cyber Security





Design Thinking

Advanced Web Applications (5003057)

Web Development tools

  • Visual

Server Side Programming

  •, VB.NET
  • MVC based web application development

Data access over the Web

  • SQL Server and XML
  • Web Services

The Framework

  • Understanding Microsoft's .net vision
  • Develop web applications using MVC
  • Reviewing components of the .net framework which relate to Web application development
  • Corporate implications of .net
  • .net Implementation issues and performance considerations

Future perspectives

  • Anticipating future market developments/business trends in Web technology
  • Evaluating potential success or failure of specific technological approaches
  • The pros and cons of utilising cutting edge technology

Holistic E-business Setup

The module will present the students a holistic approach to constructing a successful online business. The course will include practical examples and hands-on experiences. Emphasis will be on business, and no previous experience on the topics or coding are required. Basic understanding of web technologies will help, however. The topics cover the following areas:

  • Basic online business principles: business and revenue models, value creation, KPIs
  • Usability and findability: UX design principles and heuristics, search engine optimization, online advertising
  • Online measurement and analytics: Google Analytics: implementation and configuration, debugging, conversion, audiences, Google Tag Manager fundamentals: tagging, triggering, integration to the website and GA4
  • Reporting and controlling: Google Looker Studio: data retrieval, dashboard configuration, connection to 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.

Online Marketing Management (5003118)

Marketing Management, Internet Marketing
International Marketing
Social Media
Digital Marketing Metrics

Principles of Autonomous Drones

The description of the module will follow shortly


Please check the requirements for studying at our University. You can apply for a semester at FHWS online.

Guest professors and guest lecturers

We have experience in hosting colleagues from foreign universities. For many years, our Faculty organises an International Teaching Week, where a full course is given within a single week.

Besides that, we invite colleagues to spend a longer period of time (between two weeks and two months) at our Faculty for teaching and research.


If you have any questions, please contact the International Affairs Officer Prof. Dr. Peter Braun.