Meier, Fabian and Winter, Jan (2018) ADV-Tree-Module. Student Research Project thesis, HSR Hochschule für Technik Rapperswil.
HS 2018 2019-SA-EP-Meier-Winter-ADV-Tree-Module.pdf - Supplemental Material
Download (3MB) | Preview
Abstract
An der Hochschule für Technik Rapperswil werden die Module Algorithmen und Datenstrukturen 1 und 2 unterrichtet. Zurzeit wird für die Visualisierung von komplexen Algorithmen der Graph-Visualization-Service (GVS) verwendet, um den Studenten das Erlernen zu vereinfachen. In einer vorangegangenen Bachelorarbeit wurde der Algorithm & Data Structure Visualizer (ADV) entwickelt, der den GVS ablösen soll. Darin wurden bereits einige Module entwickelt, beispielsweise zur Darstellung von Graphen oder Arrays. Bisher fehlt dem ADV jedoch die Funktionalität zur Darstellung von Bäumen. Das Ziel dieser Studienarbeit ist die Entwicklung eines Moduls, welches den ADV um die Baumdarstellung erweitert und ihn damit bereit für den Einsatz im Unterricht macht.
Bei der Spezifikation der Anforderungen an das ADV-Tree-Module wurde der Funktionsumfang zur Baumdarstellung des GVS berücksichtigt. Zusätzlich erweitert es den Funktionsumfang um die Darstellung eines Arrays bei binären Bäumen. Bei der Definition der Architektur orientierte sich das Modul stark an den Anforderungen zur Modulentwicklung des ADV, fokussierte sich aber auch auf die Erweiterbarkeit. Um die Umsetzbarkeit der Architektur zu überprüfen, wurde früh ein Prototyp entwickelt. Das Modul wurde in zwei Komponenten aufgeteilt. Die Komponente, die der Student bei sich in der Codebase verwendet, enthält Klassen zur Darstellung von Bäumen. Die zweite Komponente ist für die Visualisierung im Fenster des ADV zuständig. Für die Darstellung komplexer Algorithmen wurde das Modul so erweitert, dass diesem Kind-Module hinzugefügt werden können.
Als Resultat der Studienarbeit entstand ein Modul, das aus einem Array einen Binärbaum, aus einem Wurzel-Knoten einen binären oder generellen Baum und aus einer Collection von Knoten einen Wald darstellen kann. Bei den binären Bäumen ist es zudem möglich, die zugehörige Array-Darstellung zu visualisieren. Um Rotationen besser darzustellen, ermöglicht das Modul die Fixierung der Knoten im Fenster.
Item Type: | Thesis (Student Research Project) |
---|---|
Subjects: | Topics > Software > Optimization Topics > Software > Testing and Simulation Topics > Internet Technologies and Applications > Visualization Area of Application > Academic and Education Technologies > Programming Languages > JavaFX |
Divisions: | Bachelor of Science FHO in Informatik > Student Research Project |
Depositing User: | OST Deposit User |
Contributors: | Contribution Name Email Thesis advisor Letsch, Thomas UNSPECIFIED |
Date Deposited: | 26 Mar 2019 06:47 |
Last Modified: | 26 Mar 2019 06:47 |
URI: | https://eprints.ost.ch/id/eprint/741 |