International Students and Guests

Faculty of Computer Science and Business Information Systems

With more than 1,300 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:

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 English. Except otherwise noted, all modules are worth 5 ECTS credits.

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.

ISM Standards and Processes (6810120) (summer semester)

The module Information Security Management (ISM) Standards and Processes deals with the holistic design of information security management in companies and organisations. Information security does not only mean implementing technical measures to protect the IT infrastructure. Rather, organisational, technical, physical and personnel security measures must be coordinated with each other and with the objectives of the organisation. Effective security concepts are developed, implemented, audited, and continuously improved on the basis of established frameworks, taking into account effectiveness, usability and efficiency.

Against this background, the module ISM Standards & Processes covers, among others, the following topics:

  • Structure and content of information security management (ISM) standards and frameworks (ISO27001, BSI IT-Grundschutz, CISIS12)
  • Creation of holistic information security concepts
  • Organisational security measures, e.g., guidelines for information security, classification concept for information
  • Metrics and maturity models for information security
  • Incident response and business continuity management
  • Audits of security concepts and measures

IT Security (5104211) (summer semester)

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

Penetration Testing (6810110) (summer semester)

  • Understanding of the job description "penetration tester" or "security researcher" and the process of penetration tests
  • Understanding and application of popular vulnerabilities in web applications, classic applications, protocols and hardware components
  • Post-exploitation and lateral movement
  • Legal principles and framework conditions
  • Evaluation and classification of identified vulnerabilities and risks with reporting

Programming Project (5100240) (every 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.).

Social Engineering & Awareness (6810060) (winter semester) - English only

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) (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 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 (5003806) (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.

Computer Vision: Artificial Intelligence Applied (5003817) (summer semester)

Have you ever wondered how self-service checkouts scan items, self-driving cars recognize pedestrians, computers detect skin cancer, and 3D models of iconic places like the Colosseum are scanned?

This module aims to answer these questions and many more by

- Giving an overview of the problems and approaches in computer vision, for applications as diverse as automation, robotics, medical imaging, and photogrammetry.

- Introducing the fundamentals of neural networks, required for constructing artificial systems with human-level perception capabilities.

The module spans from selecting the appropriate equipment for visual inspection tasks to image classification with convolutional neural networks and image retrieval with bag-of-visual-words models. The major topics covered are:

1.         Image acquisition, digitization, enhancement

2.         Feature extraction, segmentation, and morphology

3.         Camera modeling and calibration, stereo vision

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

This module will be taught in English and delivered online and on campus. All sessions will be recorded. Colloquia can be done in English or German.

Mobile Applications (5003069) (summer semester)

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) (summer semester)

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

Software Testing (5003810) (summer semester)

1. Basics of Testing

  • Motivation: Why should you test?
  • Testing != Testing
  • Different types of testing in general
  • Functional and non-functional tests
  • Test pyramid
  • Introduction of the virtual machine

2. Test automation

  • What is test automation?
  • Differences between different types
  • Maven excursus
  • Test framework JUnit
  • Annotations
  • Assertions

3. Test architecture

  • Layers concept
  • Design and Development

4. Testing graphical user interfaces

  • Introduction Selenium
  • Driver
  • PageObject Pattern
  • Identifier
  • Waits
  • Cookies

5. Behavior-Driven Development

  • What is BDD
  • Feature Files & Step Files
  • Cucumber & Gherkin 

6. Mocking

 

7. Exploratory testing

 

8. Build Server Jenkins

  • Jenkins Basics
  • Pipelines
  • DevOps process from a testing perspective

 

 

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, lecturers from our partner universities offer approximately five to six elective courses in parallel. 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 3 June 2024 to 7 June 2024. The following courses are planned to be offered:

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.

Application

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.

Contact

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