PTI06660 – Algorithms and Data Structures

Module
Algorithms and Data Structures
Algorithmen und Datenstrukturen
Module number
PTI06660
Version: 2
Faculty
Physikalische Technik / Informatik
Level
Bachelor
Duration
1 Semester
Semester
Summer semester
Module supervisor

Prof. Dr. Tina Geweniger
Tina.Geweniger(at)fh-zwickau.de

Lecturer(s)

Prof. Dr. Tina Geweniger
Tina.Geweniger(at)fh-zwickau.de

Course language(s)

German
in "Algorithmen und Datenstrukturen"

ECTS credits

5.00 credits

Workload

150 hours

Courses

4.00 SCH (3.00 SCH Vorlesung | 1.00 SCH Internship)

Self-study time

90.00 hours
45.00 hours Vor-/Nachbereitung - Algorithmen und Datenstrukturen
45.00 hours Self-study - Algorithmen und Datenstrukturen

Pre-examination(s)

Praktikum (erfolgreiche Teilnahme)
in "Algorithmen und Datenstrukturen"

Belegarbeit und Projekt
in "Algorithmen und Datenstrukturen"

Examination(s)

schriftliche Prüfungsleistung
Module examination | Examination time: 120 min | Weighting: 100%
in "Algorithmen und Datenstrukturen"

Media type
No information
Instruction content/structure
  • lgorithmen (iterative, rekursiv) und Laufzeitabschätzungen
  • Modellierungsmethoden, Pseudocode, Algorithmierung
  • Abstrakte Datentypen (Menge, Abbildung, Stack, Queue, Priority-Queue)
  • lineare Datenstrukturen: Folgen, Listen, Hash-Tabellen
  • hierarchische Datenstrukturen: Bäume, binäre Suchbäume, 2-3-Bäume, AVL-Bäume, Heaps
  • Sortierverfahren (Bubble-, Selection-, Insertion-, Merge-, Quick-, Radix-, Heapsort)
  • Graphalgorithmen (Zusammenhangskomponenten, Minimalgerüste, kürzeste Wege)
  • Pattern-Matching-Algorithmen (Boyer-Moore-, Knuth-Morris-Pratt-Verfahren)
  • Algorithmentypen (Branch and Bound, Backtracking, Divide and Conquer, Monte Carlo, Heuristiken, Brute Force)
  • Grundbegriffe der Kryptographie, symmetrische und asymmetrische Verschlüsselung, Verwaltung von Sicherheitszertifikaten
Qualification objectives

Die Studierenden kennen die grundlegenden Datenstrukturen und Algorithmen und können sie auf bekannte Problemklassen anwenden. Bekannte Algorithmen können die Studierenden für neue Problemklassen modifizieren.

Die Studierenden sind in der Lage, Algorithmen hinsichtlich Ihrer Komplexität zu beurteilen. Sie wenden dabei die grundlegenden Regeln für die Einordnung in Komplexitätsklassen an.

Die Studierenden sollen Grundkenntnisse in der Algorithmenkonstruktion erwerben und in praktischen Problemstellungen anwenden. Zudem sollen sie Studierenden in den Praktika das Implementieren von Algorithmen üben und Sicherheit beim Umgang mit der Programmiersprache Java und den entsprechenden Softwarewerkzeugen erlangen.

Die Studierenden kennen Grundbegriffe und grundlegende Methoden der Kryptographie. Sie können die Grundprinzipien der Kryptographie in einfachen Szenarien anwenden.

Special admission requirements

keine

Recommended prerequisites

Grundlagen der Programmierung

Continuation options
No information
Literature
  • Robert Sedgewick: Algorithmen in Java (Teil 1-4), Pearson Studium, 2003, 3. Auflage, 816 Seiten, ISBN: 978-3827370723
  • Gunter Saake, Kai Uwe Sattler: Algorithmen und Datenstrukturen: Eine Einführung mit Java, dpunkt-Verlag, 2006, 3. Auflage, 512 Seiten, ISBN: 978-3898643856.
  • Wolfgang Ertel: Angewandte Kryptographie, Hanser Verlag, 3. Auflage, 2007, ISBN: 978-3-446-41195-1.
Notes
No information