Die Arbeitsgruppe Computational Metagenomics bietet Grundlagenvorlesungen der Informatik an, insbesondere Objektorientierte Programmierung in Java.
Im Bereich Bioinformatik hat die Arbeitsgruppe ein besonderes Interesse Wissen zur rechnergestützen Analyse von Metagenom-Daten zu vermitteln, z.B. im Modul Anwendungsorientierte Analyse von Postgenom-Datensätzen.
Ein anderer Schwerpunkt der Lehre liegt in der Vermittlung von Servicetechniken z.B. in den Veranstaltungen Cloud Computing und Netzwerkprogrammierung.
In diesem Modul werden anwendungsorientierte Einblicke in die bioinformatische Verarbeitung und Auswertung von Genom- und Postgenomdaten zur Adressierung aktueller biologischer Fragestellungen vermittelt. Ziel der Veranstaltung ist das Erlernen der Programmiersprache Python zur eigenständigen Erstellung von Skripten, sowie das Erlernen methodischer Ansätze bei der Auswertung von umfangreichen Datensätzen der funktionellen Genomik. Beispielhaft sollen Probleme aus realen Projekten durch die Teilnehmer insbesondere im Kontext der dramatisch angestiegenen Datenmengen in allen Bereichen der Postgenomik (Stichwort "Big Data") gemeinsam analysiert, bearbeitet und ausgewertet werden. Das Themenspektrum reicht hierbei von Datenformaten in der Bioinformatik über die Annotation von Genen/Genomen bis zur Auswertung von Expressionsdaten (RNA-Seq) und Proteom-Datensätzen.
Cloud Computing beschreibt die Möglichkeit, abstrakte IT Ressourcen wie z.B. Software (SaaS), Frameworks (PaaS) oder Rechenkapazität und Speicher (IaaS) dynamisch an den jeweiligen Bedarf angepasst zur Verfügung zu stellen. Cloud Computing hat in den letzen Jahren stark an Bedeutung gewonnen und ist heute so einfach wie nie zuvor für jeden zugänglich (z.B. durch Google Compute Platform (GCP), Amazon Web Service (AWS) und Microsoft Azure). Cloud Computing ermöglicht somit ohne eine eigene Rechnerinfrastrukur (nahezu) unbegrenzte Rechen- und Speicherkapazitäten z.B. für Aufgaben der BioInformatik zu nutzen. Der Vorteil gegebenüber einem lokalen Rechenzentrum ist die "on-demand" Verfügbarkeit der Cloud Ressourcen. Die Kapazität der benötigten Rechenleistung bzw. des Speicheraufwands kann dynamisch den Anforderungen angepasst werden.
In dieser Veranstaltung werden die Konzepte der objektorientierten Programmierung vermittelt, sowie Bezüge zum imperativen und funktionalen Programmierparadigma hergestellt. Nach einer Einführung in die Kalküle und Terminologie zur systematischen Beschreibung von Programmiersprachen werden, ausgehend von den vorhandenen Grundkenntnissen über die imperativen Anteile der Programmiersprache Java, schrittweise die objektorientierten Sprachkonstrukte vorgestellt. Dabei stehen der problembezogen, sinnvolle Einsatz der Sprachkonstrukte und ihr Bezug zu ähnlichen Konzepten in anderen objektorientierten Programmiersprachen im Vordergrund.