Project in Software Engineering

339.018 Mössenböck + members of SSW/Oracle Labs Introduction: Mo 02.03.2020, 15:00, S3 218 Presentations: Mo 29.06.2020, 14:00, S3 218


The goal of this course is to do a non-trivial software project over a whole semester and to go through all its phases (requirements definition, design, implementation, testing, documentation). The projects should be done in teams of 2, but can also be selected by a single student. At the end of the semester, the results should be presented in a 15 minutes presentation.

Assigned Topics

Available Topics

  • New JavaScript Language features - ECMAScript proposals (Java, some JavaScript)
    JavaScript is specified in the ECMAScript language specification. It is an evolving language, and is improved by a "proposal" process. Each new or improved feature is specified by one proposal. Currently open proposals include Temporal (a date/time library), optional chaining (avoiding null value exceptions), decorators (similar to Annotations in Java), additional methods to the Set builtin, and many more. As the different proposals vastly differ in effort to implement them, we have topics for projects (project in software engineering), bachelor theses and master theses. The task is to fully implement the current state of the proposal in the GraalVM/Graal.js JavaScript engine.
    Student: ?

  • A Diff Tool for PDF Documents (Java)
    Diff tools highlight the differences between two versions of a document. They are very common for comparing source files. MS Word also has a feature to compare text documents. For comparing PDF documents, however, there are only a few (commercial) tools available. The task of this project is to implement a Diff tool for PDF documents that produces a new PDF document showing the differences of the input documents side by side. The tool should be able to compare text with different fonts and styles as well as tables. More advanced features of PDF documents need not be supported.
    Student: ?

  • Documentation System for SOMns
    SOMns is a Newspeak based language for concurrency research and its runtime modules are currently not documented. The goal of this project is to develop a comment-based (like in JavaDoc) documentation system for SOMns, and integrate it into the SOMns plugin for VS Code.
    Student: ?

More Topics

Please see here

Final Presentation

The results of every project have to be presented by all team members in a 15 minutes presentation on Monday, June 29, 14:00-16:00 in room S3 218. The presentation should mainly consist of a demo, but you should also shortly explain the problems tackled in this project and how you solved them.


The mark is derived from the quality of the implemented software (functionality, user friendlyness, robustness, readability and maintainability, documentation) as well as from the final presentation and the commitment during the semester.