In diesem Kurs lernen die Studierenden die Grundlagen von Linux-Betriebssystemen, den Fernzugriff auf Server, die Grundlagen der Bash-Programmierung sowie Programmieren im Allgemeinen kennen. Der Kurs ist praxisorientiert und legt den Schwerpunkt auf die Entwicklung grundlegender Fähigkeiten im Bereich der Programmierlogik, der Datenanalyse über die Befehlszeile, der Effizienz sowie einer angemessenen Arbeitsethik auf gemeinsam genutzten Servern (Verwaltung von Serverressourcen).
Im Rahmen einer Projektarbeit lernen die Studierenden, wie sie die Arbeitslast aufteilen und die Ergebnisse eines Bioinformatik-/Programmierprojekts optimieren können.
In diesem Kurs lernen die Studierenden, wie Linux/UNIX-Betriebssysteme funktionieren, verstehen die Vor- und Nachteile dieser Systeme und erwerben grundlegende Programmierkenntnisse sowie Fähigkeiten im Bereich der Programmierlogik.
Am Ende des Kurses sind die Studierenden in der Lage, Linux/UNIX-Systeme mithilfe von Befehlszeilentools zu steuern, Software über die Befehlszeile auszuführen und bioinformatische Probleme über die Befehlszeile zu lösen. Die Studierenden wissen zudem, wie sie auf entfernte Server in einem Netzwerk zugreifen, Dateien zwischen Computern/Servern verschieben und Befehle auf einem entfernten Server ausführen können, auf dem ein Linux/UNIX-Betriebssystem läuft. Die Studierenden werden in der Lage sein, Daten direkt mit dem Linux-System zu verwalten und zu analysieren, den Ressourcenbedarf für Rechenaufgaben abzuschätzen und die Ressourcennutzung dieser Aufgaben zu überwachen.
Die Studierenden lernen, wie sie effizient arbeiten und die Ressourcen großer Server verantwortungsbewusst nutzen. Der Schwerpunkt liegt auf einer angemessenen Arbeitsethik: Die Studierenden lernen, wie sie die Ressourcennutzung ihres Servers überwachen und wie sie Server mit mehreren Nutzern nutzen können, ohne andere Nutzer bei ihrer Arbeit oder Forschung zu stören.
Themen:
I. Grundlagen der Programmiersprache Bash, grundlegende Befehle
II. Schreiben von Bash-Skripten
III. Arten von Bash-Variablen und ihre Verwendung; integrierte Variablen
IV. Bash-Bedingungen, logische Operatoren
V. Programmierlogik I.
VI. Übung I.
VII. Bash-Schleifen und Schleifensteuerung
VIII. Befehlszeilenargumente und ihre Verwendung in Skripten
IX. Programmierlogik II.
X. Übung II.
XI. Überwachung der Ressourcennutzung, Ressourcenmanagement
XII. Verantwortungsbewusstes Arbeiten von Bioinformatikern auf Servern
+Projektarbeit, die als Selbststudium in Gruppen durchgeführt werden soll.
Prüfungs
Die Studierenden nehmen während der Prüfungsphase an einem Kolloquium teil. Das Kolloquium besteht aus zwei Teilen: einer theoretischen Prüfung und einer praktischen Aufgabe. Die theoretische Prüfung kann sowohl Multiple-Choice-Fragen als auch Fragen zum Verfassen von Texten umfassen. Die praktische Aufgabe besteht aus Programmieraufgaben, die von den Studierenden selbstständig gelöst werden müssen.
Am Ende des Kurses sind die Teilnehmer in der Lage, grundlegende Bioinformatik-Analyse-Pipelines in einer Linux-Umgebung zu entwerfen und zu implementieren sowie die Auslastung ihrer eigenen Serverressourcen zu überwachen.
Für den Kurs benötigen die Studierenden einen Computer, auf dem bestimmte Programme installiert sein müssen, damit sie sich bei dem Server anmelden können, der während des Kurses genutzt wird. Der Dozent wird bei der Installation dieser Programme Unterstützung leisten.
Es werden keine Programmierkenntnisse vorausgesetzt.
Literatur zum Kurs (Pflicht- oder empfohlene Literatur): Kursunterlagen (Präsentationsfolien, Vorlesungsskripte)
Empfohlen: Machtelt Garrels: Bash-Leitfaden für Anfänger (online verfügbar unter: https://tldp.org/LDP/Bash-Beginners-Guide/html/)
Vorlesung: 45 Minuten
Übung: 45 Minuten
Projektarbeit: Die Studierenden müssen in der zweiten Hälfte des Kurses in Gruppen eine Projektarbeit durchführen. Diese umfasst die Analyse verschiedener Arten genetischer Daten (Beispielprojekt: Schreiben eines Bash-Codes, der alle offenen Leserahmen in einer vorgegebenen DNA-Sequenz identifiziert).
Sprechstunde: Auf Wunsch der Studierenden werden zusätzliche Sprechstunden angeboten.
Zeugnis