Praktische Informatik 1

339.630 Praktische Informatik 1 (Mechatronik) 2VO Rabiser Mi 10:15-11:45 Raum: HS 15 Beginn: 4.3.2020

Organisatorisches

Übungen

Informationen zu den Übungen finden Sie hier: UE Praktische Informatik 1

Ziele

Algorithmen sind das formale Grundgerüst für die Software-Entwicklung. Sie sind ein Bindeglied zwischen der Theoretischen Informatik und der eigentlichen Programmierung.

In dieser Lehrveranstaltung werden die wesentlichen Eigenschaften von Algorithmen untersucht und wichtige Klassen von Algorithmen in Bezug auf ihre praktische Anwendung vorgestellt.

Die Behandlung der Algorithmen erfolgt großteils in Pseudocode. Dies erlaubt die Betrachtung von Algorithmen losgelöst von einer konkreten Programmiersprache.

Manche Lehrinhalte (z.B. Rekursion, Zufallszahlen und Sortieren) werden durch Vorführungen veranschaulicht.

Inhalt

  • Der Algorithmusbegriff
    Definition, Abgrenzung zwischen Algorithmen und Programmen, Darstellungsarten, Abstraktionsschichten und Bestandteile von Algorithmen
  • Spezifikation
    Zweck, Schnittstellenbeschreibung, Aufgabenbeschreibung, Darstellungsarten
  • Schrittweise Verfeinerung
    "Divide & Conquer", systematisches Lösen großer Probleme, Beispiel in Java
  • Algorithmen mit Gedächtnis
    Begriff, Implementierungsvarianten
  • Komplexität
    Begriff, Laufzeitanalyse, Laufzeitmessung, Asymptotische Komplexität, Minimale Komplexität von Problemen
  • Rekursion
    Begriff, Klassifizierung, Terminierung, Anwendungen, Umwandlung rekursiver Algorithmen in iterative und umgekehrt
  • Zufallszahlen
    Aufbau von Zufallszahlengeneratoren, Periodenlänge, Varianten von Zufallszahlengeneratoren, Zufälligkeitstests
  • Sortieren
    Auswahlverfahren, Einfügeverfahren, Shellsort, Quicksort, internes und externes Mischsortieren, Komplexität von Sortierverfahren
  • Exhaustion
    Das n-Damen-Problem, Schema zum Suchen einer Lösung, Exhaustionsvariante, Optimierungsvariante, Darstellung von Lösungsvektoren, Näherungsverfahren, Nichtdeterministische Algorithmen
  • Klassifikation von Algorithmen

Leistungsnachweis:

VO: Vorlesungsklausur am Ende des Semesters.

UE: Beurteilung ausgearbeiteter Übungsaufgaben.

Unterlagen

Die Vorlesung wird foliengestützt abgehalten. Die Folien und ergänzende Unterlagen stehen im KUSSS zum Download zur Verfügung; Ergänzendes Begleitmaterial zur Übung wird zum Download im PDF-Format bereitgestellt.

Demos und Visualisierungen

Im Verlauf der Vorlesung werden Abläufe von Algorithmen "live" gezeigt. Diese Vorführungen werden nach den Vorführungen als Kurzfilme zur Verfügung gestellt.

Weitere teils interaktive Visualisierungen von Algorithmen finden Sie auf einer Seite der University of San Francisco. Auch sind in den Vorlsungsfolien mehrere Visualisierungen und Videos inkludiert/verlinkt.