Every winter semester
10 Credit points
For information on the duration of the modul, refer to the courses of study in which the module is used.
Ziel ist die Vermittlung der grundlegenden Prinzipien verschiedener Programmiersprachen (imperativ, objektorientiert, funktional) und ihr praktischer Einsatz in der Softwareentwicklung. Studierende erlernen die Fähigkeit zur selbständigen Lösung einfacher Algorithmenentwurfs- und Programmieraufgaben.
Insbesondere sollen die Studierenden in der Lage sein, Software aus vorhandenen Bibliotheken wiederzuverwenden und selbst entwickelte Software so zu strukturieren, dass diese einfach erweitert und wiederverwendet werden kann. Darüber hinaus verstehen die Studierenden am Beispiel von Java und Haskell, wie man neue Programmierkonzepte systematisch erlernt und fundiertes Sprachwissen effizient erwirbt und präzise kommuniziert.
Die Vorlesung "Grundlagen und Prinzipien der Programmierung " führt zunächst in grundlegende Konzepte der Informatik ein (Prinzipien der Programmierung). Sie behandelt Themen wie "Was ist Informatik?", Spezifikation und Algorithmus, Strategien für den Algorithmenentwurf und Maschinenmodelle. Grundlegende Algorithmen auf Listen und Bäumen sowie zur Verarbeitung von Zeichenreihen werden entwickelt.
Parallel zu diesem, mehr theoretisch orientierten, Vorlesungsteil eine Einführung in das Programmieren. Nach einer Einführung in die Kalküle und Terminologie zur systematischen Beschreibung von Programmiersprachen werden die imperative Programmierung und darauf aufbauend schrittweise die objektorientierten Sprachkonstrukte der Programmiersprache Java vorgestellt. Dabei stehen der problembezogene, sinnvolle Einsatz der Sprachkonstrukte und ihr Bezug zu ähnlichen Konzepten in anderen objektorientierten Programmiersprachen im Vordergrund. Lehrinhalte sind u.a. Typen, Werte und Variablen, Objekte und Klassen, Methoden, Kontrollstrukturen, Rekursion, Vererbung, Interfaces, Datenkapselung, Sichtbarkeit und Gültigkeitsbereiche, Generics und Exceptions.
Weiterhin wird die funktionale Programmierung am Beispiel Haskell behandelt. Neben dem Erlernen der jeweils wesentlichen Sprachelemente sind Konzepte wie Rekursion, Funktionen höherer Ordnung, parametrischer Typ-Polymorphismus, Typ-Klassen und die Lazy Evaluation wichtige Lehrinhalte.
In der Übung werden Aufgaben zur Vorlesung behandelt. Das Selbststudium zur Vorlesung wird durch Programmieraufgaben angeleitet, die parallel zum Übungsbetrieb zu bearbeiten sind.
Das „Programmierpraktikum“ führt in die grundlegende Anwendung der jeweiligen Compiler in UNIX-Umgebungen, Programmierumgebungen (IDEs) und Versionskontrollsystemen ein. Anhand einfacher Datenstrukturen mit den zugehörigen Operationen und der Umsetzung kleiner objektorientierter Modellierungsaufgaben wird belastbares Grundlagenwissen vermittelt, das anschließend im Anwendungskontext "Grafische Benutzungsoberflächen" realitätsnah vertieft wird.
—
—
Module structure: 1 uPr 1
Portfolio mit Abschlussprüfung bestehend aus:
1) Portfolio von Übungen zu Inhalten der Vorlesung
Übungsaufgaben oder Programmieraufgaben, die veranstaltungsbezogen gestellt werden (Bestehensgrenze 50% der erzielbaren Punkte). Die Kontrolle der Übungsaufgaben umfasst auch direkte Fragen zu den Lösungsansätzen, die von den Studierenden in den Übungen beantwortet werden müssen. Der*die Lehrende kann ein individuelles Erläutern und Vorführen von Aufgaben verlangen sowie einen Teil der Übungsaufgaben durch Präsenzübungen ersetzen. Die Übungsaufgaben im Rahmen des Portfolios werden in der Regel wöchentlich ausgegeben und dienen dem begleitenden Erlernen selbständiger Umsetzungen der in der Vorlesung vorgestellten Lerninhalte.
2) einer Abschlussprüfung im Rahmen des Programmierprojekts
Das im Rahmen des Praktikums begonnene Programmierprojekt muss erfolgreich beendet werden und darüber hinaus muss im Projektbericht (ca. 4 Seiten) reflektiert werden, wie methodisch vorgegangen wurde.
Die Abschlussprüfung zu den Inhalten des Programmierprojekts nimmt Bezug auf die Übungs- oder Programmieraufgaben oder entwickelt sich aus den in den Übungen erlernten Kompetenzen.
Beide Portfolioelemente werden durch eine*n Prüfer*in geprüft. Es erfolgt eine abschließende Gesamtbewertung.
Degree programme | Version | Profile | Recommended start 3 | Duration | Mandatory option 4 |
---|---|---|---|---|---|
Informatics / Bachelor of Science [FsB vom 01.04.2025] | Major Subject (Academic) | Technical Informatics | 1. | one semester | Obligation |
Informatics / Bachelor of Science [FsB vom 01.04.2025] | Major Subject (Academic) | Bioinformatics | 1. | one semester | Obligation |
Informatics / Bachelor of Science [FsB vom 01.04.2025] | Major Subject (Academic) | Modelling | 1. | one semester | Obligation |
Informatics / Bachelor [FsB vom 01.04.2025] | Minor Subject (Academic), 60 CPs | 1. | one semester | Obligation | |
Informatics / Bachelor [FsB vom 01.04.2025] | Minor Subject (Academic), 30 CPs | Software Engineering | 1. | one semester | Obligation |
Informatics / Bachelor [FsB vom 01.04.2025] | Minor Subject (Academic), 30 CPs | Practical Informatics | 1. | one semester | Obligation |
Informatics / Bachelor [FsB vom 01.04.2025] | Minor Subject (Academic), 30 CPs | Technical Informatics | 1. | one semester | Obligation |
Informatics / Bachelor of Science [FsB vom 16.05.2023 mit Änderung vom 01.08.2023] | Major Subject (Academic) | Technical Informatics | 1. | one semester | Obligation |
Informatics / Bachelor of Science [FsB vom 16.05.2023 mit Änderung vom 01.08.2023] | Major Subject (Academic) | Bioinformatics | 1. | one semester | Obligation |
Informatics / Bachelor of Science [FsB vom 16.05.2023 mit Änderung vom 01.08.2023] | Major Subject (Academic) | Modelling | 1. | one semester | Obligation |
Informatics / Bachelor [FsB vom 16.05.2023 mit Änderung vom 01.08.2023] | Minor Subject (Academic), 60 CPs | Practical Informatics | 1. | one semester | Obligation |
Informatics / Bachelor [FsB vom 16.05.2023 mit Änderung vom 01.08.2023] | Minor Subject (Academic), 60 CPs | Technical Informatics | 1. | one semester | Obligation |
Informatics / Bachelor [FsB vom 16.05.2023 mit Änderung vom 01.08.2023] | Minor Subject (Academic), 30 CPs | Software Engineering | 1. | one semester | Obligation |
Informatics / Bachelor [FsB vom 16.05.2023 mit Änderung vom 01.08.2023] | Minor Subject (Academic), 30 CPs | Practical Informatics | 1. | one semester | Obligation |
Informatics / Bachelor [FsB vom 16.05.2023 mit Änderung vom 01.08.2023] | Minor Subject (Academic), 30 CPs | Technical Informatics | 1. | one semester | Obligation |
Artificial Intelligence and Cognitive Informatics / Bachelor of Science [FsB vom 16.05.2023 mit Änderung vom 01.04.2025] | Bachelor with One Core Subject (Academic) | 1. | one semester | Obligation | |
Medical Physics / Bachelor of Science [FsB vom 28.03.2024] | Bachelor with One Core Subject (Academic) | 3. | one semester | Obligation | |
Informatics for the Natural Sciences / Bachelor of Science [FsB vom 01.04.2025] | Bachelor with One Core Subject (Academic) | 1. | one semester | Obligation |
The system can perform an automatic check for completeness for this module.
Informatics / Bachelor of Science: Major Subject (Academic) // Technical Informatics
Informatics / Bachelor of Science: Major Subject (Academic) // Bioinformatics
Informatics / Bachelor of Science: Major Subject (Academic) // Modelling
Informatics / Bachelor: Minor Subject (Academic), 60 CPs
Informatics / Bachelor: Minor Subject (Academic), 30 CPs // Software Engineering
Informatics / Bachelor: Minor Subject (Academic), 30 CPs // Practical Informatics
Informatics / Bachelor: Minor Subject (Academic), 30 CPs // Technical Informatics
Medical Physics / Bachelor of Science: Bachelor with One Core Subject (Academic)