20.02.2024 Aufrufe

IT-Nachwuchsforschung in Österreich

Das OCG Journal ist die Mitgliederzeitschrift der Österreichischen Computer Gesellschaft (OCG). Das erste OCG Journal des Jahres widmet sich erneut der IT-Nachwuchsforschung in Österreich. Ausgewählte Jungforscher*innen präsentieren ihre spannende Arbeit im Bereich der Informatik.

Das OCG Journal ist die Mitgliederzeitschrift der Österreichischen Computer Gesellschaft (OCG). Das erste OCG Journal des Jahres widmet sich erneut der IT-Nachwuchsforschung in Österreich. Ausgewählte Jungforscher*innen präsentieren ihre spannende Arbeit im Bereich der Informatik.

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

Preisträger<strong>in</strong> des Adolf-Adam-Informatikpreis<br />

von Katr<strong>in</strong> Kern<br />

Visualisierungstool für die<br />

Programmierausbildung<br />

Dass Programmieren-Lernen meist ke<strong>in</strong><br />

leichtes Unterfangen ist, ist weith<strong>in</strong> bekannt<br />

– die Durchfallquoten <strong>in</strong> e<strong>in</strong>führenden<br />

Kursen und vielleicht auch die<br />

eigenen Er<strong>in</strong>nerungen an die ersten<br />

„Gehversuche“ sprechen für sich.<br />

E<strong>in</strong> zentrales Problem hierbei ist, dass<br />

die Arbeitsweise e<strong>in</strong>es Computers besonders<br />

für Anfänger*<strong>in</strong>nen oft undurchsichtig<br />

ist. Wissenslücken und <strong>in</strong>korrekte<br />

Annahmen über die zugrundeliegende<br />

Masch<strong>in</strong>e führen häufig zu unerwarteten<br />

Ergebnissen. Um die <strong>in</strong>ternen Vorgänge<br />

etwas sichtbarer zu machen, können an<br />

Programmieranfänger*<strong>in</strong>nen angepasste<br />

Visualisierungen e<strong>in</strong>gesetzt werden.<br />

Das ist natürlich ke<strong>in</strong>e neue Idee – allerd<strong>in</strong>gs<br />

waren der Funktionsumfang und<br />

die Usability bestehender Lösungen<br />

nicht zufriedenstellend für den E<strong>in</strong>satz<br />

an der Johannes Kepler Universität L<strong>in</strong>z.<br />

Das Ziel me<strong>in</strong>er Masterarbeit war es, e<strong>in</strong><br />

modernes Tool zu gestalten, das komplexe<br />

Sachverhalte für Java-Anfänger*<strong>in</strong>nen<br />

vollständig, aber möglichst e<strong>in</strong>fach, darstellt.<br />

Auch Lehrende sollten davon profitieren<br />

– statt mit Whiteboard-Zeichnungen<br />

und animierten Präsentationsfolien,<br />

sollen Beispielprogramme im Unterricht<br />

mit JavaWiz visualisiert werden können.<br />

AUFBAU UND FUNKTIONSWEISE<br />

Grob zusammengefasst ist JavaWiz e<strong>in</strong><br />

visueller Debugger: Benutzer*<strong>in</strong>nen können<br />

Zeile für Zeile durch den Code steppen<br />

und dabei die Änderungen <strong>in</strong> den<br />

Visualisierungen verfolgen. Im Backend<br />

des Tools läuft e<strong>in</strong> Java-Debugger, dessen<br />

Informationen nach jedem Schritt aufgezeichnet<br />

und über e<strong>in</strong>en Websocket an<br />

das Frontend gesendet werden.<br />

Das Frontend – der wesentliche Teil<br />

der Masterarbeit – besteht aus e<strong>in</strong>em<br />

Code-Editor, e<strong>in</strong>er Konsole und zwei Visualisierungen<br />

und wurde mit Vue.js,<br />

TypeScript, d3.js sowie d3-graphviz umgesetzt.<br />

Im Code-Editor wird während der Ausführung<br />

immer die nächste Zeile, die<br />

ausgeführt wird, farblich hervorgehoben<br />

(analog zu dem Verhalten e<strong>in</strong>es „normalen”<br />

Debuggers). Die Konsole zeigt den<br />

Output des Programms und ermöglicht<br />

es, E<strong>in</strong>gaben zu tätigen.<br />

Die erste Visualisierung ist im Grunde<br />

die digitale Version e<strong>in</strong>es klassischen<br />

„Schreibtischtests“, also e<strong>in</strong>er e<strong>in</strong>fachen<br />

Tabelle, die Änderungen von Variablenwerten<br />

darstellt und üblicherweise per<br />

Hand durchgeführt wird. Diese Tabelle<br />

eignet sich besonders gut für das Nachvollziehen<br />

der ersten e<strong>in</strong>fachen Programme<br />

oder z. B. das F<strong>in</strong>den von One-Off-<br />

Errors bei Schleifen. Die zweite, etwas<br />

umfangreichere Visualisierung stellt<br />

Stack und Heap dar. Der Fokus liegt stark<br />

auf dem Hervorheben von Änderungen:<br />

Geänderte Variablenwerte und Referenzen<br />

werden rot und fett markiert, um die<br />

Auswirkungen der e<strong>in</strong>zelnen Codezeilen<br />

besser nachvollziehen zu können. Damit<br />

auch etwas größere Programme noch<br />

s<strong>in</strong>nvoll dargestellt werden, können Objekte<br />

im Heap e<strong>in</strong>- und ausgeklappt werden.<br />

Zudem besteht die Möglichkeit, im<br />

Code zurückzugehen, um sich bestimmte<br />

Abläufe noch e<strong>in</strong>mal anzusehen.<br />

EINSATZ, ERFOLG UND ZUKUNFT<br />

JavaWiz ist mittlerweile als Visual Studio<br />

Code Plug<strong>in</strong> verfügbar und wurde erfreulicherweise<br />

bereits über 1200-mal heruntergeladen.<br />

Sowohl Studierende als auch<br />

Lehrende an der JKU setzen das Tool im<br />

Unterricht und bei den Hausübungen<br />

e<strong>in</strong>.<br />

Durch mehrere Kolleg*<strong>in</strong>nen am Institut<br />

für Systemsoftware der JKU wird Java-<br />

Wiz laufend um viele nützliche Features<br />

erweitert - beispielsweise gibt es mittlerweile<br />

spezielle Visualisierungen für verkettete<br />

Listen und Arrays.<br />

L<strong>in</strong>k zum Projekt: https://ssw.jku.at/Research/Projects/JavaWiz/<br />

34 OCG Journal | 01 • 2024

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!