Einführung ins wissenschaftliche Programmieren mit Python
Die Programmiersprache Python, benannt nach der britischen Comedy-Serie Monty Python's Flying Circus, ist heute eine der weltweit meistgenutzten Programmiersprachen. Die erste öffentliche Version erschien 1991. Seitdem wird Python kontinuierlich weiterentwickelt. Besonders in den Bereichen wissenschaftliches Rechnen, numerische Simulationen, Datenanalyse und Machine Learning erfreut sich die Sprache großer Beliebtheit. Neben dem Sprachdesign, das eine schnelle und flexible Entwicklung erlaubt, trägt vor allem die große Zahl verfügbarer Bibliotheken und Pakete zum Erfolg von Python bei. Diese stellen zahlreiche Funktionen für Anwendungsgebiete wie lineare Algebra, grafische Benutzeroberflächen oder Datenanalyse bereit.
Die Grundprinzipien von Python werden im Zen of Python zusammengefasst. Zu den bekanntesten Leitsätzen gehören:
- Beautiful is better than ugly.
- Explicit is better than implicit.
- Simple is better than complex.
- Complex is better than complicated.
- Readability counts.
Diesen Leitgedanken folgend wird im Kurs Einführung ins wissenschaftliche Programmieren mit Python in einfachen Schritten gezeigt, welche Bauelemente die Sprache Python bietet und wie sich mit diesen auch komplexe Aufgaben lösen lassen. Der Fokus liegt dabei auf wissenschaftlichen Anwendungen und Fragestellungen aus den Naturwissenschaften. Neben den Grundlagen der Programmierung werden Methoden zur Verarbeitung, Analyse und Visualisierung von Daten sowie zum numerischen Lösen wissenschaftlicher Probleme vorgestellt. Darüber hinaus vermittelt der Kurs grundlegende Konzepte der Algorithmik und allgemeine Prinzipien guter Programmierpraxis, die auch über Python hinaus von Bedeutung sind.
Veranstaltungsform
Der Kurs wird abhängig vom Semester in unterschiedlichen Formaten angeboten:
- Sommersemester: Blockkurs vor Beginn der Vorlesungszeit.
- Wintersemester: Semesterbegleitende Lehrveranstaltung.
Weitere Informationen finden sich im jeweiligen Vorlesungsverzeichnis.
Sprache
Die Vorlesung wird in deutscher Sprache gehalten. Die Kursunterlagen, das Skript sowie ein Teil der verwendeten Dokumentation werden jedoch ausschließlich in englischer Sprache bereitgestellt.
Kursinhalte
Der Kurs vermittelt die Grundlagen der Programmiersprache Python und führt schrittweise an wissenschaftliche Anwendungen heran. Behandelt werden unter anderem:
- Grundlagen von Python
- Variablen und Datentypen
- Kontrollstrukturen
- Schleifen
- Funktionen
- Fehlerbehandlung
- Klassen und objektorientierte Programmierung
- Generatoren
- Module und Pakete
- Wissenschaftliche Bibliotheken
- NumPy
- SciPy
- SymPy
- pandas
- Matplotlib
- tkinter
- Weiterführende Themen
- Paralleles Programmieren
- Asynchrone Programmierung mit asyncio
- Projektmanagement und Softwareentwicklung
Voraussetzungen
Für die Teilnahme werden keine Programmierkenntnisse vorausgesetzt.
Hilfreich sind:
- Grundlegende Kenntnisse im Umgang mit Linux bzw. Debian, da die Übungen im Linux-CIP-Pool durchgeführt werden.
- Ein eigener Laptop kann alternativ verwendet werden. Alle im Kurs eingesetzten Werkzeuge sind kostenlos verfügbar und für Windows, macOS und Linux erhältlich.
- Grundlegende Englischkenntnisse, da die Kursunterlagen und Teile der Dokumentation in englischer Sprache vorliegen.
Leistungsnachweis
Die Studienleistung besteht in der aktiven Bearbeitung der Übungsaufgaben. Die genauen Modalitäten werden zu Beginn des Kurses bekanntgegeben.
Für die benotete Anrechnung im Rahmen der Studienbegleitenden IT-Ausbildung ist darüber hinaus die Durchführung und Abgabe eines Abschlussprojekts erforderlich. Das Projekt kann einzeln oder in Zweiergruppen bearbeitet werden. Das Thema wird in Absprache mit dem Dozenten festgelegt. Eine Auswahl möglicher Themenvorschläge wird bereitgestellt.
Weitere organisatorische Details werden während des Kurses bekanntgegeben.
Kursunterlagen
Sämtliche Kursmaterialien stehen online zur Verfügung: