informatik mit kara - swisseduc - unterrichtsmaterialien · kara gerhard bitsch problemstellung...
TRANSCRIPT
Kara
Gerhard Bitsch
Problemstellung
Kara im Anfän-gerunterricht
Turing-Maschinen mitKara
Kara mit Java
Ausblick
Informatik mit KaraSpielerischer Einstieg in die Informatik
Gerhard Bitsch
Kepler - GymnasiumTübingen
Seminarsitzung Informatik, Januar 2008
Kara
Gerhard Bitsch
Problemstellung
Kara im Anfän-gerunterricht
Turing-Maschinen mitKara
Kara mit Java
Ausblick
Gliederung
1 Problemstellung
2 Kara im Anfängerunterricht
3 Turing-Maschinen mit Kara
4 Kara mit Java
5 Ausblick
Kara
Gerhard Bitsch
Problemstellung
Kara im Anfän-gerunterricht
Turing-Maschinen mitKara
Kara mit Java
Ausblick
Gliederung
1 Problemstellung
2 Kara im Anfängerunterricht
3 Turing-Maschinen mit Kara
4 Kara mit Java
5 Ausblick
Kara
Gerhard Bitsch
Problemstellung
Kara im Anfän-gerunterricht
Turing-Maschinen mitKara
Kara mit Java
Ausblick
Gliederung
1 Problemstellung
2 Kara im Anfängerunterricht
3 Turing-Maschinen mit Kara
4 Kara mit Java
5 Ausblick
Kara
Gerhard Bitsch
Problemstellung
Kara im Anfän-gerunterricht
Turing-Maschinen mitKara
Kara mit Java
Ausblick
Gliederung
1 Problemstellung
2 Kara im Anfängerunterricht
3 Turing-Maschinen mit Kara
4 Kara mit Java
5 Ausblick
Kara
Gerhard Bitsch
Problemstellung
Kara im Anfän-gerunterricht
Turing-Maschinen mitKara
Kara mit Java
Ausblick
Gliederung
1 Problemstellung
2 Kara im Anfängerunterricht
3 Turing-Maschinen mit Kara
4 Kara mit Java
5 Ausblick
Kara
Gerhard Bitsch
ProblemstellungAnfangsunterrichtInformatik
Übliche Ansätze
Kara im Anfän-gerunterricht
Turing-Maschinen mitKara
Kara mit Java
Ausblick
Vorüberlegungen
Schülervorwissen ist unterschiedlich.Elementare Informatik-Konzepte sollten leichtzugänglich sein.Komplizierte Sprachen sind für Anfänger ungeeignet.Komplexe Entwicklungsumgebungen sind hinderlich.Fehlermeldungen sollten verstehbar sein.
Folgerung
Professionelle Entwickler-Umgebungen sind nicht gut fürAnfänger.
Kara
Gerhard Bitsch
ProblemstellungAnfangsunterrichtInformatik
Übliche Ansätze
Kara im Anfän-gerunterricht
Turing-Maschinen mitKara
Kara mit Java
Ausblick
Vorüberlegungen
Schülervorwissen ist unterschiedlich.Elementare Informatik-Konzepte sollten leichtzugänglich sein.Komplizierte Sprachen sind für Anfänger ungeeignet.Komplexe Entwicklungsumgebungen sind hinderlich.Fehlermeldungen sollten verstehbar sein.
Folgerung
Professionelle Entwickler-Umgebungen sind nicht gut fürAnfänger.
Kara
Gerhard Bitsch
ProblemstellungAnfangsunterrichtInformatik
Übliche Ansätze
Kara im Anfän-gerunterricht
Turing-Maschinen mitKara
Kara mit Java
Ausblick
Vorüberlegungen
Schülervorwissen ist unterschiedlich.Elementare Informatik-Konzepte sollten leichtzugänglich sein.Komplizierte Sprachen sind für Anfänger ungeeignet.Komplexe Entwicklungsumgebungen sind hinderlich.Fehlermeldungen sollten verstehbar sein.
Folgerung
Professionelle Entwickler-Umgebungen sind nicht gut fürAnfänger.
Kara
Gerhard Bitsch
ProblemstellungAnfangsunterrichtInformatik
Übliche Ansätze
Kara im Anfän-gerunterricht
Turing-Maschinen mitKara
Kara mit Java
Ausblick
Vorüberlegungen
Schülervorwissen ist unterschiedlich.Elementare Informatik-Konzepte sollten leichtzugänglich sein.Komplizierte Sprachen sind für Anfänger ungeeignet.Komplexe Entwicklungsumgebungen sind hinderlich.Fehlermeldungen sollten verstehbar sein.
Folgerung
Professionelle Entwickler-Umgebungen sind nicht gut fürAnfänger.
Kara
Gerhard Bitsch
ProblemstellungAnfangsunterrichtInformatik
Übliche Ansätze
Kara im Anfän-gerunterricht
Turing-Maschinen mitKara
Kara mit Java
Ausblick
Vorüberlegungen
Schülervorwissen ist unterschiedlich.Elementare Informatik-Konzepte sollten leichtzugänglich sein.Komplizierte Sprachen sind für Anfänger ungeeignet.Komplexe Entwicklungsumgebungen sind hinderlich.Fehlermeldungen sollten verstehbar sein.
Folgerung
Professionelle Entwickler-Umgebungen sind nicht gut fürAnfänger.
Kara
Gerhard Bitsch
ProblemstellungAnfangsunterrichtInformatik
Übliche Ansätze
Kara im Anfän-gerunterricht
Turing-Maschinen mitKara
Kara mit Java
Ausblick
Vorüberlegungen
Schülervorwissen ist unterschiedlich.Elementare Informatik-Konzepte sollten leichtzugänglich sein.Komplizierte Sprachen sind für Anfänger ungeeignet.Komplexe Entwicklungsumgebungen sind hinderlich.Fehlermeldungen sollten verstehbar sein.
Folgerung
Professionelle Entwickler-Umgebungen sind nicht gut fürAnfänger.
Kara
Gerhard Bitsch
ProblemstellungAnfangsunterrichtInformatik
Übliche Ansätze
Kara im Anfän-gerunterricht
Turing-Maschinen mitKara
Kara mit Java
Ausblick
Wünschenswertes
Eine einfache aber ausdruckstarke Sprache.Eine intuitive Programmierumgebung.Möglichst wenig Syntax.Ein Vorrat von konkreten, anschaulichen Problemen.Visualisierungsmöglichkeiten für denProgrammablauf.
Kara
Gerhard Bitsch
ProblemstellungAnfangsunterrichtInformatik
Übliche Ansätze
Kara im Anfän-gerunterricht
Turing-Maschinen mitKara
Kara mit Java
Ausblick
Wünschenswertes
Eine einfache aber ausdruckstarke Sprache.Eine intuitive Programmierumgebung.Möglichst wenig Syntax.Ein Vorrat von konkreten, anschaulichen Problemen.Visualisierungsmöglichkeiten für denProgrammablauf.
Kara
Gerhard Bitsch
ProblemstellungAnfangsunterrichtInformatik
Übliche Ansätze
Kara im Anfän-gerunterricht
Turing-Maschinen mitKara
Kara mit Java
Ausblick
Wünschenswertes
Eine einfache aber ausdruckstarke Sprache.Eine intuitive Programmierumgebung.Möglichst wenig Syntax.Ein Vorrat von konkreten, anschaulichen Problemen.Visualisierungsmöglichkeiten für denProgrammablauf.
Kara
Gerhard Bitsch
ProblemstellungAnfangsunterrichtInformatik
Übliche Ansätze
Kara im Anfän-gerunterricht
Turing-Maschinen mitKara
Kara mit Java
Ausblick
Wünschenswertes
Eine einfache aber ausdruckstarke Sprache.Eine intuitive Programmierumgebung.Möglichst wenig Syntax.Ein Vorrat von konkreten, anschaulichen Problemen.Visualisierungsmöglichkeiten für denProgrammablauf.
Kara
Gerhard Bitsch
ProblemstellungAnfangsunterrichtInformatik
Übliche Ansätze
Kara im Anfän-gerunterricht
Turing-Maschinen mitKara
Kara mit Java
Ausblick
Wünschenswertes
Eine einfache aber ausdruckstarke Sprache.Eine intuitive Programmierumgebung.Möglichst wenig Syntax.Ein Vorrat von konkreten, anschaulichen Problemen.Visualisierungsmöglichkeiten für denProgrammablauf.
Kara
Gerhard Bitsch
ProblemstellungAnfangsunterrichtInformatik
Übliche Ansätze
Kara im Anfän-gerunterricht
Turing-Maschinen mitKara
Kara mit Java
Ausblick
Was wird unterrichtet?
Keine Einübung einer Sprache, nurLückenprogramme, Anwendungsorientierung.Programmierkurs mit einer professionellenUmgebung.Programmierkurs mit einer speziell für Anfängergedachten Umgebung.
Kara
Gerhard Bitsch
ProblemstellungAnfangsunterrichtInformatik
Übliche Ansätze
Kara im Anfän-gerunterricht
Turing-Maschinen mitKara
Kara mit Java
Ausblick
Was wird unterrichtet?
Keine Einübung einer Sprache, nurLückenprogramme, Anwendungsorientierung.We regard this as a mistake, because the justification forprogramming in schools is not its immediate applicability inreal life, but in its general educational value: a sound,intuitive understanding of what it means to delegate to amachine control of ever more complex every-day processes.(Reichert, Nievergelt, Hartmann,2001)Programmierkurs mit einer professionellenUmgebung.Programmierkurs mit einer speziell für Anfängergedachten Umgebung.
Kara
Gerhard Bitsch
ProblemstellungAnfangsunterrichtInformatik
Übliche Ansätze
Kara im Anfän-gerunterricht
Turing-Maschinen mitKara
Kara mit Java
Ausblick
Was wird unterrichtet?
Keine Einübung einer Sprache, nurLückenprogramme, Anwendungsorientierung.Programmierkurs mit einer professionellenUmgebung.Programmierkurs mit einer speziell für Anfängergedachten Umgebung.
Kara
Gerhard Bitsch
ProblemstellungAnfangsunterrichtInformatik
Übliche Ansätze
Kara im Anfän-gerunterricht
Turing-Maschinen mitKara
Kara mit Java
Ausblick
Was wird unterrichtet?
Keine Einübung einer Sprache, nurLückenprogramme, Anwendungsorientierung.Programmierkurs mit einer professionellenUmgebung.Macht allenfalls Sinn in einem "Profikurs". Sicherlich nichtsinnvoll in Kursen für Anfänger.Programmierkurs mit einer speziell für Anfängergedachten Umgebung.
Kara
Gerhard Bitsch
ProblemstellungAnfangsunterrichtInformatik
Übliche Ansätze
Kara im Anfän-gerunterricht
Turing-Maschinen mitKara
Kara mit Java
Ausblick
Was wird unterrichtet?
Keine Einübung einer Sprache, nurLückenprogramme, Anwendungsorientierung.Programmierkurs mit einer professionellenUmgebung.Programmierkurs mit einer speziell für Anfängergedachten Umgebung.
Kara
Gerhard Bitsch
ProblemstellungAnfangsunterrichtInformatik
Übliche Ansätze
Kara im Anfän-gerunterricht
Turing-Maschinen mitKara
Kara mit Java
Ausblick
Was wird unterrichtet?
Keine Einübung einer Sprache, nurLückenprogramme, Anwendungsorientierung.Programmierkurs mit einer professionellenUmgebung.Programmierkurs mit einer speziell für Anfängergedachten Umgebung.Beispiele: LOGO, DrScheme
Kara
Gerhard Bitsch
Problemstellung
Kara im Anfän-gerunterrichtEinführung von Kara
Einfache Übungen
Wie sollte manKara-Programmeentwerfen?
Komplexere Aufgaben
Turing-Maschinen mitKara
Kara mit Java
Ausblick
Karas Welt
Kara
Gerhard Bitsch
Problemstellung
Kara im Anfän-gerunterrichtEinführung von Kara
Einfache Übungen
Wie sollte manKara-Programmeentwerfen?
Komplexere Aufgaben
Turing-Maschinen mitKara
Kara mit Java
Ausblick
Die Programmierumgebung
Kara
Gerhard Bitsch
Problemstellung
Kara im Anfän-gerunterrichtEinführung von Kara
Einfache Übungen
Wie sollte manKara-Programmeentwerfen?
Komplexere Aufgaben
Turing-Maschinen mitKara
Kara mit Java
Ausblick
Zustand definieren
Kara
Gerhard Bitsch
Problemstellung
Kara im Anfän-gerunterrichtEinführung von Kara
Einfache Übungen
Wie sollte manKara-Programmeentwerfen?
Komplexere Aufgaben
Turing-Maschinen mitKara
Kara mit Java
Ausblick
Übung 1
1
Kara soll bis zum Baum laufen, dann umdrehen undweiterlaufen. Kara trifft dann von der anderen Seitekommend wieder auf den Baum und pendelt soendlos hin und her.
2 Nun soll Kara stehen bleiben, wenn er zum zweiten(dritten, vierten) Mal auf den Baum trifft.
3
Kara soll zum Baum gehen, alle Blätter aufsammelnund vor dem Baum stehen bleiben.
Kara
Gerhard Bitsch
Problemstellung
Kara im Anfän-gerunterrichtEinführung von Kara
Einfache Übungen
Wie sollte manKara-Programmeentwerfen?
Komplexere Aufgaben
Turing-Maschinen mitKara
Kara mit Java
Ausblick
Übung 1
1
Kara soll bis zum Baum laufen, dann umdrehen undweiterlaufen. Kara trifft dann von der anderen Seitekommend wieder auf den Baum und pendelt soendlos hin und her.
2 Nun soll Kara stehen bleiben, wenn er zum zweiten(dritten, vierten) Mal auf den Baum trifft.
3
Kara soll zum Baum gehen, alle Blätter aufsammelnund vor dem Baum stehen bleiben.
Kara
Gerhard Bitsch
Problemstellung
Kara im Anfän-gerunterrichtEinführung von Kara
Einfache Übungen
Wie sollte manKara-Programmeentwerfen?
Komplexere Aufgaben
Turing-Maschinen mitKara
Kara mit Java
Ausblick
Übung 1
1
Kara soll bis zum Baum laufen, dann umdrehen undweiterlaufen. Kara trifft dann von der anderen Seitekommend wieder auf den Baum und pendelt soendlos hin und her.
2 Nun soll Kara stehen bleiben, wenn er zum zweiten(dritten, vierten) Mal auf den Baum trifft.
3
Kara soll zum Baum gehen, alle Blätter aufsammelnund vor dem Baum stehen bleiben.
Kara
Gerhard Bitsch
Problemstellung
Kara im Anfän-gerunterrichtEinführung von Kara
Einfache Übungen
Wie sollte manKara-Programmeentwerfen?
Komplexere Aufgaben
Turing-Maschinen mitKara
Kara mit Java
Ausblick
Weitere Übungen
Kara hat auch eingebaute Übungen.Bearbeiten Sie die ersten Übungen bis zurLabyrinth-Aufgabe.Überlegen Sie dabei, welche Prinzipien für denProgrammentwurf wichtig sind.
Kara
Gerhard Bitsch
Problemstellung
Kara im Anfän-gerunterrichtEinführung von Kara
Einfache Übungen
Wie sollte manKara-Programmeentwerfen?
Komplexere Aufgaben
Turing-Maschinen mitKara
Kara mit Java
Ausblick
Designprinzipien
Welche Sensoren werden benötigt?Wie viele unterschiedliche Inputs liefern n Sensoren?Gedächtnis wird durch Zustände realisiertMöglichst wenig Sensoren und Zustände einsetzenInvarianten benutzenTestfälle mit dem Welteditor bereitstellen
Kara
Gerhard Bitsch
Problemstellung
Kara im Anfän-gerunterrichtEinführung von Kara
Einfache Übungen
Wie sollte manKara-Programmeentwerfen?
Komplexere Aufgaben
Turing-Maschinen mitKara
Kara mit Java
Ausblick
Designprinzipien
Welche Sensoren werden benötigt?Wie viele unterschiedliche Inputs liefern n Sensoren?Gedächtnis wird durch Zustände realisiertMöglichst wenig Sensoren und Zustände einsetzenInvarianten benutzenTestfälle mit dem Welteditor bereitstellen
Kara
Gerhard Bitsch
Problemstellung
Kara im Anfän-gerunterrichtEinführung von Kara
Einfache Übungen
Wie sollte manKara-Programmeentwerfen?
Komplexere Aufgaben
Turing-Maschinen mitKara
Kara mit Java
Ausblick
Designprinzipien
Welche Sensoren werden benötigt?Wie viele unterschiedliche Inputs liefern n Sensoren?Gedächtnis wird durch Zustände realisiertMöglichst wenig Sensoren und Zustände einsetzenInvarianten benutzenTestfälle mit dem Welteditor bereitstellen
Kara
Gerhard Bitsch
Problemstellung
Kara im Anfän-gerunterrichtEinführung von Kara
Einfache Übungen
Wie sollte manKara-Programmeentwerfen?
Komplexere Aufgaben
Turing-Maschinen mitKara
Kara mit Java
Ausblick
Designprinzipien
Welche Sensoren werden benötigt?Wie viele unterschiedliche Inputs liefern n Sensoren?Gedächtnis wird durch Zustände realisiertMöglichst wenig Sensoren und Zustände einsetzenInvarianten benutzenTestfälle mit dem Welteditor bereitstellen
Kara
Gerhard Bitsch
Problemstellung
Kara im Anfän-gerunterrichtEinführung von Kara
Einfache Übungen
Wie sollte manKara-Programmeentwerfen?
Komplexere Aufgaben
Turing-Maschinen mitKara
Kara mit Java
Ausblick
Designprinzipien
Welche Sensoren werden benötigt?Wie viele unterschiedliche Inputs liefern n Sensoren?Gedächtnis wird durch Zustände realisiertMöglichst wenig Sensoren und Zustände einsetzenInvarianten benutzenTestfälle mit dem Welteditor bereitstellen
Kara
Gerhard Bitsch
Problemstellung
Kara im Anfän-gerunterrichtEinführung von Kara
Einfache Übungen
Wie sollte manKara-Programmeentwerfen?
Komplexere Aufgaben
Turing-Maschinen mitKara
Kara mit Java
Ausblick
Designprinzipien
Welche Sensoren werden benötigt?Wie viele unterschiedliche Inputs liefern n Sensoren?Gedächtnis wird durch Zustände realisiertMöglichst wenig Sensoren und Zustände einsetzenInvarianten benutzenTestfälle mit dem Welteditor bereitstellen
Kara
Gerhard Bitsch
Problemstellung
Kara im Anfän-gerunterrichtEinführung von Kara
Einfache Übungen
Wie sollte manKara-Programmeentwerfen?
Komplexere Aufgaben
Turing-Maschinen mitKara
Kara mit Java
Ausblick
Mittelschwere Aufgaben
Die folgenden Aufgaben sind in erster Linie schwieriger,weil Sensoren simuliert werden müssen oder mehrereZustände benötigt werden.
1 Kleeblatt-Pacman (Verfolgen einer Spur)2 Endlosspirale (Sensor "Klee links" simulieren)3 Mustersuche4 Mustererkennung I5 Mustererkennung II
Kara
Gerhard Bitsch
Problemstellung
Kara im Anfän-gerunterrichtEinführung von Kara
Einfache Übungen
Wie sollte manKara-Programmeentwerfen?
Komplexere Aufgaben
Turing-Maschinen mitKara
Kara mit Java
Ausblick
Mittelschwere Aufgaben
Die folgenden Aufgaben sind in erster Linie schwieriger,weil Sensoren simuliert werden müssen oder mehrereZustände benötigt werden.
1 Kleeblatt-Pacman (Verfolgen einer Spur)2 Endlosspirale (Sensor "Klee links" simulieren)3 Mustersuche4 Mustererkennung I5 Mustererkennung II
Kara
Gerhard Bitsch
Problemstellung
Kara im Anfän-gerunterrichtEinführung von Kara
Einfache Übungen
Wie sollte manKara-Programmeentwerfen?
Komplexere Aufgaben
Turing-Maschinen mitKara
Kara mit Java
Ausblick
Mittelschwere Aufgaben
Die folgenden Aufgaben sind in erster Linie schwieriger,weil Sensoren simuliert werden müssen oder mehrereZustände benötigt werden.
1 Kleeblatt-Pacman (Verfolgen einer Spur)2 Endlosspirale (Sensor "Klee links" simulieren)3 Mustersuche4 Mustererkennung I5 Mustererkennung II
Kara
Gerhard Bitsch
Problemstellung
Kara im Anfän-gerunterrichtEinführung von Kara
Einfache Übungen
Wie sollte manKara-Programmeentwerfen?
Komplexere Aufgaben
Turing-Maschinen mitKara
Kara mit Java
Ausblick
Mittelschwere Aufgaben
Die folgenden Aufgaben sind in erster Linie schwieriger,weil Sensoren simuliert werden müssen oder mehrereZustände benötigt werden.
1 Kleeblatt-Pacman (Verfolgen einer Spur)2 Endlosspirale (Sensor "Klee links" simulieren)3 Mustersuche4 Mustererkennung I5 Mustererkennung II
Kara
Gerhard Bitsch
Problemstellung
Kara im Anfän-gerunterrichtEinführung von Kara
Einfache Übungen
Wie sollte manKara-Programmeentwerfen?
Komplexere Aufgaben
Turing-Maschinen mitKara
Kara mit Java
Ausblick
Mittelschwere Aufgaben
Die folgenden Aufgaben sind in erster Linie schwieriger,weil Sensoren simuliert werden müssen oder mehrereZustände benötigt werden.
1 Kleeblatt-Pacman (Verfolgen einer Spur)2 Endlosspirale (Sensor "Klee links" simulieren)3 Mustersuche4 Mustererkennung I5 Mustererkennung II
Kara
Gerhard Bitsch
Problemstellung
Kara im Anfän-gerunterrichtEinführung von Kara
Einfache Übungen
Wie sollte manKara-Programmeentwerfen?
Komplexere Aufgaben
Turing-Maschinen mitKara
Kara mit Java
Ausblick
Schwierige Aufgaben
Die folgenden Aufgaben zeigen, dass man mit Karadurchaus auch recht komplexe Aufgabenstellungenbearbeiten kann. Man sollte Aufgaben dieser Artunbedingt behandeln, um die Behauptung plausibel zumachen, dass Kara mit einer unbeschränkten Weltprinzipiell jede mögliche Berechnung durchführen kann.
1 Binäres Pascal-Dreieck2 Bubblesort
Kara
Gerhard Bitsch
Problemstellung
Kara im Anfän-gerunterrichtEinführung von Kara
Einfache Übungen
Wie sollte manKara-Programmeentwerfen?
Komplexere Aufgaben
Turing-Maschinen mitKara
Kara mit Java
Ausblick
Schwierige Aufgaben
Die folgenden Aufgaben zeigen, dass man mit Karadurchaus auch recht komplexe Aufgabenstellungenbearbeiten kann. Man sollte Aufgaben dieser Artunbedingt behandeln, um die Behauptung plausibel zumachen, dass Kara mit einer unbeschränkten Weltprinzipiell jede mögliche Berechnung durchführen kann.
1 Binäres Pascal-Dreieck2 Bubblesort
Kara
Gerhard Bitsch
Problemstellung
Kara im Anfän-gerunterricht
Turing-Maschinen mitKaraEinfacheTuring-Programme
Fleißige Biber
Kara mit Java
Ausblick
Kara als Turing-Maschine
Mit folgenden Einschränkungen wird Kara zu einereinfachen Turing-Maschine.
Die Welt besteht aus einem (unbeschränkten) Band.Es gibt weder Bäume noch Pilze.Kara hat nur den Sensor für Kleeblätter.Kara kann in jedem Schritt nur ein Kleeblattaufnehmen bzw. ablegen.Kara muss in jedem Schritt entweder genau ein Feldnach links oder nach rechts gehen.Eine zusammenhängende Folge von n Blättern stelltdie Zahl n ∈ N dar.
Kara
Gerhard Bitsch
Problemstellung
Kara im Anfän-gerunterricht
Turing-Maschinen mitKaraEinfacheTuring-Programme
Fleißige Biber
Kara mit Java
Ausblick
Kara als Turing-Maschine
Mit folgenden Einschränkungen wird Kara zu einereinfachen Turing-Maschine.
Die Welt besteht aus einem (unbeschränkten) Band.Es gibt weder Bäume noch Pilze.Kara hat nur den Sensor für Kleeblätter.Kara kann in jedem Schritt nur ein Kleeblattaufnehmen bzw. ablegen.Kara muss in jedem Schritt entweder genau ein Feldnach links oder nach rechts gehen.Eine zusammenhängende Folge von n Blättern stelltdie Zahl n ∈ N dar.
Kara
Gerhard Bitsch
Problemstellung
Kara im Anfän-gerunterricht
Turing-Maschinen mitKaraEinfacheTuring-Programme
Fleißige Biber
Kara mit Java
Ausblick
Kara als Turing-Maschine
Mit folgenden Einschränkungen wird Kara zu einereinfachen Turing-Maschine.
Die Welt besteht aus einem (unbeschränkten) Band.Es gibt weder Bäume noch Pilze.Kara hat nur den Sensor für Kleeblätter.Kara kann in jedem Schritt nur ein Kleeblattaufnehmen bzw. ablegen.Kara muss in jedem Schritt entweder genau ein Feldnach links oder nach rechts gehen.Eine zusammenhängende Folge von n Blättern stelltdie Zahl n ∈ N dar.
Kara
Gerhard Bitsch
Problemstellung
Kara im Anfän-gerunterricht
Turing-Maschinen mitKaraEinfacheTuring-Programme
Fleißige Biber
Kara mit Java
Ausblick
Kara als Turing-Maschine
Mit folgenden Einschränkungen wird Kara zu einereinfachen Turing-Maschine.
Die Welt besteht aus einem (unbeschränkten) Band.Es gibt weder Bäume noch Pilze.Kara hat nur den Sensor für Kleeblätter.Kara kann in jedem Schritt nur ein Kleeblattaufnehmen bzw. ablegen.Kara muss in jedem Schritt entweder genau ein Feldnach links oder nach rechts gehen.Eine zusammenhängende Folge von n Blättern stelltdie Zahl n ∈ N dar.
Kara
Gerhard Bitsch
Problemstellung
Kara im Anfän-gerunterricht
Turing-Maschinen mitKaraEinfacheTuring-Programme
Fleißige Biber
Kara mit Java
Ausblick
Kara als Turing-Maschine
Mit folgenden Einschränkungen wird Kara zu einereinfachen Turing-Maschine.
Die Welt besteht aus einem (unbeschränkten) Band.Es gibt weder Bäume noch Pilze.Kara hat nur den Sensor für Kleeblätter.Kara kann in jedem Schritt nur ein Kleeblattaufnehmen bzw. ablegen.Kara muss in jedem Schritt entweder genau ein Feldnach links oder nach rechts gehen.Eine zusammenhängende Folge von n Blättern stelltdie Zahl n ∈ N dar.
Kara
Gerhard Bitsch
Problemstellung
Kara im Anfän-gerunterricht
Turing-Maschinen mitKaraEinfacheTuring-Programme
Fleißige Biber
Kara mit Java
Ausblick
Kara als Turing-Maschine
Mit folgenden Einschränkungen wird Kara zu einereinfachen Turing-Maschine.
Die Welt besteht aus einem (unbeschränkten) Band.Es gibt weder Bäume noch Pilze.Kara hat nur den Sensor für Kleeblätter.Kara kann in jedem Schritt nur ein Kleeblattaufnehmen bzw. ablegen.Kara muss in jedem Schritt entweder genau ein Feldnach links oder nach rechts gehen.Eine zusammenhängende Folge von n Blättern stelltdie Zahl n ∈ N dar.
Kara
Gerhard Bitsch
Problemstellung
Kara im Anfän-gerunterricht
Turing-Maschinen mitKaraEinfacheTuring-Programme
Fleißige Biber
Kara mit Java
Ausblick
Turing-Addition
Kara soll die Zahlen auf dem Band "addieren". Dabeidürfen beliebig viele Zahlen – jeweils durch genau einLeerfeld getrennt – auf dem Band stehen.
Das obige Band sollte etwa folgendes Resultat liefern:
Kara
Gerhard Bitsch
Problemstellung
Kara im Anfän-gerunterricht
Turing-Maschinen mitKaraEinfacheTuring-Programme
Fleißige Biber
Kara mit Java
Ausblick
Maschinentabellen
Die einzelnen Zustände einer Turing-Maschine werden mitden Zahlen 1, 2, 3, . . . , n bezeichnet. Die 0 steht für denHaltezustand.Turing-Maschinen kann man durch Maschinentabellenbeschreiben. Ein einfaches Beispiel einer Maschinentabelle:
Z0 B0 B1 L/R Z11 0 1 R 11 1 1 R 0
Kara
Gerhard Bitsch
Problemstellung
Kara im Anfän-gerunterricht
Turing-Maschinen mitKaraEinfacheTuring-Programme
Fleißige Biber
Kara mit Java
Ausblick
Maschinentabellen
Die einzelnen Zustände einer Turing-Maschine werden mitden Zahlen 1, 2, 3, . . . , n bezeichnet. Die 0 steht für denHaltezustand.Turing-Maschinen kann man durch Maschinentabellenbeschreiben. Ein einfaches Beispiel einer Maschinentabelle:
Z0 B0 B1 L/R Z11 0 1 R 11 1 1 R 0
Die zugehörige Maschine wird nie anhalten, sonderfortlaufend nach Rechts gehend Einsen schreiben.
Wie viele Einsen kann eine haltende TM mit n Zuständenhöchstens auf ein leeres Band schreiben?
Kara
Gerhard Bitsch
Problemstellung
Kara im Anfän-gerunterricht
Turing-Maschinen mitKaraEinfacheTuring-Programme
Fleißige Biber
Kara mit Java
Ausblick
Weitere Beispiele
Analysieren Sie die folgenden Turing-Maschinen für denFall, dass sie mit einem leeren Band gestartet werden.
BB2 :
Z0 B0 B1 L/R Z11 0 1 R 21 1 1 L 22 0 1 L 12 1 1 L 0
BB3 :
Z0 B0 B1 L/R Z11 0 1 R 21 1 1 L 32 0 1 R 32 1 1 R 03 0 1 L 13 1 0 L 2
Kara
Gerhard Bitsch
Problemstellung
Kara im Anfän-gerunterricht
Turing-Maschinen mitKaraEinfacheTuring-Programme
Fleißige Biber
Kara mit Java
Ausblick
Lösungen
BB2 Diese Maschine schreibt auf das leere Band vier Einsennebeneinander und bleibt über der am weitesten linksstehenden Eins nach 6 Schritten stehen.
BB3 Diese Maschine schreibt auf das leere Band sechsEinsen nebeneinander und bleibt über der dritten Einsvon links nach 11 Schritten stehen.
Kara
Gerhard Bitsch
Problemstellung
Kara im Anfän-gerunterricht
Turing-Maschinen mitKaraEinfacheTuring-Programme
Fleißige Biber
Kara mit Java
Ausblick
Lösungen
BB2 Diese Maschine schreibt auf das leere Band vier Einsennebeneinander und bleibt über der am weitesten linksstehenden Eins nach 6 Schritten stehen.
BB3 Diese Maschine schreibt auf das leere Band sechsEinsen nebeneinander und bleibt über der dritten Einsvon links nach 11 Schritten stehen.
Kara
Gerhard Bitsch
Problemstellung
Kara im Anfän-gerunterricht
Turing-Maschinen mitKaraEinfacheTuring-Programme
Fleißige Biber
Kara mit Java
Ausblick
Rado’s Σ-Funktion
Tibor Rado hat 1962 die folgende Funktion Σ : N 7→ Ndefiniert:
Definition
Σ(n) ist die maximale Anzahl von Einsen, die eine haltendeTuringmaschine mit n Zuständen und dem Bandalphabet{0, 1} beim Start mit einem leeren Band schreiben kann.
Kara
Gerhard Bitsch
Problemstellung
Kara im Anfän-gerunterricht
Turing-Maschinen mitKaraEinfacheTuring-Programme
Fleißige Biber
Kara mit Java
Ausblick
Rado’s Σ-Funktion
Tibor Rado hat 1962 die folgende Funktion Σ : N 7→ Ndefiniert:
Definition
Σ(n) ist die maximale Anzahl von Einsen, die eine haltendeTuringmaschine mit n Zuständen und dem Bandalphabet{0, 1} beim Start mit einem leeren Band schreiben kann.
Damit ist in der Tat eine Funktion im mathematischen Sinndefiniert, denn die Anzahl der Turingmaschinen mit nZuständen ist endlich, insbesondere auch die Anzahl derhaltenden Turingmaschinen mit n Zuständen. Das in derDefinition angesprochene Maximum existiert daher.Eine TM mit n Zuständen, die Σ(n) Einsen schreibt, nenntman einen fleißigen Bieber
Kara
Gerhard Bitsch
Problemstellung
Kara im Anfän-gerunterricht
Turing-Maschinen mitKaraEinfacheTuring-Programme
Fleißige Biber
Kara mit Java
Ausblick
Beispiele
Sowohl bei BB2 als auch bei BB3 handelt es sich um fleißigeBieber.Es gilt Σ(2) = 4 und Σ(3) = 6Die folgende Turingmaschine BB4 ist ebenfalls ein fleißigerBiber:
Z0 B0 B1 L/R Z11 0 1 L 21 1 0 L 32 0 1 R 12 1 1 L 13 0 1 L 03 1 1 L 44 0 1 R 44 1 0 R 2
Kara
Gerhard Bitsch
Problemstellung
Kara im Anfän-gerunterricht
Turing-Maschinen mitKaraEinfacheTuring-Programme
Fleißige Biber
Kara mit Java
Ausblick
Verkettung von Turing-Maschinen
Man kann zwei Turing-Maschinen T1 und T2 verketten, sodass sie hintereinander ausgeführt werden:
Sei T1 eine Maschine mit n Zuständen.Man benennt man die Zustände von T2 um, indem man zujeder Zustandsnummer n addiert.In der der Tabelle von T1 ersetzt man den Zustand 0 in derfünften Spalte durch n + 1.Dann hängt man die neue Tabelle von T2 an die neueTabelle von T1 an.Die dadurch definierte neue Maschine nennt man T1 ◦ T2(T2 nach T1).
Kara
Gerhard Bitsch
Problemstellung
Kara im Anfän-gerunterricht
Turing-Maschinen mitKaraEinfacheTuring-Programme
Fleißige Biber
Kara mit Java
Ausblick
Σ ist streng monoton wachsend
Satz
Σ wächst streng monoton.
Beweis.
Man definiert eine Turingmaschine T+1 durch:
Z0 B0 B1 L/R Z11 0 1 L 01 1 1 L 1
T+1 läuft nach links bis zur ersten Null, schreibt dort eineEins, geht nach links und bleibt stehen.Sei nun TΣn ein fleißiger Bieber mit n Zuständen.TΣn ◦ T+1 hat n + 1 Zustände und schreibt eine Eins mehrals TΣn.Damit gilt: Σ(n) < Σ(n + 1).
Kara
Gerhard Bitsch
Problemstellung
Kara im Anfän-gerunterricht
Turing-Maschinen mitKaraEinfacheTuring-Programme
Fleißige Biber
Kara mit Java
Ausblick
Σ ist streng monoton wachsend
Satz
Σ wächst streng monoton.
Beweis.
Man definiert eine Turingmaschine T+1 durch:
Z0 B0 B1 L/R Z11 0 1 L 01 1 1 L 1
T+1 läuft nach links bis zur ersten Null, schreibt dort eineEins, geht nach links und bleibt stehen.Sei nun TΣn ein fleißiger Bieber mit n Zuständen.TΣn ◦ T+1 hat n + 1 Zustände und schreibt eine Eins mehrals TΣn.Damit gilt: Σ(n) < Σ(n + 1).
Kara
Gerhard Bitsch
Problemstellung
Kara im Anfän-gerunterricht
Turing-Maschinen mitKaraEinfacheTuring-Programme
Fleißige Biber
Kara mit Java
Ausblick
Die Maschinen B4 und B4′
Man kann aus BB4 zwei Maschinen konstruieren, diejeweils 12 aufeinander folgende Einsen schreiben:
B4: Man ersetzt in BB4 die Zeile 3, 0, 1, L, 0 durch3, 0, 0, L, 0. Die so erhaltene Maschine B4 schreibt 12aufeinanderfolgende Einsen aufs Band (2 davon rechtsvom Startfeld) und bleibt auf dem dritten leeren Feldlinks von diesen Einsen stehen.
B4′ : Man ersetzt in BB4 die Zeile 3, 0, 1, L, 0 durch3, 0, 0, R, 0. Die so erhaltene Maschine B4′ schreibt 12aufeinanderfolgende Einsen aufs Band (2 davon rechtsvom Startfeld) und bleibt auf dem ersten leeren Feldlinks von diesen Einsen stehen.
Kara
Gerhard Bitsch
Problemstellung
Kara im Anfän-gerunterricht
Turing-Maschinen mitKaraEinfacheTuring-Programme
Fleißige Biber
Kara mit Java
Ausblick
Die Maschinen B4 und B4′
Man kann aus BB4 zwei Maschinen konstruieren, diejeweils 12 aufeinander folgende Einsen schreiben:
B4: Man ersetzt in BB4 die Zeile 3, 0, 1, L, 0 durch3, 0, 0, L, 0. Die so erhaltene Maschine B4 schreibt 12aufeinanderfolgende Einsen aufs Band (2 davon rechtsvom Startfeld) und bleibt auf dem dritten leeren Feldlinks von diesen Einsen stehen.
B4′ : Man ersetzt in BB4 die Zeile 3, 0, 1, L, 0 durch3, 0, 0, R, 0. Die so erhaltene Maschine B4′ schreibt 12aufeinanderfolgende Einsen aufs Band (2 davon rechtsvom Startfeld) und bleibt auf dem ersten leeren Feldlinks von diesen Einsen stehen.
Kara
Gerhard Bitsch
Problemstellung
Kara im Anfän-gerunterricht
Turing-Maschinen mitKaraEinfacheTuring-Programme
Fleißige Biber
Kara mit Java
Ausblick
Die Maschine T12n
B4 ◦ B4 erzeugt 24 aufeinander folgende Einsen und hältdrei Felder links von der ersten Eins. Dies lässt sichbeliebig oft wiederholen.
Kara
Gerhard Bitsch
Problemstellung
Kara im Anfän-gerunterricht
Turing-Maschinen mitKaraEinfacheTuring-Programme
Fleißige Biber
Kara mit Java
Ausblick
Die Maschine T12n
B4 ◦ B4 erzeugt 24 aufeinander folgende Einsen und hältdrei Felder links von der ersten Eins. Dies lässt sichbeliebig oft wiederholen.B4 ◦ B4′ erzeugt 24 aufeinander folgende Einsen und hältauf dem Feld links von der ersten Eins.
Kara
Gerhard Bitsch
Problemstellung
Kara im Anfän-gerunterricht
Turing-Maschinen mitKaraEinfacheTuring-Programme
Fleißige Biber
Kara mit Java
Ausblick
Die Maschine T12n
B4 ◦ B4 erzeugt 24 aufeinander folgende Einsen und hältdrei Felder links von der ersten Eins. Dies lässt sichbeliebig oft wiederholen.B4 ◦ B4′ erzeugt 24 aufeinander folgende Einsen und hältauf dem Feld links von der ersten Eins.Für jedes n > 2 definiert man:
T12n = B4 ◦ · · · ◦ B4︸ ︷︷ ︸n−1
◦B4′
Diese Maschine hat 4n Zustände, schreibt 12n aufeinanderfolgende Einsen auf das Band und hält auf dem Feld linksvon der ersten Eins.
Kara
Gerhard Bitsch
Problemstellung
Kara im Anfän-gerunterricht
Turing-Maschinen mitKaraEinfacheTuring-Programme
Fleißige Biber
Kara mit Java
Ausblick
Σ ist nicht berechenbar
Satz
Es gibt keine Turingmaschine TΣ, die Σ(n) für alle n ∈ Nberechnet.
Beweis.
Angenommen, eine solche Maschine TΣ existiere. DieAnzahl ihrer Zustände sei k.Sei Dn = T12n ◦ TΣ.Dn hat 4n + k Zustände und schreibt Σ(12n) auf dasBand.Daher gilt: Σ(4n + k) ≥ Σ(12n) für n ≥ 1.Für n0 > k
8 gilt 12n0 > 4n0 + kAus der Monotonie von Σ folgt: Σ(12n0) > Σ(4n0 + k).Aus beiden Ungleichungen folgt der Widerspruch:Σ(12n0) > Σ(4n0 + k) ≥ Σ(12n0).
Kara
Gerhard Bitsch
Problemstellung
Kara im Anfän-gerunterricht
Turing-Maschinen mitKaraEinfacheTuring-Programme
Fleißige Biber
Kara mit Java
Ausblick
Σ ist nicht berechenbar
Beweis.
Angenommen, eine solche Maschine TΣ existiere. DieAnzahl ihrer Zustände sei k.Sei Dn = T12n ◦ TΣ.Dn hat 4n + k Zustände und schreibt Σ(12n) auf dasBand.Daher gilt: Σ(4n + k) ≥ Σ(12n) für n ≥ 1.Für n0 > k
8 gilt 12n0 > 4n0 + kAus der Monotonie von Σ folgt: Σ(12n0) > Σ(4n0 + k).Aus beiden Ungleichungen folgt der Widerspruch:Σ(12n0) > Σ(4n0 + k) ≥ Σ(12n0).
Kara
Gerhard Bitsch
Problemstellung
Kara im Anfän-gerunterricht
Turing-Maschinen mitKaraEinfacheTuring-Programme
Fleißige Biber
Kara mit Java
Ausblick
Σ ist nicht berechenbar
Beweis.
Angenommen, eine solche Maschine TΣ existiere. DieAnzahl ihrer Zustände sei k.Sei Dn = T12n ◦ TΣ.Dn hat 4n + k Zustände und schreibt Σ(12n) auf dasBand.Daher gilt: Σ(4n + k) ≥ Σ(12n) für n ≥ 1.Für n0 > k
8 gilt 12n0 > 4n0 + kAus der Monotonie von Σ folgt: Σ(12n0) > Σ(4n0 + k).Aus beiden Ungleichungen folgt der Widerspruch:Σ(12n0) > Σ(4n0 + k) ≥ Σ(12n0).
Kara
Gerhard Bitsch
Problemstellung
Kara im Anfän-gerunterricht
Turing-Maschinen mitKaraEinfacheTuring-Programme
Fleißige Biber
Kara mit Java
Ausblick
Σ ist nicht berechenbar
Beweis.
Angenommen, eine solche Maschine TΣ existiere. DieAnzahl ihrer Zustände sei k.Sei Dn = T12n ◦ TΣ.Dn hat 4n + k Zustände und schreibt Σ(12n) auf dasBand.Daher gilt: Σ(4n + k) ≥ Σ(12n) für n ≥ 1.Für n0 > k
8 gilt 12n0 > 4n0 + kAus der Monotonie von Σ folgt: Σ(12n0) > Σ(4n0 + k).Aus beiden Ungleichungen folgt der Widerspruch:Σ(12n0) > Σ(4n0 + k) ≥ Σ(12n0).
Kara
Gerhard Bitsch
Problemstellung
Kara im Anfän-gerunterricht
Turing-Maschinen mitKaraEinfacheTuring-Programme
Fleißige Biber
Kara mit Java
Ausblick
Σ ist nicht berechenbar
Beweis.
Angenommen, eine solche Maschine TΣ existiere. DieAnzahl ihrer Zustände sei k.Sei Dn = T12n ◦ TΣ.Dn hat 4n + k Zustände und schreibt Σ(12n) auf dasBand.Daher gilt: Σ(4n + k) ≥ Σ(12n) für n ≥ 1.Für n0 > k
8 gilt 12n0 > 4n0 + kAus der Monotonie von Σ folgt: Σ(12n0) > Σ(4n0 + k).Aus beiden Ungleichungen folgt der Widerspruch:Σ(12n0) > Σ(4n0 + k) ≥ Σ(12n0).
Kara
Gerhard Bitsch
Problemstellung
Kara im Anfän-gerunterricht
Turing-Maschinen mitKaraEinfacheTuring-Programme
Fleißige Biber
Kara mit Java
Ausblick
Σ ist nicht berechenbar
Beweis.
Angenommen, eine solche Maschine TΣ existiere. DieAnzahl ihrer Zustände sei k.Sei Dn = T12n ◦ TΣ.Dn hat 4n + k Zustände und schreibt Σ(12n) auf dasBand.Daher gilt: Σ(4n + k) ≥ Σ(12n) für n ≥ 1.Für n0 > k
8 gilt 12n0 > 4n0 + kAus der Monotonie von Σ folgt: Σ(12n0) > Σ(4n0 + k).Aus beiden Ungleichungen folgt der Widerspruch:Σ(12n0) > Σ(4n0 + k) ≥ Σ(12n0).
Kara
Gerhard Bitsch
Problemstellung
Kara im Anfän-gerunterricht
Turing-Maschinen mitKaraEinfacheTuring-Programme
Fleißige Biber
Kara mit Java
Ausblick
Σ ist nicht berechenbar
Beweis.
Angenommen, eine solche Maschine TΣ existiere. DieAnzahl ihrer Zustände sei k.Sei Dn = T12n ◦ TΣ.Dn hat 4n + k Zustände und schreibt Σ(12n) auf dasBand.Daher gilt: Σ(4n + k) ≥ Σ(12n) für n ≥ 1.Für n0 > k
8 gilt 12n0 > 4n0 + kAus der Monotonie von Σ folgt: Σ(12n0) > Σ(4n0 + k).Aus beiden Ungleichungen folgt der Widerspruch:Σ(12n0) > Σ(4n0 + k) ≥ Σ(12n0).
Kara
Gerhard Bitsch
Problemstellung
Kara im Anfän-gerunterricht
Turing-Maschinen mitKaraEinfacheTuring-Programme
Fleißige Biber
Kara mit Java
Ausblick
Σ ist nicht berechenbar
Beweis.
Angenommen, eine solche Maschine TΣ existiere. DieAnzahl ihrer Zustände sei k.Sei Dn = T12n ◦ TΣ.Dn hat 4n + k Zustände und schreibt Σ(12n) auf dasBand.Daher gilt: Σ(4n + k) ≥ Σ(12n) für n ≥ 1.Für n0 > k
8 gilt 12n0 > 4n0 + kAus der Monotonie von Σ folgt: Σ(12n0) > Σ(4n0 + k).Aus beiden Ungleichungen folgt der Widerspruch:Σ(12n0) > Σ(4n0 + k) ≥ Σ(12n0).
Kara
Gerhard Bitsch
Problemstellung
Kara im Anfän-gerunterricht
Turing-Maschinen mitKaraEinfacheTuring-Programme
Fleißige Biber
Kara mit Java
Ausblick
Das Halteproblem ist nicht entscheidbar
Gibt es eine berechenbare Funktion,die für jede Turingmaschine
und jede Anfangsbeschriftung des Bandesentscheidet,
ob diese Maschine mit diesem Bandanhält?
Kara
Gerhard Bitsch
Problemstellung
Kara im Anfän-gerunterricht
Turing-Maschinen mitKaraEinfacheTuring-Programme
Fleißige Biber
Kara mit Java
Ausblick
Plausibilitätsbetrachtungen
Es gibt (4 · (n + 1))2n Turingmaschinen mit n Zuständen.
Zustände Mögliche Maschinen2 207363 1,68 · 107
4 2,56 · 1010
5 6,34 · 1013
6 2,32 · 1017
10 7,40 · 1032
Σ(3) = 6 (1963, Lin und Rado)Σ(4) = 13 (1975, Brady)Σ(5) ≥ 4098 (1989, Marxen und Buntrock)Σ(6) ≥ 4,6 · 101439 (2007, T. und S. Ligocki)
Kara
Gerhard Bitsch
Problemstellung
Kara im Anfän-gerunterricht
Turing-Maschinen mitKara
Kara mit JavaDieJavaKara-Umgebung
EinfacheJava-Programme
Ausblick
JavaKara Programmierumgebung
Kara
Gerhard Bitsch
Problemstellung
Kara im Anfän-gerunterricht
Turing-Maschinen mitKara
Kara mit JavaDieJavaKara-Umgebung
EinfacheJava-Programme
Ausblick
Methoden
Methoden für Kara haben das Präfix kara.
move() putLeaf() removeLeaf()turnRight() turnLeft()
treeFront() treeLeft() treeRight()mushroomFront() onLeaf()
Kara
Gerhard Bitsch
Problemstellung
Kara im Anfän-gerunterricht
Turing-Maschinen mitKara
Kara mit JavaDieJavaKara-Umgebung
EinfacheJava-Programme
Ausblick
Kara
Gerhard Bitsch
Problemstellung
Kara im Anfän-gerunterricht
Turing-Maschinen mitKara
Kara mit JavaDieJavaKara-Umgebung
EinfacheJava-Programme
Ausblick
Einbettung in eclipse
import javakara.JavaKaraProgram;public class sucheBaum1 extends JavaKaraProgram {public void myMainProgram() {action();}private void action(){
if (kara.onLeaf()){kara.removeLeaf();}else{kara.putLeaf(); }if (!kara.treeFront()){kara.move();action();}}
public static void main(String[] args) {JavaKaraProgram program = new sucheBaum1();program.run("C:/KARA/jkara01.world"); }}
Kara
Gerhard Bitsch
Problemstellung
Kara im Anfän-gerunterricht
Turing-Maschinen mitKara
Kara mit Java
Ausblick
Literatur
Kara:R. Reichert, J. Nievergelt, W. Hartmann:Programmieren mit Kara, 2004, Springer, Berlin.http://www.swisseduc.ch/informatik/karatojava/kara/
Busy Beaver:W. Brauer: Grenzen maschineller Berechenbarkeit,Informatik-Spektrum 13 (1990), S. 61-70http://en.wikipedia.org/wiki/Busy_beaver* http://drb9.drb.insel.de/ heiner/BB/http://grail.cba.csuohio.edu/∼somos/bb.htmlhttp://users.informatik.haw-hamburg.de/∼voeller/th/thinf/node16.html
http://www.logique.jussieu.fr/∼michel/ha.html#tm42http://www.cs.rpi.edu/∼kelleo/busybeaver/