Ordinary wisdom says that the individual tests in a testsuite should be independent of each other.
That is, each test should be able to run independently of any other test, and in any order.
This independence allows the testsuite driver to execute tests in parallel and easily summarize the results using a tests passed / tests failed metric.
Viele der Lehrmaterialien welche wir in der Lehre verwenden bestehen aus nicht interaktiven Skripten und Foliensätzen.
Aber die Inhalte der Informatik, under gerade auch der Programmiersprachentheorie, eignen sich besonders gut für eine interaktive Präsentation.
Durch eine interaktive Präsentation können auch sehr abstrakte Inhalte greifbar und verständlich gemacht werden.
So wird zum Beispiel häufig auf Animationen und interaktive Graphiken zurückgegriffen, um die Ausführung von Algorithmen zu veranschaulichen.
Im Rahmen dieser Bachelorarbeit wollen wir einige unserer Lehrmaterialien um interaktive Elemente ergänzen.
Einige konkrete Beispiele die wir gerne umsetzen würden sind:
Supercompilation is a compile-time optimization technique which uses partial-evaluation in order to generate an optimzed version of the program.
Supercompilation is known to generate significant speedups and to subsume various other optimization techniques.
The downsides of supercompilation are potentially huge increases in both compile-time and binary size.
Highcharts is a Javascript library for visualizing data. The purpose of this thesis
is to develop an adapter of Highcharts for Scala, such that data in the Scala runtime
can be visualized with the same ease as with dedicated data science languages such
as Mathlab or R.
Im Bereich der Entwicklung von Steuergerätesoftware kommen als Zielplattformen sowohl Gerätehardware als auch entsprechende Emulatoren zum Einsatz. Deren Verwendung ist vielfach kostenintensiv und für proprietäre Systeme oft mit einem Lock-in ohne Möglichkeiten der Erweiterung oder der Integration mit anderen Systemen verbunden. Der Einsatz von Fat Client Software erschwert darüber hinaus deren externe Verwendung zum Beispiel durch Testingenieure an Offshore-Standorten. Schließlich ist die Skalierbarkeit von Tests auf physischen Steuergeräten oder Fat Client Emulatoren stark eingeschränkt.