BI2024 Einführung in die Programmiersprache Julia

Modulverantwortliche
  • Prof. Dr. Franz Cemic
Lehrende
  • Prof. Dr. Franz Cemic
  • Prof. Dr. Andreas Peter Dominik
  • Fabian Tann
Notwendige Voraussetzungen zur Teilnahme

Keine

Kurzbeschreibung

Einführung in die Programmiersprache Julia

Inhalte
  • Die Programmiersprache Julia
  • Julia REPL (terminal)
  • Visual Studio Code (IDE) mit Julia Erweiterung
  • Jupyter notebooks
  • Generic Method Dispatch
  • DSLs
  • Funktionale Programmierung
  • Makros in just-in-time (JIT) kompilierten Sprachen
  • Paketverwaltung und Erstellen von Modulen
  • Machine Learning und High-Performance-Computing in Julia
  • statistische Analysen in Julia
Qualifikations- und Lernziele

Fachkompetenzen

Die Studierenden

  • können die Anwendungsmöglichkeiten einer domänenspezifischen Sprache (DSL) beschreiben.
  • die Funktionsweise des Julia REPL (read-eval-print loop) erklären und vorführen.
  • können Scripte mittels der webbasierten interaktiven Entwicklungsumgebung Jupyter Notebooks demonstrieren.
  • Können just in time (JIT) und vorcompilierte Programmiersprachen gegenüberstellen.

Methodenkompetenzen (fachlich & überfachlich)

Die Studierenden

  • sind in der Lage Programme in der Sprache Julia zu erstellen und Lösungen für Anwendungen aus den Gebieten Bioinformatik und Data Science in Julia zu entwickeln.
  • können Funktionen mit generic method dispatch organisieren.
  • können eigene Julia-Module entwerfen.
  • können eigene und andere Julia-Scripte beurteilen und prüfen.
  • können Programmcode in der Juli-spezifischen IDE Juno umsetzen und mittels Debugging und Testen überprüfen.
  • können beurteilen, welche Pakete für die Problemlösung in der Data Science und Bioinformatik beitragen.
  • können die grundlegenden Konzepte der objektorientieren Programmierung (OOP) anwenden.
  • können Programmcode mit der Versionsverwaltungssoftware GIT organisieren.

Sozialkompetenzen

Die Studierenden

  • können ihren Programmcode vor Publikum präsentieren und demonstrieren.
  • sind in der Lage sich im Team zu organisieren.
  • können Scripte anderer konstruktiv kritisieren.

Selbstkompetenzen

  • Sie können ihre eigenen Scripte hinterfragen.
  • Sie können Arbeitsvorgänge aufschlüsseln und planen.
ECTS-Leistungspunkte (CrP)
  • 6 CrP
  • Arbeitsaufwand 180 Std.
  • Präsenzzeit 60 Std.
  • Selbststudium 120 Std.
Lehr- und Lernformen
  • 4 SWS
  • Vorlesung 2 SWS
  • Praktikum 2 SWS
Studiensemester
  • Bioinformatik (B.Sc. 2012)
  • Informatik (B.Sc. 2010)
Dauer
1 Semester
Häufigkeit des Angebots
Einmal im Jahr
Unterrichtssprache
Deutsch
Bonuspunkte

Nein

Bonuspunkte werden gemäß § 9 (4) der Allgemeinen Bestimmungen vergeben. Art und Weise der Zusatzleistungen wird den Studierenden zu Veranstaltungsbeginn rechtzeitig und in geeigneter Art und Weise mitgeteilt.

Prüfungsleistungen

Prüfungsvorleistung: Keine

Prüfungsleistung: Klausur oder mündliche Prüfung oder Projektarbeit (Art des Leistungsnachweises wird den Studierenden rechtzeitig und in geeigneter Weise bekannt gegeben.)

Benotung
Die Bewertung des Moduls erfolgt gemäß §§ 9, ggf. 12 (Teilleistungen), ggf. 18 (Arbeiten, Kolloquien) der Allgemeinen Bestimmungen (Teil I der Prüfungsordnung).
Verwendbarkeit
Gemäß § 5 der Allgemeinen Bestimmungen (Teil I der Prüfungsordnung) Verwendbarkeit in allen Bachelorstudiengänge der THM möglich.
Literatur, Medien
  • Vorlesungsskript
  • McNicholas, P. D.; Tait, P.: Data Science with Julia. Chapman and Hall/CRC.
  • Sengupta, A.: Julia High Performance. Packt Publishing.
  • Lauwens, B.; Downey, A. B.: Think Julia. O’Reilly Media.

Rechtliche Hinweise