Jedes Wintersemester
10 Leistungspunkte
Die Angaben zur Moduldauer finden Sie bei den Studiengängen, in denen das Modul verwendet wird.
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.
—
—
Modulstruktur: 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.
Studiengang | Variante | Profil | Empf. Beginn 3 | Dauer | Bindung 4 |
---|---|---|---|---|---|
Informatik / Bachelor of Science [FsB vom 01.04.2025] | Kernfach (fw) | Technische Informatik | 1. | ein Semester | Pflicht |
Informatik / Bachelor of Science [FsB vom 01.04.2025] | Kernfach (fw) | Bioinformatik | 1. | ein Semester | Pflicht |
Informatik / Bachelor of Science [FsB vom 01.04.2025] | Kernfach (fw) | Modellbildung | 1. | ein Semester | Pflicht |
Informatik / Bachelor [FsB vom 01.04.2025] | Nebenfach (fw) | 1. | ein Semester | Pflicht | |
Informatik / Bachelor [FsB vom 01.04.2025] | Kleines Nebenfach (fw) | Softwareentwicklung | 1. | ein Semester | Pflicht |
Informatik / Bachelor [FsB vom 01.04.2025] | Kleines Nebenfach (fw) | Praktische Informatik | 1. | ein Semester | Pflicht |
Informatik / Bachelor [FsB vom 01.04.2025] | Kleines Nebenfach (fw) | Technische Informatik | 1. | ein Semester | Pflicht |
Informatik / Bachelor of Science [FsB vom 16.05.2023 mit Änderung vom 01.08.2023] | Kernfach (fw) | Technische Informatik | 1. | ein Semester | Pflicht |
Informatik / Bachelor of Science [FsB vom 16.05.2023 mit Änderung vom 01.08.2023] | Kernfach (fw) | Bioinformatik | 1. | ein Semester | Pflicht |
Informatik / Bachelor of Science [FsB vom 16.05.2023 mit Änderung vom 01.08.2023] | Kernfach (fw) | Modellbildung | 1. | ein Semester | Pflicht |
Informatik / Bachelor [FsB vom 16.05.2023 mit Änderung vom 01.08.2023] | Nebenfach (fw) | Praktische Informatik | 1. | ein Semester | Pflicht |
Informatik / Bachelor [FsB vom 16.05.2023 mit Änderung vom 01.08.2023] | Nebenfach (fw) | Technische Informatik | 1. | ein Semester | Pflicht |
Informatik / Bachelor [FsB vom 16.05.2023 mit Änderung vom 01.08.2023] | Kleines Nebenfach (fw) | Softwareentwicklung | 1. | ein Semester | Pflicht |
Informatik / Bachelor [FsB vom 16.05.2023 mit Änderung vom 01.08.2023] | Kleines Nebenfach (fw) | Praktische Informatik | 1. | ein Semester | Pflicht |
Informatik / Bachelor [FsB vom 16.05.2023 mit Änderung vom 01.08.2023] | Kleines Nebenfach (fw) | Technische Informatik | 1. | ein Semester | Pflicht |
Künstliche Intelligenz und Kognitive Informatik / Bachelor of Science [FsB vom 16.05.2023 mit Änderung vom 01.04.2025] | 1-Fach (fw) | 1. | ein Semester | Pflicht | |
Medizinphysik / Bachelor of Science [FsB vom 28.03.2024] | 1-Fach (fw) | 3. | ein Semester | Pflicht | |
Naturwissenschaftliche Informatik / Bachelor of Science [FsB vom 01.04.2025] | 1-Fach (fw) | 1. | ein Semester | Pflicht |
In diesem Modul kann eine automatische Vollständigkeitsprüfung vom System durchgeführt werden.
Informatik / Bachelor of Science: Kernfach (fw) // Technische Informatik
Informatik / Bachelor of Science: Kernfach (fw) // Bioinformatik
Informatik / Bachelor of Science: Kernfach (fw) // Modellbildung
Informatik / Bachelor: Nebenfach (fw)
Informatik / Bachelor: Kleines Nebenfach (fw) // Softwareentwicklung
Informatik / Bachelor: Kleines Nebenfach (fw) // Praktische Informatik
Informatik / Bachelor: Kleines Nebenfach (fw) // Technische Informatik
Künstliche Intelligenz und Kognitive Informatik / Bachelor of Science: 1-Fach (fw)
Medizinphysik / Bachelor of Science: 1-Fach (fw)
Naturwissenschaftliche Informatik / Bachelor of Science: 1-Fach (fw)