Bachelor's degree in Computer Science
Studying part-time to achieve my Bachelor of Science ZFH in Computer Science.
Bachelor Thesis XR as a tool in the selection process of task force candidates
My bachelor thesis deals with the evaluation of XR as a tool in the selection process of candidates for task forces. With the help of virtual reality the selection process could be be made more cost-efficient. At the same time a variability of the test scenarios could be increased, which is currently difficult to implement in physical reality.
Artificial Intelligence 2
Starting from the architectural idea of (deep) neural networks and the "Deep Learning" methodology, procedures and ideas are illuminated which allow the use of corresponding systems in increasingly broader application areas. Through lectures, labs, own research and guest lectures also from related disciplines, students are enabled to understand state-of-the-art approaches and methods of AI and to assess their possible applications for practical tasks.
In the Game Development course, students acquire the skills needed to design and develop computer games. The course focuses on both the theory and practice of game development. In the practical course, prototypes are implemented in the Unity game engine.
Optimization methods in computer science
Nowadays, operational decision problems on a strategic and operative level often show a complexity that can no longer be mastered by human judgment alone. Increasingly, software tools are needed that provide decision support based on quantitative models and algorithms.
Often, high-dimensional discrete optimization problems with a multitude of operational constraints have to be solved, whose modeling is demanding and whose algorithmic handling reaches the limits of feasibility.
This course gives an introduction to the development of problem-specific heuristics and metaheuristics, and mathematical modeling using Integer Linear Programming (ILP), and shows how corresponding optimization algorithms are developed and applied in practice.
Artificial Intelligence 1
Artificial Intelligence 1 presents the entire breadth of the field of Artificial Intelligence (AI) by presenting its fundamentals as "methods for solving complex problems by means of the computer". Complex" in this context refers to problems that until now have only been solved by humans using intelligence.
Digital Assistive Technologies
This module provides an overview of the applications of current and emerging digital assistive technologies in areas such as health, mobility, housing, information and communication, transportation, and others, for the elderly and people with special needs. These digital assistive technologies help the above target groups to reduce or overcome barriers in daily life. Students will have the opportunity to develop and implement mini-projects using service engineering methodology as part of this course.
Digital Image Processing
Image processing is a modern field that is rapidly growing in demand. This course teaches the fundamentals of image processing techniques and how to apply them to solve practical problems.
The Risk Management (RM) module provides an overview of the internationally applicable RM standard ISO 31000:2018 and the most important risk analysis methods. Students deepen the material with an applied case study, which counts as a credit.
Computing Technology 2
The module covers memory hierarchies with their effects on software. In addition, students learn the function and application of basic peripheral circuits. Software techniques for structuring and sequencing programs are another focus.
Investment and Financing
Students learn to understand and describe investment appraisal and financing using practical examples; analyze, evaluate and explain investment appraisal and financing topics in context; apply investment appraisal and financing topics in the immediate context of the course material and the exercises worked on synthesize and evaluate investment appraisal and financing topics in relevant sub-areas.
Operating systems are a central component of any IT environment. Therefore, understanding and mastering operating system concepts and corresponding implementations is essential. This module is therefore completely dedicated to this task, in theory and practice. A current Linux environment is used for this purpose, due to its accessibility and importance in modern IT.
The lecture teaches the basics of translation and rotation mechanics and applies them in numerical simulations and in a game engine.
Software Development 2
Nowadays, agile methodologies such as SCRUM, XP, etc. are used in the majority of software projects. In this lecture, students will learn the main agile principles, practices and values of SCRUM as well as XP.
Software Project 4
Students will be able to develop a more complex software system using an agile development process (SCRUM) -- from idea to customer-focused solution.
Visual Computing 2
The Biomimicry Institute defines biomimicry as "an approach to innovation that seeks sustainable solutions to human challenges by mimicking nature's proven patterns and strategies." In this course, you will learn concepts and a process model to apply biomimicry/bionics thinking to the development of sustainable (product) solutions. You will work on your own challenge, apply the design approach and develop, for example, new drone designs inspired by nature. Working in interdisciplinary teams is another goal of the course besides expanding your English skills in a scientific context.
Computing Technology 1
The module deals with the cooperation of hardware and software for the realization of a computer system. It teaches the structure and operation of a processor from the programmer's point of view and shows how programs are transformed into executable machine code.
Includes basics on development and operation of secure systems: cryptography (secret and public key, hash functions, signatures/MAC), secure protocols (EAP, TLS), authentication and authorization.
Machine Learning and Data Mining
The digitization of processes and environments presents computer scientists with new challenges. Software development is no longer in the foreground here, but rather the expert processing and analysis of various types and quantities of data. For this purpose, it is essential to have some basic experience in the field of data analysis and its most important methods from the field of machine learning. This module provides a practical introduction to elementary data mining using machine learning methods. The focus here is on an overview and clean methodology; proofs and details of the methods are left to later courses. Participants will consolidate what they have learned by doing practical work on their own.
Visual Computing 1
The module "Visual Computing" deals with both the synthetic generation of images (= computer graphics) and the analysis of camera images (= computer vision). The joint consideration allows to show relations and thus to get a deeper understanding of the matter.
Business for engineers
Engineers will gain an insight into the most important business fundamentals and interrelationships. They should understand how companies function, be able to classify strategies and processes, and know the basics of financial and management accounting.
In virtually all modern applications, data communication is an integral part. The aim of this module is to teach concepts, terms, protocols and mechanisms of data communication for the professional environment, so that students can properly design and use data communication and solve basic problems.
Higher mathematics for computer scientists 2
Numerical solution of nonlinear systems of equations, compensatory calculus, numerical integration, numerics of ordinary differential equations.
Software Development 1
The module provides the necessary analysis and design skills to develop and implement larger and more complex software systems.
C and Unix-like operating systems are closely related and are essential in today's computing. You will become familiar with the basics of C and programming applications in C as well as interfacing with the (Linux) operating system using POSIX calls and shell scripts.
Software Project 3
In this module, students develop a larger and more complex software system. In the process, the analysis and design competencies taught in the SWEN1 module are applied (knowledge transfer). Furthermore, realization and project management skills are practiced and social and personal skills are strengthened.
Algorithms and Data Structures
You will know and practice the approach used for algorithmically complex problems. You know the central data structures of computer science and how they are implemented in Java. You will be able to estimate the computational effort. You will learn to apply basic design patterns.
Communication Competence 3
Communication in an international and interdisciplinary environment. Language mediation and transfer between English and German. Argumentation and discussion.
Basics of relational databases: relational algebra, entity-relationship design, SQL DDL/DML, efficient and correct database queries in SQL, indexes, triggers, transactions/ACID.
Fundamentals of electrical engineering and digital technology
The aim of this course is to teach the physical fundamentals of electrical and digital engineering. The lecture teaches theoretical basics as well as practical knowledge (e.g. the implementation and measurement of simple circuits).
Higher mathematics for computer scientists 1
Introduction to Python, Computational Arithmetic, Numerical Solution of Zero Problems, Numerical Solution of Linear Systems of Equations.
Stochastics and statistics
The module introduces the terms and concepts of probability theory and statistics that are essential for an in-depth understanding of many areas.
Basic concepts and methods of differential and integral calculus in one real variable, and their application.
Communication Competence 2
Collaborative writing and peer feedback in an academic or professional context. Deepening of research skills Addressee-oriented communication.
The module teaches the basics of linear algebra. Among other things, you will learn how to deal with systems of linear equations, vectors and matrices.
This module teaches the advanced concepts of object-oriented programming using the Java programming language and its environment. The overall goal is to create high-quality, understandable and well-maintainable program code with the help of various advanced methods, techniques and tools.
Software Project 2
In this module, the specialized knowledge from other modules is practically applied and deepened in several small projects or exercises, and the experience of working in software projects is expanded. This includes software analysis and refactoring, project planning and progress tracking, application of development tools in a team, idea generation and evaluation, reflection of project progress and results.
Theoretical Computer Science
Basic terms as well as concepts of theoretical computer science, models for assessing the performance of current and future computer systems: Formal languages, automata theory, computability and complexity.
This module teaches basic concepts and methods of differential and integral calculus of a real variable.
Communication Competence 1
Research and process information in a scientific context. Developing performance and language skills for presentations. Designing communication and giving feedback in a team
The module provides basic general mathematical knowledge as well as an introduction to topics in discrete mathematics. The course is specifically designed for the computer science program. The fundamentals taught form the foundation for the following specialized lectures (e.g. Theoretical Computer Science, Programming).
Information & Coding
This course teaches the fundamentals of digital information processing and coding. Basic digital units, gates, logic are part of it as well as source (information content, entropy, redundancy) and channel coding methods with error detection.
Creating high-quality, understandable and well-maintainable program code is of central importance in the implementation of software projects. In this module, the fundamentals of object-oriented programming are taught in order to be able to develop and test high-quality, comprehensible and well-maintainable program code in the scope of a few classes.
Software Project 1
Software projects can be found in practically every larger company. In this module, the expertise from other modules is applied and enriched with initial experience of a project in a team. This includes specification and software design, technical writing, teamwork, project planning and code management.