logo of the SSW institute
Institut für Systemsoftware
Johannes Kepler Universität Linz
Fachbereich Informatik
logo of the Cristian Doppler Research Association
Christian Doppler Labor
Automated Software Engineering

Home

General
Staff
Contact
Partners
Alumni

Research
Areas
Projects
Papers
Books
Reports
Awards

Teaching
Lectures
Exams
B.Projects
M.Theses
PhD Theses
Go Abroad

Misc
Library
Seminars
Gallery
Links
Search

Webmaster


logo of the Johannes Kepler University (JKU)

Algorithmen und Datenstrukturen 1 / Praktische Informatik 1

339.110 Algorithmen und Datenstrukturen 1 (Informatik) 2VO Blaschek Di 10:15-11:45 Raum: HS 2 Beginn: 6.3.2012
339.910 Algorithmen und Datenstrukturen 1 (Informationselektronik) 2VO Blaschek Mi 10:15-11:45 Raum: HS 16 Beginn: 7.3.2012
339.630 Praktische Informatik 1 (Mechatronik) 2VO Blaschek Mi 10:15-11:45 Raum: HS 16 Beginn: 7.3.2012

Organisatorisches

Studienrichtungen

Die drei Lehrveranstaltungen 339.110, 339.910 und 339.630 werden an zwei Terminen für drei Studienrichtungen abgehalten (siehe Tabelle). Die Lehrveranstaltungen sind inhaltlich gleich.

Übungen

Die Übungen zu den Vorlesungen werden aus organisatorischen Gründen vom Institut für Pervasive Computing angeboten.

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 "Jana", einer abstrakten Schreibweise, die an Java angelehnt ist. Diese Notation 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
  • 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, Exhautionsvariante, 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; eine Beschreibung der in der Vorlesung und in den Übungen verwendeten Algorithmenbeschreibungsprache Jana finden Sie zusätzlich hier.
Hinweise auf weiterführende Literatur sind im Skript enthalten. Ergänzendes Begleitmaterial zur Übung wird zum Download im PDF-Format bereitgestellt.

Movies der Vorführungen

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.