Praktikum aus Software Engineering

339.002 Wolfinger + SSW-Mitarbeiter Vorbesprechung: Montag, 4.3.2013, 16:00 Uhr, S3 218

Ziele

Ziel dieses Praktikums ist es, ein größeres Softwareprojekt während eines Semesters eigenständig zu bearbeiten und durch alle Phasen (Anforderungserhebung, Entwurf, Implementierung, Test, Dokumentation) zu begleiten. Das Projekt sollte in Teams zu jeweils 2 Personen bearbeitet werden und ist am Ende des Semesters in einem Vortrag zu präsentieren.

Themen im Bereich Java Tools

  • Compilation Result Inspection Tool for Truffle / Graal
    Graal is a Java just-in-time compiler written in Java that runs on top of the HotSpot Virtual Machine. Truffle is a framework built on top of Graal for implementing programming languages efficiently on top of a JVM. The goal of this project is to build a tool that allows the language implementer to verify the result of a compilation of guest language code. This compilation result inspection tool should provide a code-like output that exemplifies the compiled code after various optimizations. The implementation should leverage the underlying Truffle and Graal infrastructure to keep the overhead as low as possible.
    Betreuer: DI Stadler
    Bearbeiter: Matthias Grimmer

  • JavaScript-based visualizer for Graal graphs
    Graal is a Java just-in-time compiler written in Java that runs on top of the HotSpot Virtual Machine. Graal uses its own intermediate representation during the compilation and optimization phases. We want to create a JavaScript/Browser based tool that displays these graphs and allows us to do analyses upon them. The tool should be able to receive graphs directly from the compiler via websockets and display them in a comfortable and intuitive way.
    Betreuer: DI Stadler
    Bearbeiter: Robert Ebetsberger-Katerl

  • Exploration of file memory mapping in the context of HotSpot's class data sharing
    Graal is a Java just-in-time compiler written in Java that runs on top of the HotSpot Virtual Machine. The HotSpot VM uses memory mapping techniques in order to share read-only class data between multiple VM instances. The goal of this project is to (a) explore the usage of this technique in the context of HotSpot and (b) develop a sample program for measuring the performance differences between memory mapping a file and reading from it.
    Betreuer: Dr. Würthinger
    Bearbeiter: Markus Riedl-Ehrenleitner, Philipp Mitterer

Themen im Bereich Web-Programmierung

  • Institutswegweiser
    Am Institut für Systemsoftware soll ein elektronischer Wegweiser auf einem Großbildschirm anzeigen, in welchen Räumen die Institutsmitarbeiter zu finden sind, sowie bei Bedarf Zusatzinformationen wie Sprechstunde oder Urlaub. In diesem Projekt soll das Anzeigeprogramm für den Großbildschirm und das Verwaltungsprogramm für die Institutsmitarbeiter programmiert werden, beide als Webanwendung.
    Bearbeiter: Patrick Hagmüller, Andreas Krenmayr

Themen im Bereich Plattformunabhängigkeit

  • Plattformunabhängige Programmentwicklung
    Entwickelt man ein Programm für mehrere Plattformen (zB: Windows, Linux, Android, OS X und iOS), lohnt es sich Code wiederzuverwenden, um die Entwicklungszeit zu verkürzen. In diesem Projekt soll anhand eines kleinen Spiels gezeigt werden, wie man Programmteile (Spiel-Engine und Spielschleife) auf unterschiedlichen Plattformen verwenden kann. Vervollständigen Sie das Spiel mit einer Benutzerschnittstelle auf zwei Plattformen, einmal in Java (zB: Swing oder Android) und einmal in OpenGL ES (zB: Android oder iOS).
    Bearbeiter: Florian Ennemoser, Ali Nikrang Mofrad

Benotung

Die Note wird aus der Qualität der erstellten Software (Benutzerfreundlichkeit, Robustheit, Klarheit der Architektur, Klarheit des Programmierstils, Dokumentation) ermittelt. Am Semesterende ist das Ergebnis in einem kurzen Vortrag zu präsentieren. Der Vortrag sowie der persönliche Einsatz während des Projekts fließen auch in die Note ein.

Abschlussvortrag

Termin: Dienstag, 25.6.2013, 12:45 - 14:30 Uhr
Raum: S3 057