Software Projekt im SS2015

Das Software-Praktikum wird zukünftig mit semesterweise wechselnder Thematik stattfinden. Im Sommersemester 2015 wird es von Prof. Bohn und Herrn Leonhardt geleitet. Das Thema ist die Entwicklung einer Bildbearbeitungssprache und die Implementation mit einer Auswahl von Bildbearbeitungsfunktionen.

Organisation

  • Einführungsveranstaltung: 22.4.2015, 9:30 Uhr, HS2
  • Besprechung alle 2-3 drei Wochen, mittwochs, 9:30 Uhr, HS2. Hier sollte jedes Team seine erreichten Ergebnisse und ggf. eventuelle Probleme in einem Kurzvortrag präsentieren.
  • Termine:
    • 6.5.2015, 9:30 Uhr, HS 2
    • 20.5.2015, 9:30 Uhr, HS 2
    • 10.6.2015, 9:30 Uhr, HS 2
    • 1.7.2015, 9:30 Uhr, HS 2
    • 15.7.2015, 9:30 Uhr, HS 2, Abgabepräsentation
  • Benotet wird die fertige Software, die Kurzvorträge und die Abschlusspräsentation.
  • Entwicklungstool: Assembla

Thema

In diesem Semester geht es darum, eine Sprache zu entwickeln, mit der es möglich ist, Bildbearbeitungsoperationen zu strukturieren und ausführen zu lassen. Zentrale Aufgaben sind dabei die Entwicklung

  • eines geeigneten, flexiblen Datentyps für Bilder, einer
  • passenden Sprache um Bildbearbeitungsoperationen zu definieren, einer
  • Auswahl von universellen Basis-Bildbearbeitungsfunktionen, mit denen komplexere Operationen effizient definiert werden können, eines
  • Interpreters, der ausführbaren JAVA- oder C++-Code erzeugt und der oben definierten
  • Bildbearbeitungsroutinen. Hier kann unterstützend die ImageMagick-Library verwendet werden. 

Es sollte JAVA oder C++ als Programmiersprache verwendet werden.

Anforderungen

Ergebnis des Projektes ist ein Programmpaket, was oben Beschriebenes ermöglicht. Die Teilnehmer sollten sich sinnvoll auf einzelne Teams mit entsprechenden Unteraufgaben aufteilen. Die Entwicklung einer Sprache und der entsprechenden Datentypen sollte im Vorfeld gemeinsam diskutiert und festgelegt werden.

Ein Team, das aus 1-2 Personen besteht, soll die Leitung des Gesamtprojektes übernehmen. Die betreffenden Aufgaben wären die Formalisierung der o.g. Festlegungen, die Leitung und Unterstützung der Kommunikation unter den Teams, das Überwachen der Timeline und der Verteilung der Aufgaben auf die Teams, die Entwicklung einer Lösungsstrategie, falls Probleme (sowohl projekt- als auch personenbezogen) auftreten, die Lösung gemäß dieser Strategie und das Anfertigen einer Projektdokumentation in Form eines Wikis.