Refine
Year of publication
- 2014 (3) (remove)
Document Type
- Bachelor Thesis (3)
Language
- German (3)
Has Fulltext
- yes (3) (remove)
Is part of the Bibliography
- no (3)
Keywords
- Informatik (3) (remove)
Open Access
- Open Access (3)
Gegenstand der hier vorgestellten Arbeit ist eine Webanwendung, die als Lernhilfe für die Grundlagen des algorithmischen Denkens und Arbeitens dienen soll. Das Erstellen eines Struktogramms (Nassi-Shneiderman-Diagramm) dient in vielen Vorlesungen und Unterrichten, die sich mit den Grundlagen der Informatik beschäftigen, als Mittel der Darstellung eines Algorithmus. Hierfür bestehen die unterschiedlichsten Editoren. Dabei handelt es sich um PC- oder Webanwendungen, welche hauptsächlich in Java realisiert sind. Diese Thesis beschäftigt sich mit der Erstellung eines webbasierten Tools, das es ermöglicht, ein solches Struktogramm zu erstellen und auch auf Funktion zu testen. Hierbei steht jedoch nicht nur die reine Ausführbarkeit, sondern auch der didaktische Nutzen im Vordergrund. Ziel ist es, mit der Anwendung die Studierenden des ersten Semesters des Studiengangs Medien und Informationswesen bei allen Vorgaben, die das Struktogramm betreffen, zu unterstützen. Die Ausführbarkeit des Struktogrammes ist hierbei eine wichtige Hilfe um eigene Fehler zu erkennen und zu verstehen. Umgesetzt wird die Anwendung mit dem interaktiven SVG-Format. Dabei handelt es sich um vektorbasierte Grafiken, die über JavaScript interaktiv gestaltet werden können. Die Arbeit enthält zudem eine gründliche Recherche über vergleichbare Anwendungen, deren Vor- und Nachteile sowie einen Vergleich untereinander. Aus den Resultaten der Vergleiche sowie weiterer Recherche im Bereich der Didaktik werden die Anforderungen an ein entsprechendes Hilfsmittel erfasst und aufgestellt. Nach der Konzeptionierung wird ein Prototyp erstellt und eine erste Evaluierung durchgeführt. Schlussendlich folgt eine Zusammenfassung und ein Ausblick.
Einleitend wird der Kontext der Aufgabenbeschreibung vorgestellt. In einer Umgebung, in der Internet jederzeit und überall abrufbar ist, macht die Entwicklung von Web-Applikationen gegenüber systemeigenen Applikationen immer mehr Sinn. Hier gilt es, die im Multimedia- Bereich etablierte Flash-Programmierung wegen des immer geringer werdenden Supports durch offene Lösungen des HTML5-Standards zu ersetzen. Konkret wird dies hier mit dem Canvas-Element gelöst. Außerdem dienen WebSockets der Synchronität in Echtzeit zu kollaborativen Zwecken.
In Kapitel zwei geht es um die Theorie, die dem Framework zugrunde liegt. Es ist in zwei Abschnitte eingeteilt. Im ersten Abschnitt werden Vor- und Nachteile sowie Konzepte von generischen Frameworks aufgezeigt. Weiterhin wird auf funktionale und nicht-funktionale Anforderungen an derartige Frameworks eingegangen. Beendet wird der Abschnitt mit der Vorstellung einiger Frameworks, die in der Praxis häufig verwendet werden. Der zweite Abschnitt befasst sich mit Kollaboration im Zusammenhang mit Echtzeit-Webanwendungen. Zu Beginn wird erläutert, wie die Begriffe „Kollaboration“, „Echtzeit“ und „Web- Anwendung“ definiert sind. Im weiteren Verlauf wird auf Techniken der Kollaboration in der Raum-Zeit-Klassifizierung eingegangen. Abgeschlossen wird das Kapitel mit der Vorstellung diverser technischer Umsetzungsmöglichkeiten sowie einem Beispiel aus der Praxis.
Kapitel drei befasst sich mit den Webtechnologien, die im Rahmen dieser Thesis verwendet werden. Der erste Teil des Kapitels beinhaltet neben einer Kurzzusammenfassung über die Neuerungen in HTML5 eine detaillierte Vorstellung des HTML5-Canvas und der WebSockets. Es folgt ein kurzer Abriss über die Programmiersprache JavaScript. Im zweiten Teil des Kapitels wird Node.js als serverseitige Infrastruktur präsentiert. Weiterhin werden Produkte für die serverseitige Speicherung der Daten vorgestellt und verglichen. Zum Abschluss werden einige Canvas-Bibliotheken gegenübergestellt.
Kapitel vier beschäftigt sich mit den konkreten Anforderungen an das Framework. Sie sind gegliedert in Oberfläche, Anwendung, Technik und Implementierung.
Als letztes Kapitel des Hauptteils beinhaltet Kapitel fünf die Konzeption und Implementierung des Frameworks. Nach einer kurzen Übersicht über die Dateistruktur folgen konkrete Konzepte zur Client-Server-Kommunikation. Es wird verglichen, wie Design und Funktionalität des aktuellen Flash-Stundenplan-Gestalters Verwendung im Prototyp der zu entwickelnden HTML5-Version finden. Schließlich werden Entwurf und Umsetzung des Frameworks mit Codebeispielen präsentiert. Abschließend wird ein Zwischenfazit zur Implementierung gezogen, welches auf Schwierigkeiten und Erkenntnisse im Entwicklungsprozess sowie mögliche Funktionen in künftigen Versionen eingeht.
Die Analyse des Problems wurde eigenständig mit den seitens ADITION zur Verfügung gestellten Möglichkeiten durchgeführt. Lösungsansätze sind mitunter durch
eigene Vorschläge entstanden, größtenteils stammen diese jedoch von Mitarbeitern.
Die Recherche und Bewertung der Alternativen beruht jedoch auf Eigenleistung. Gleiches gilt für die Konzeption und Implementierung des gewählten Verfahrens.
Der Vorher/Nachher-Vergleich wurde ebenfalls selbstständig durchgeführt. Bei der Optimierung der Objekterstellung, die in Kapitel 6.2 beschrieben wird, wurden unterschiedliche alternative Verfahren getestet, und bewertet. Daran involviert waren,neben mir, noch weitere Mitarbeiter. Einige der in Kapitel 7 beschriebenen zusätzlichen Optimierungsmöglichkeiten wurde durch Mitarbeiter angeregt. Meine Eigenleistung besteht hier aus dem Zusammentragen und Ergänzen dieser Verfahren. Zusammenfassend wurde daher das Projekt selbstständig durchgeführt, wobei Erfahrungen und Anregungen von Mitarbeitern stets eingeflossen sind.