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.

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

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

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

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

System-oriented Programming (Winter Semester)

* 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

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:

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

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.