nw  

Turingmaschine 1

Zusammenfassung

Für eine Dozentin der FHNW wurde ein physisches Modell der Turingmachine entwickelt. Eine Turingmaschine steht für einen Algorithmus bzw. ein Programm. Die Berechnung besteht dabei aus schrittweisen Manipulationen von Zeichen, die nach bestimmten Regeln mit Hilfe des Lese-/Schreibkopfes auf ein (theoretisch, unendliches) Speicherband geschrieben werden. Dieses Thema wird im Modul theoretische Informatik behandelt. Jedoch kann die Funktionalität zu Beginn sehr kompliziert erscheinen. Durch die Nutzung des Produktes wird die zugrundeliegende Funktionsweise der Turingmaschine deutlich erkennt. Alternativen wie zum Beispiel online Tools sind sehr abstrakt und theoretisch und eignen sich für den Unterricht nicht.

Schlüsselbegriffe

Sprache: Java
Betriebssystem: Debian auf Raspberry Pi

Zielsetzung

Die zwei Modi der Turingmaschine, Erklärmodus und Spielmodus, tragen dazu bei, die Funktionalität der Maschine zu verstehen. Im Lernmodus werden Berechnungen ausgeführt mit Werten, die der Benutzer eingibt. Im Spielmodus muss der Benutzer selbst die nächsten Schritte der Berechnung definieren. Nach der Benutzung des Produktes soll die Funktionsweise der Turingmaschine klar sein. Entscheidend dabei wird die Ausgabe des Zustandsdiagrammes sein. Dieses enthält alle Informationen zu den nötigen Berechnungsschritten. Das Produkt unterstützt somit die Dozentin bei der Erläuterung des Prinzips der Turingmaschine und fördert den Lernprozess. Die Einsetzbarkeit soll für Präsenzunterricht sowie für Fernunterricht garantiert sein.

Ausgangslage

Die Auftraggeberin unterrichtet an der Fachhochschule Nordwestschweiz das Modul "Einführung in die Theoretische Informatik". Unter anderem ist die Turingmaschine darin ein Thema. Bislang benutzte Sie Ihre Unterlagen, d.h. ihre Folien und die Wandtafel für die Erläuterung des Themas. Dies ist jedoch sehr komplex. Aus diesem Grund wird ein physisches Modell zur Demonstration nötig, was auch aus Sicht von Studierenden sehr hilfreich sein würde. Dieses enthält einen Lese- und Schreibkopf und ein Band, wie eine klassische Turingmaschine. Hinzu wird das Zustandsdiagramm ausgegeben.

Ergebnisse


Die Turingmaschine wurde vollständig in einen Koffer gepackt. Oben links und rechts ist das Band ersichtlich. Am oberen Ende des Bildschirms hängt der Lese und Schreibkopf. Der Bildschirm ist touchfähig und dient als Inputgerät. Die 3 gelbe Knöpfe werden ebenfalls für die Eingabe verwendet. Dank dem HDMI-Splitter, der unten mit der Verkabelung versteckt ist, kann ein weiteres Ausgabegerät verbunden werden.


Lernmodus



Im Lernmodus wird eine Rechnung durchgeführt mit Werten, die der Benutzer eingibt. Angezeigt wird das Zustandsdiagramm, was die Maschine schreibt und wohin die Position wechselt. Der Benutzer kann Schritt für Schritt die Berechnung mitverfolgen.


Spielmodus



Im Spielmodus übernimmt der Benutzer selbst die Kontrolle und wählt abhängig vom Zustandsdiagramm den nächsten Zustand, die nächste Position und was geschrieben wird.

Projektdaten

Projektname: IP12-20vt_Turingmaschine1
Projektdauer: 2 Semester
Aufwand: 360h pro Person
Teamgrösse: 7 Mitglieder

Auftraggeberin

Lucia Di Caro
Hochschule für Technik
Bahnhofstrasse 6
5210 Windisch
lucia.dicaro@fhnw.ch

Projektteam

Von links nach rechts

Vorname Nachname Rolle im 1. Semester Rolle im 2. Semester
Antonio Salvia Requirements Engineering Informationsmanagement
Delia Kossen Usability Projektmanagement
Beatrice Vogel Informationsmanagement Software Testing
Alexander Corten Software Testing Usability & Source code
Tester Test Qualitätssicherung Requirements Engineering
David Wyss Source Code Software-Architektur
Joel Baumann Projektmanagement Qualitätssicherung
Toni Kostal Software-Architektur Austritt nach dem 1. Semester

Kontakt Teamcoach

Friedrich-Wilhelm Rademacher
Hochschule für Technik
Bahnhofstrasse 6
5210 Windisch
fridedrichwilhelm.rademacher@fhnw.ch

<< zurück