The group Algorithmics focuses on the Algorithm Engineering of Combinatorial Optimization problems. Algorithm Engineering deals with the development and implementation of algorithms for problems appearing in interdisciplinary projects. Thus, the projects require the theoretical development of algorithms and their practical implementation. The studied issues mostly come from the field of Combinatorial Optimization.
New developments in the research area of computer graphics become directly visible through novel computer games and animated movies. The research group Computational Geometry investigates the theoretical foundations of efficient geometric algorithms and data structures and transfers research results in practical applications for simulating, analyzing and visualizing motion sequences. These also include applications in the field of computer aided design, automated motion planning and packing optimization.
Data management has become more critical and challenging than ever; modern data come in different formats, collected in enormous volumes and arrive at an extremely high ratio from multiple sources. The explosion of Big Data has revealed the need to research and develop systems that will support ultra-low latency service and real-time data analytics. Besides, modern data are becoming increasingly more complex as they can be routinely enriched with different and multiple types of non-traditional information such as space, text, time and graph information. Due to their heterogeneity and different semantics, such complex data types call for special treatment including effective storage, indexing and processing. The Data Management group addresses the research challenges arise for the in-memory management of complex big data.
The research of this group mainly focuses on machine learning and data mining. The group develops methods to analyze huge and complex data sets and to apply these methods in the life sciences and other fields (computational sustainability, energy, transportation, social networks, ...). Teaching includes lectures, seminars, and lab courses in the core areas of data mining and machine learning as well as other areas of applied computer science such as databases and software engineering.
The structured and general education of concepts, models and ideas of computer science is the core task of computer science didactics / informatic didactics. In particular, this takes place within the framework of the various teacher training courses for grammar school and vocational school. An additional important concern of computer science didactics at the JGU is to make ideas of computer science accessible to the general public, e.g. through participatory exhibitions and general lectures.
The group Efficient Computing and Storage Systems of Prof. Dr.-Ing. André Brinkmann focuses on the areas storage systems and scalable high performance computing (HPC). HPC will reach the exascale level within the next few years and single compute clusters will combine the performance of millions of cores. Besides the challenges resulting from going to exascale computing, HPC is in the transition from being compute centric to become data centric. The management and handling of data become more and more important and it will be crucial to scale data capacity and data bandwidth.
This group focuses on the design, implementation and evaluation of scalable tools for genomic sequence analysis (Bioinformatics) and computational science applications. Their approach is based on using modern high performance computing (HPC) technologies (such as CUDA-enabled GPUs and GPU clusters) in order to design efficient parallel algorithms that serve as a foundation for a wide variety of tools such as multiple sequence aligners, de-novo genome assemblers, short-read aligners, short-read clustering and sequence database searching tools. Their methods and tools are often developed in collaboration with interdisciplinary partners at JGU Mainz, such as the Department of Biology, the Mainz Medical School, and the Institute of Molecular Biology.
Programming languages are arguably the most important tool for developing software. The goal of the Programming Languages research group is to support developers in creating and maintaining reliable and efficient software systems. To this end, we research novel programming languages, programming tools, and programming methods. The group particularly focusses on software-development approaches based on linguistic abstractions and domain-specific languages (DSLs). We are both concerned with how such abstractions and languages can be best designed as well as how they can be realized effectively. We complement this research with investigating novel methods in static analysis, with which bugs and optimization potential can be discovered during compilation. We study how sound static analyses can be constructed systematically and how to execute them incrementally.
This group focuses on the development and application of modern bioinformatics techniques and software packages, usually in close collaboration with academic and industrial partners. Application areas of the research include computer aided diagnosis and prognosis as well as computer-aided drug design. The group contributes to several large-scale software projects, such as the Biochemical Algorithms Library (BALL) or the OpenMS - framework. The group regularly teaches courses bioinformatics as well as the introductory courses on Programming (EiP) and Software Engineering (EiS).
Sports Computer Science tries to optimize athletic performance using computer models. The Sports Computer Science department in Mainz concentrates on both, tactical analysis in team sport (e.g. Soccer) and individual optimization of performance in individual sport (e.g. running and cycling).
The group is active in teaching and research at the intersection of the disciplines of computer graphics (synthesis of images of virtual objects) and computer vision (understanding images/measurements of real-world phenomena). Its main research expertise is in geometric pattern recognition. The group offers various lectures, seminars, lab courses, and thesis projects in this area as well as in the broader area of visual computing and basic computer science.