Professur für Softwaresysteme - Studentische Arbeiten

Software zur Lehrunterstützung

Allgemeine Themen

Zentrales Thema bei der Software für die Unterstützung der Lehre ist die Entwicklung der ClientBook-Anwendung. ClientBook ist eine Client-Server-Anwendung, welche den Rechner zur Unterstützung von Lehrveranstaltungen nutzt: Es können Tests durchgeführt werden (vgl. Eingangstest Praktikum Maschinenorientiertes Programmieren), Übungen angestoßen und Programmier-Praktika durchgeführt werden. Darüber hinaus ist die interaktive Verteilung von Lehrmitteln, wie z.B. Folien, Animationen, Videos geplant, bei denen der Student Anmerkungen vornehmen kann. Hinter dem Wort "Book" verbirgt sich das Konzept, dass der Student die Lehrinhalte lokal abspeichern, später wieder einsehen und gesammelt als PDF-Dokument abspeichern kann.

Neben dem System Clientbook stellt die Virtual-C IDE (welche übrigens auch als Client in diesem System arbeiten kann) eine Reihe von Themen zur Verfügung. Viele Themen behandeln Erweiterungen der IDE im Sinne von Visualisierungen oder E-Learning Konzepten (elektronische Übungen, elektronische Vermittlung von Lehrinhalten). 

Aber auch generell sind Visualisierungen zu Software-Themen aus den Lehrveranstaltungen GDI, MOP, PES, SMT wie z.B. Animation von Algorithmen, Abläufen, Konzepten, Strukturen möglich.

Konkrete Themen

Thema/Beschreibung Art Termin
Entwicklung eines Node.js basierten Server-Frontends mit SSL-Verschlüsselung für die MOP-Praktikumssoftware
Der bisherige Windows-basierte HTTP-Server soll um ein Frontend für HTTPS erweitert werden. (JavaScript, Netzwerk und Webtechnologien).
MA/BA/Pr 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 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 Anwendung zur Animation von Aktivitätsdiagrammen

Ausgehend von den einfachen in der Lehrveranstaltung GDI gezeigten Algorithmen soll eine Visualisierung entwickelt werden, welche die Abläufe eines Algorithmus und damit Konzepte wie Determiniertheit, Terminiertheit, Determinismus, Rekursion, etc. anschaulich verdeutlichen kann. Idealerweise erfolgt eine plattform-unabhängige Entwicklung als HTML5 Webapplikation.

BA/MA ab sofort

Abgeschlossene Arbeiten / Frühere Themen

  • Realisierung eine multimedialen Lernpaktes für Programmieranfänger (BA), D. Nolde, 2017
  • Entwicklung einer Java-Applikation zur interaktiven Visualisierung von Automaten für reguläre Sprachen (BA), T. Klipfel, 2017
  • Mustererkennung in Programmtexten (St.), T. Weygandt, 2017
  • Entwicklung einer plattformübergreifenden Anwendung zur Veranschaulichung von Code-Transformationen (BA), R. Vrinssen, 2016
  • Entwicklung eines Programmierstilanalyzers zur Diagnose von Softwareplagiaten (BA), B. Hoffmeister, 2015
  • Entwicklung einer Web-Applikation zur dynamischen Visualisierung von Syntaxbäumen (BA), S. Kommorovski, 2015
  • Entwicklung eines webbasierten EBNF-Simulators (BA), K. Klinger, 2015
  • Entwicklung einer Applikation zur Visualisierung der Abhängigkeiten von Programmquelltexten zur Identifikation von Plagiaten (MA), M. Klein, 2014
  • Portierung und Optimierung der Virtual-C IDE für den Einsatz auf mobilen Endgeräten (BA), D. Schmudde, 2014
  • Realisierung eines E-Learning-moduls fü die Lehrveranstaltung Maschinenorientiertes Programmieren (BA), C. Hobe, 2014
  • Entwicklung eines Softwaresystems zur Realisierung einer interaktiven Präsentationslandschaft (BA), P. Graff, 2013
  • Effizienzsteigerung der Plagiatssoftware MUTEX (St.), C. Engelhardt, 2012
  • Realisierung einer Java-Applikation zur Darstellung und Animation von UML-Aktivitütsdiagrammen (BA), J. Schmidt, 2012
  • Realisierung und Evaluation einer Software zur Plagiatsprüfung von Programmquelltexten (BA), C. Engelhardt, 2012
  • Entwicklung einer Anwendung zur graphischen Darstellung dynamischer Datenstrukturen (BA), J. Wonneberger, 2012
  • Entwicklung einer verteilten Anwendung zur interaktiven Präsentationssynchronisation (BA), M. Otto, 2011
  • Realisierung einer zustandsgesteuertern Ampelschaltung zur Unterstützung in der Lehre (Pr.), A. Lingauer, R. Wimmer , 2010
  • Darstellung und Animation von Aktivitätsdiagrammen (DA), Schäfer, 2009
  • Realisierung einer Robotersimulation mit graphischer Benutzeroberfläche zur Anbindung an einen Webserver (DA), P. Bauer, 2008
  • Entwicklung einer Client-Server-Architektur für die Simulation virtueller Robotergruppen (DA), M. Schubert, 2008, Fakultät INF, 2008
  • Modellierung, Simulation und Darstellung einer Umgebung für virtueller Robotergruppen (DA), A. Hontzia, 2008, Fakultät INF, 2008

Virtual-C IDE (MOP VM)

Literatur

D. Pawelczak, A. Baumann:  Virtual-C - a programming environment for teaching C in undergraduate programming courses. IEEE Global Engineering Education Conference EDUCON 2014, 3-5 April 2014, Istanbul, Turkey, S.1142-1148
 
D. Pawelczak:  Online Detection of Source-code Plagiarism in Undergraduate Programming Courses, FECS'13: The 9th International Conference on Frontiers in Education: Computer Science and Computer Engineering, part of Worldcomp'13, July 22-25, 2013, Las Vegas, USA, S. 57-63