Thema/Beschreibung |
Art |
Termin |
Entwicklung eines neuen Testwerkzeugs für die Virtual-C IDE
Für die Virtual-C IDE existiert ein in C++ geschriebenes Testwerkzeug, was automatisiert Tests (Compiler-Tests, Tests der elektronischen Abgabe, etc.) durchführt und im Rahmen der Release-Tests eingesetzt wird. Da einige neue Features in der IDE hinzugekommen sind, soll ein neues Testframework entstehen, welches auf Basis der Virtual-C Shell arbeiten soll. Dazu sind Erweiterungen der Shell und der IDE in C++ erforderlich.
|
MA/BA/Pr |
ab sofort |
Entwicklung eines Virtual-C Plugins als Debughilfe von multi-threaded Anwendungen
Die Virtual-C IDE unterstützt ab Version 1.6 ISO-C11 Threads. Bisher ist die IDE aber auf eine single-threaded Anwendung beim Debuggen ausgelegt. Um keine grundlegende Änderung der Benutzeroberfläche vornehmen zu müssen, bietet sich der Einsatz eines Plugins an (Dcp, C++).
|
MA/BA/Pr |
ab sofort |
Audiovisuelle Darstellung von Programmen
Bisher kommen bei Lehrveranstaltungen im Rahmen der praktischen Informatik Visualisierungen, wie z.B. die Darstellung verketteter Listen, zum Einsatz. Ziel dieser Arbeit ist anstelle oder zusätzlich zu einer Visualisierung, den Ablauf von Programmen in Töne umzusetzen. Idealerweise verweist dabei eine harmonische Ausgabe auf eine elegante Umsetzung hin.
|
MA/BA/Pr |
ab sofort |
Mobile Version der Virtual-C IDE
Ausgehend von der existierenden Android Version der Virtual-C IDE soll ein Konzept für eine optimale mobile Nutzung der IDE erstellt und prototypisch eine mobile Version erstellt werden (C++, Qt, Android).
|
MA/BA/Pr |
ab sofort |
Entwicklung einer webbasierten Virtuellen Maschine für die Common Intermediate Language (CIL)
Die Ausführung von Byte-Code oder anderen Zwischendarstellung in einem Webbrowser bietet viele neue Anwendungsfälle für die Entwicklung plattform-unabhängiger Apps (C/C++/JavaScript).
|
MA/BA/Pr |
ab sofort |
Portierung von bestehenden JavaScript Plugins der Virtual-C IDE in die neue Scriptsprache Dcp
Die bekannten Plugins der Virtual-C IDE zur Visualisierung von verketteten Listen, Binärbämen, etc. sollen in die neue Scriptsprache Dcp portiert werden (Webtechnologien: HTML, JavaScript)
|
BA/MA/Pr. |
ab sofort |
Cross-Compiling JavaScript und Dcp
Mit Version 1.8 der Virtual-C IDE wird das bisherige WebKit durch eine neue Scriptsprache Dcp ersetzt. Ziel dieser Arbeit ist es, das Cross-Compiling dieser beiden Sprachen zu untersuchen und einen prototypischen Cross-Compiler zu entwickeln (YACC/BISON, C/C++)
|
MA/St. |
ab sofort |
Entwicklung eines Online-Parsers für C
Zukünftig soll der SimpleC-Compiler als Online-Version für die Vorlesung Programmerzeugungssysteme eingesetzt werden. Damit der Compiler im Browser läuft, muss ein asynchroner Parser entwickelt werden; JavaScript darf nicht blockieren, was beim Warten auf das nächste Token im realen Parser jedoch passiert. Es soll beispielhaft ein Parser entwickelt werden, der seinen aktuellen Zustand speichern und beim Eintreffen des nächsten Tokens seine Analyse fortsetzen kann. Das Projekt wird in C entwickelt und mit Hilfe des Cross-Compiler-Systems emscripten in JavaScript übersetzt.
|
MA/BA/Pr |
ab sofort |
Entwicklung eines Import-Moduls zum Einlesen des LLVM-IR (LLVM-Zwischencodes) in die Virtual-C IDE
Die Virtual-C IDE unterstüzt den Einsatz externer Compiler. Da der Zwischencode (intermediate representation; IR) des LLVM sehr ähnlich dem Zwischencode des SimpleC-Compilers ist, lassen sich mit einer entsprechenden Importfunktion beliebige mit dem LLVM übersetzte Programme in der Virtual-C IDE debuggen.
|
MA/Pr/St. |
ab sofort |
Entwicklung von elektronischen Übungsaufgaben und Visalisierungen für die Virtual-C IDE
Die Virtual-C IDE bietet verschiedene Schnittstellen an, mit denen Übungsaufgaben zur C-Programmierung elektronisch durchgeführt werden können. Dazu gehöhrt zum einen die virtuelle Machine MOPVM mit einem Testframework für funktionale Tests und Performance-Tests. Zum anderen kann über die Pluginspeache Dcp auf sehr viele Funktionen der IDE zugegriffen werden. Mit diesen Schnittstellen lassen sich interaktive Übungsaufgaben sowie Visualisierungen des Programmablaufes bzw. der verwendeten Datenstrukturen realisieren.
|
BA/MA/St. |
ab sofort |
Realisierung einer Online-Plattform zum elektronischen Testen von Programmieraufgaben
Gerade beim Programmieren gibt es häufig viele unterschiedliche Lösungswege. Die Bereitstellung von Lösungsvorschlägen ist nicht immer hilfreich, da sie oft keine Aussage über die Richtigkeit der eigenen Lösung verrät. Das Ziel dieser studentischen Arbeit ist daher, anstelle von Lösungsvorschlägen eine Online-Prüfung von Übungsaufgaben bereitzustellen, die neben der Funktionalität auch die Qualität der Lösung prüft (Webtechnologien: JavaScrip, Node.js, Dcp)
|
BA/Pr. |
ab sofort |
Entwicklung einer graphischen Benutzeroberfläche zur Darstellung der internen Zustände eines C-Compilers
Entwicklung einer graphischen Benutzeroberfläche im Sinne einer einfachen IDE für den Kommandozeilen-C-Compiler SimpleC. Neben einem Editor sollen mehrere Fenster für die internen Zustände des Compilers nebeneinander dargestellt werden können. Diese Fenster umfassen z.B. den Scanner-Output, Präprozessor-Output, Zwischencode-Speicher für den Optimierer, Zwischencode (Frontend-Output), die Assembler-Ausgabe und die Symboltabelle.
|
BA/MA |
ab sofort |
Entwicklung eines Laders zur Ausführung von C-Programmen in einer virtuellen Maschine
Der SimpleC-Compiler übersetzt C-Code für die "MOPVM" (MOP-Virtuelle Maschine). Auf Basis dieses Objektcodes soll ein minimalistischer Lader entwickelt werden, der den Objektcode in einer virtuellen Maschine plattform-unabhängig zur Ausführung bringt.
|
BA/MA |
ab sofort |
Entwicklung von virtuellen Hardware-Modulen zur Einbindung in eine integrierte Entwicklungsumgebung (IDE)
Für die IDE der MOP-Praktikumssoftware sollen in Form von Plug-Ins zusätzliche virtuelle Hardware-Komponenten entwickelt werden, welche im Memory-Mapped-Betrieb angesteuert werden können. Im Debugger können Ausgaben und/oder Zustände der Hardware angezeigt werden.
|
BA |
ab sofort |