Uni-Logo
Algorithms and Complexity
 


Software-Praktikum

"Implementation von Datenkompressionsalgorithmen"
Sommersemester 2005
Prof. Dr. Susanne Albers,
Markus Schmidt, Swen Schmelzer



Anmeldung

in der zentralen Software-Praktika-Veranstaltung: Mittwoch, 13.04.2005, 13:00 Uhr, Hörsaal 026, Gebäude 101


Praktikum

mittwochs 14-18 Uhr, Gebäude 79, Raum 12.


Inhalt der Veranstaltung

In diesem Praktikum implementieren und testen wir eine Reihe von klassischen Datenkompressionsverfahren. Wir beginnen mit einfachen Algorithmen basierend auf selbstorganisierenden Listen und erweitern diese zum bekannten Burrows-Wheeler-Verfahren. Ferner werden Verfahren von Lempel, Ziv und Welch implementiert werden. Die erstellten Algorithmen werden auf Benchmark-Bibliotheken getestet und miteinander verglichen werden.

Im Praktikum arbeiten wir in Teams von zwei bis drei Personen und benutzen die Entwicklungsumgebung Eclipse. Zunächst erstellen wir unter Verwendung von Java-Swing eine grafische Benutzeroberfläche, in der man mittels Mauszeiger navigieren kann. Die implementierten Kompressionsverfahren werden an Dateien aus dem Calgary Corpus getestet. Wir modellieren unser Projekt mit UML und dokumentieren die von uns geschriebenen Klassen ausführlich mit JavaDoc.


Erfolgreiche Teilnahme

Voraussetzung für die erfolgreiche Teilnahme sind die korrekte Implementierung der Oberflächensteuerung und der Kompressionsalgorithmen sowie eine Präsentation am Ende des Praktikums.


Literatur
  • J.L. Bentley, D.S. Sleator, R.E. Tarjan und V.K. Wei. A locally adaptive data compression scheme. Communication of the ACM, 29:320-330, 1986. PDF
  • M. Burrows und D.J. Wheeler. A block-sorting lossless data compression algorithm. DEC SRC Research Report 124, 1994. PDF
  • Terry A. Welch. A Technique for High Performance Data Compression, IEEE Computer, Vol. 17, No. 6, 8-19, 1984. PDF
  • B. Daum. Java-Entwicklung mit Eclipse 2, dpunkt.verlag 2003, ISBN 3-89864-227-5
  • P. Fischer. Grafik-Programmierung mit Java-Swing, Addison-Wesley 2001, ISBN 3-8273-1910-2
  • G. Krüger. Handbuch der Java-Programmierung, 3. Auflage, Addison-Wesley 2002, ISBN 3-8273-1949-8
  • G. Booch und J. Rumbaugh und I. Jacobson. Das UML Benutzerhandbuch, Addison-Wesley 1999, ISBN 3-8273-1486-0
  • H.Balzert. Lehrbuch der Objektmodellierung, Akademischer Verlag 2005, ISBN 3-8274-1162-9
  • P. Stevens und R.Pooley. Using UML, Addison-Wesley 2000, ISBN 0-201-64860-1