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:
- Digital Society (Bachelor of Science)
- E-Commerce (Bachelor of Science)
- Computer Science (Bachelor of Engineering) -- many modules in English
- Information Security (Bachelor of Science) -- many modules in English
- Business Information Systems (Bachelor of Science)
- Artificial Intelligence (Master of Science) -- taught in English only
- Digital Business Systems (Master of Science)
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.
Backend Systems (winter semester)
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
- 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
Data Management and Data Science (winter semester)
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 (summer semester)
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) (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
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.).
System-oriented Programming (Winter Semester)
* Definition and meaning of system-oriented programming
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.
Automotive and Industrial Cybersecurity (Wintersemester)
Contents:
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 and Smart Contracts
In this module, students gain in-depth insights into blockchain technology and smart contracts. After learning the basics, students are divided into teams to prototype and implement suitable use cases. At the end of the module, students will be able to evaluate use cases and implement them in practice.
The following content is taught to students
- Evaluating use cases
- How do blockchains work
- How do the various consensus models work
- Introduction to contract-oriented programming
- Introduction to Solidity and suitable development environments
- Introduction to the programming of smart contracts
- Testing and debugging smart contracts
- Common design patterns for smart contracts
- Deployment and management of smart contracts
- Basics of decentralised applications (DApps)
- Frameworks for programming DApps
- Development of DApps
- Deployment of DApps
- Testing DApps
Clean Code (5003073) (summer semester)
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
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.
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.
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
Introduction to Exploratory Data Analysis and Visualization Techniques () (winter semester)
The module covers the following topics:
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)
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
Ethical Hacking (Mihal Moharir, RV College, India)
- 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 - 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 - 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 - 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.