Moduldetails
Programmieren, Datenstrukturen und Algorithmen
DIS 1.1
Workload Credits Studiensemester Frequenz Dauer
180 h 6 1. Sem. jährlich 1 Sem.
1 Lehrveranstaltungen Kontaktzeit Selbststudium Sprache Gruppengröße
∑ 4 SWS / 60 h ∑ 120 h
DIS1.1
Programmieren, Datenstrukturen und Algorithmen (Vorlesung (2 SWS) und Übung (2 SWS))
DIS1.1
4 SWS / 60 h
DIS1.1
120 h
DIS1.1
Deutsch
DIS1.1
70
2 Lernergebnisse (learning outcomes / Kompetenzen):
DIS1.1
3 Inhalte:
DIS1.1

Dieses Modul bietet eine Einführung in die Grundlagen der Programmierung und erläutert einfaches algorithmisches Denken.

Das Modul deckt die wesentlichen Konzepte der imperativen Programmierung ab.

Zu den behandelten Grundbegriffen der Programmierung gehören:

  • Anweisungen: Die grundlegenden Bausteine eines Programms, die dem Computer sagen, welche Aktionen auszuführen sind.
  • Variablen: Speicherorte, die Werte aufnehmen und zur weiteren Verarbeitung bereitstellen können. Sie sind fundamental für die Datenmanipulation.
  • Operatoren: Symbole und Zeichen, die Operationen auf Variablen und Werten durchführen, wie z.B. arithmetische Operatoren (+, -, *, /) und Vergleichsoperatoren (==, !=, >, <).
  • Datentypen: Verschiedene Arten von Daten, wie Ganzzahlen, Gleitkommazahlen, Zeichenketten und Booleans, die in Programmen verwendet werden.
  • Kommentare: Die Bedeutung und Verwendung von Kommentaren im Code zur Verbesserung der Lesbarkeit und Wartbarkeit.
  • Ein- und Ausgabe: Umgang mit Benutzereingaben und die Ausgabe von Daten auf den Bildschirm.
  • Kontrollstrukturen: Strukturen, die den Ablauf eines Programms steuern. Dazu gehören bedingte Anweisungen wie `if` und `else` sowie Schleifen wie `for` und `while`, die wiederholte Ausführungen von Code ermöglichen.
  • Debugging: Grundlegende Techniken zum Auffinden und Beheben von Fehlern im Code.
  • Strings und Zeichenfolgenmanipulation: Arbeiten mit Zeichenketten, einschließlich grundlegender Operationen wie Konkatenation, Substrings und Formatierung.
  • Funktionen: Wiederverwendbare Codeblöcke, die eine spezifische Aufgabe erfüllen. Sie helfen dabei, Programme modular und übersichtlich zu gestalten, indem sie bestimmte Funktionalitäten kapseln.
  • Umgang mit Fehlern und Ausnahmen: Techniken zur Fehlerbehandlung, die sicherstellen, dass Programme robust sind und unerwartete Situationen korrekt behandeln. Dazu gehört der Einsatz von `try`, `except`-Blöcken, um Ausnahmen abzufangen und entsprechende Maßnahmen zu ergreifen.
  • Nutzung von Programmbibliotheken: Die Verwendung externer Bibliotheken, die vorgefertigte Funktionen und Klassen bereitstellen, um die Programmierarbeit zu erleichtern und zu beschleunigen. Dadurch können komplexe Aufgaben einfacher gelöst werden, ohne dass das Rad neu erfunden werden muss.
  • Komplexere Datenstrukturen: Listen und Dictionaries
4 Lehrformen:
Vorlesung (2 SWS) und Übung (2 SWS) (DIS1.1)
5 Teilnahmevoraussetzungen:

Keine

6 Art der Prüfung:
Klausurarbeit
7 Voraussetzungen für die Vergabe von Kreditpunkten:
-
8 Art: Pflicht- oder Wahlmodul
Pflichtmodul
9 Bewertungsmethoden benotet/unbenotet
benotet
10 Stellenwert der Note für die Endnote:
3 %
11 Modulbeauftragte/r und hauptamtlich Lehrende
Modulbeauftragte/r: Prof. Dr. Matthias Groß
Hauptamtlich Lehrende: Prof. Dr. Matthias Groß
12 Sonstige Informationen:
-
13 Literatur / Quellen

Blum, Norbert (2013): Algorithmen und Datenstrukturen. München: Oldenbourg Wissenschaftsverlag (E-Book: https://doi.org/10.1524/9783486719666)

Häberlein, Tobias (2012): Praktische Algorithmik mit Python. München: Oldenbourg Wissenschaftsverlag (E-Book: https://doi.org/10.1524/9783486714449)

Sweigart, Al (2020): Automate the boring stuff with Python. San Francisco: No Starch Press, Inc. (E-Book: https://automatetheboringstuff.com/)