Project in Software Engineering
The kickoff meeting as well as the final presentation meeting are both happing in person in room SP3 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 can be done in teams of 2 (with doubled workload), but can also be selected by a single student. At the end of the semester, the results have to be presented in a 15 minutes presentation.
The following list contains open thesis topics that might have to be adjusted in size to fit
as topic for Project in Software Engineering.
You might also find an interesting open master thesis topic that
could be adjusted to a Project in Software Engineering.
Currently, the compiler construction course at the JKU intensively uses unit tests to help students to find problems in their compilers. Nevertheless, having visual feedback instead of just textual error messages would further help students to more easily find a problem's root cause in their implementation. This project's aim is to a.) write a tool/agent to inject code at the correct locations in a student's implementation to record all necessary data and to b.) provide helpful visualizations based on this data. As a first step, two visualizations should be implemented: a.) A visualization of the scanner's tokenization process (i.e., a graphical representation of all tokens returned by
Scanner.next() and b.) a visualization of the (top-down) parser's parsing process by showing the parse tree (i.e., a tree-based visualization of the
error() and recursive descent methods called).
The visualizations should allow the students to step back and forth through the recorded data, i.e., one should be able to explore the building of the parse tree step by step.
The goal is to use these visualization live during lectures, as well as to provide them to students for learning at home.
Contact: Dr. Markus Weninger
Student: Tobias Herber
Already started before SS24
The results of every project have to be presented by all team members in a 15 minutes presentation at the end of the semester. 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 (no bullet point presentation - rather use graphics and examples to demonstrate your problem and solution).
The grading is performed based on 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.