Computational Thinking
Beim Computational Thinking geht es darum, wie ein Computer zu denken. Dabei beschäftigen wir uns mit der Zerlegung eines Problems in kleine Teilprobleme, der Abstraktion von Lösungen, der Erkennung von Mustern und der Entwicklung eines Algorithmus.
Info für Lehrende
Mehr zu SchuBu+
Denken wie ein Computer
Menschen vollbringen im Alltag eine Vielzahl von Aufgaben – oft ohne darüber nachzudenken, wie sie diese genau ausführen.

Computer erscheinen uns zwar intelligent – dabei benötigen sie genaue Schritt-für-Schritt-Anweisungen, um zu erledigen, was wir von ihnen möchten.

Beim Computational Thinking geht es darum, sich in die Lage eines Computers zu versetzen. Dann fällt es leichter, Aufgaben so präzise wie möglich zu formulieren, damit der Computer genau das gewünschte Ergebnis liefert. Dabei nutzt man die Methoden der Informatik, um schwierige Probleme zu analysieren und zu lösen.
Das ist eine Marmeladesemmel und ein Rezept für dessen Zubereitung. Überlegt gemeinsam:
Info für Lehrende
- Könnt ihr anhand dieses Rezepts eine Marmeladesemmel zubereiten?
- Was kann alles schief gehen, wenn ein Roboter diesem Rezept folgt?
- Wie könnte man das Rezept verbessern?

Klassenspiel: Der lebendige Algorithmus
- Teilt euch in 4 Gruppen!
- Jede Gruppe ernennt eine Person, die schreibt, eine, die spricht, und eine, die ausführt.
-
Jede Gruppe muss die vorgegebene Aufgabe als Schritt-für-Schritt-Anweisung formulieren.
Zufällige AufgabeVerfasst eine schrittweise Anleitung, wie die ausführende Person so tut, als würde sie ein unsichtbares Kunstwerk im Raum erstellen.
- Die Gruppesprecherin/Der Gruppensprecher liest die Anweisungen vor. Die ausführende Person einer anderen Gruppe folgt exakt den Anweisungen.
Besprecht anschließend:
- Welche Anleitung war am erfolgreichsten, und warum?
- Was war beim Verfassen der Anweisungen besonders einfach oder herausfordernd?
- Gab es Missverständnisse oder Unklarheiten während der Ausführung?
Algorithmen lösen Probleme
Eine klare, durchführbare Schritt-für-Schritt-Anweisung nennt man Algorithmus. Ein Algorithmus wird zur Lösung von Problemen verwendet.
Algorithmus: Schriftliches Multiplizieren
Ein Beispiel für einen Algorithmus ist das schriftliche Multiplizieren, wie man es auch im Mathematikunterricht lernt.
Wenn man genau nach den Anweisungen vorgeht, bekommt man am Ende das Ergebnis der Multiplikation mit 3-stelligen Zahlen. Probiere es aus!
- Zahl 1 und Zahl 2 mit einem „ד dazwischen in
Zeile0 schreiben. Die Ziffern sollen dabei möglichst rechts stehen. - In Spalten 0 und 1 in
Zeile1 „0“ schreiben. Ziffer in Zelle 2,0 mit Zahl 1 multiplizieren und das Ergebnis ab Spalte 2 inZeile1 schreiben. - In Spalte 0,
Zeile2 „0“ schreiben. Ziffer in Zelle 1,0 mit Zahl 1 multiplizieren und ab Spalte 1 inZeile2 einfügen. - Ziffer in Zelle 0,0 mit Zahl 1 multiplizieren. Das Ergebnis in
Zeile3 ab Spalte 0 schreiben. - Die Zahlen der Zeilen 1-3 addieren und als Ergebnis in
Zeile4 schreiben!
Algorithmus: Programmieren
Computergesteuerte Figuren in Videospielen folgen zum Beispiel Algorithmen.
Welchem Algorithmus folgt die Schlange? Spiele das Spiel und wähle dann darunter einen der drei Algorithmen aus!
Wähle jetzt: Welchem dieser drei Algorithmen folgt die Schlange? Achtung, du hast nur einen Versuch!
- Wenn Schalter 1 und Schalter 2 eingeschaltet sind, gehe vor. Bei Berührung der Wand bleibe stehen.
- Wenn Schalter 1, Schalter 2 oder beide eingeschaltet sind, gehe vor. Bei Berührung der Wand bleibe stehen.
- Wenn entweder Schalter 1 oder Schalter 2 eingeschaltet ist, gehe vor. Wenn beide eingeschaltet sind, bleibe stehen.
Algorithmus: Suchmaschinen
Dank eines optimierten Algorithmus können Suchmaschinen in Bruchteilen von Sekunden die gewünschten Suchergebnisse finden.
DiamantensucheOptimiere die Suche! Finde in möglichst wenigen Schritten den gesuchten Diamanten!
Suche Diamant mit 7 Carat.
Suchmaschinen speichern Internetseiten in Datenbanken. Diese Datenbanken sind so gut sortiert, wie die dritte Stufe bei der Diamantsuche. Eine Suche nach einem Wort liefert sofort alle Internetseiten, die dieses Wort enthalten. Das funktioniert so, als hätte eine Lade dieses Wort als Bezeichnung und enthält alle Internetseiten, in denen dieses Wort vorkommt. Bei den Suchmaschinen sind diese Internetseiten in den Laden auch danach sortiert, wie wichtig sie sind. Zum Beispiel wird eine Seite vorgereiht, wenn oft nach ihr gesucht wurde.
Prinzipien des Computational Thinkings
Die Effizienz von Suchmaschinen zeigt, wie systematische Herangehensweisen komplexe Aufgaben erleichtern können. Ähnlich dazu sind die 4 Prinzipien des Computational Thinkings. Das sind kluge Tricks, die uns helfen, komplexe Probleme durch strukturiertes Denken zu bewältigen.

1. Zerlegung
Zerlegung hilft, ein großes Problem in kleinere Schritte zu teilen. Kleinere Schritte sind meist leichter zu schaffen.

Überlegt gemeinsam!
Wie wurde das Prinzip der Zerlegung bei der Diamantensuche angewandt?
2. Abstraktion
Abstraktion hilft uns dabei, unwichtige Details wegzulassen. Man konzentriert sich auf das Wesentliche.

Überlegt gemeinsam!
Wie wurde das Prinzip der Abstraktion bei der Diamantensuche angewandt?
3. Mustererkennung
Menschen können ein Bild oder eine Situation ansehen und dabei Muster erkennen.

Menschen sind sogar besonders gut darin, Muster zu erkennen. Aber auch Computer können Muster erkennen. Gibt es Unterschiede in ihren Fähigkeiten?
Teste deine Mustererkennungsfähigkeit! Ziehe die Puzzle-Teile an die richtige Stelle!
- Unser Gehirn erkennt beim Puzzeln schnell Muster, wie die grobe Form der Teile und die Ausrichtung der Lappen. So finden wir leicht die richtige Stelle.
- Computer mit einem einfachen Algorithmus würden jedes Teil an jeder freien Stelle ausprobieren, bis es passt.
- Computer mit einem fortschrittlichen Algorithmus würden zuerst die Lappen-Anzahl prüfen und nur passende Stellen testen.
- Mithilfe künstlicher Intelligenz können heutzutage auch Computer Muster in Bildern erkennen. Sie benötigen dafür allerdings viele Tausende Bilder mit sehr ähnlichen Szenarien als Trainingsdaten.
4. Algorithmus
Ein Algorithmus ist eine Schritt-für-Schritt-Anleitung, um ein Problem zu lösen. Je genauer die Anleitung, desto weniger kann schiefgehen.
Verbessere den Algorithmus für die Zubereitung einer Marmeladensemmel!
Überlegt gemeinsam!
Welche Algorithmen wurden bei der Diamantensuche angewandt?
Das Erfinden von Algorithmen ist keineswegs einfach. Oft ist viel Herumprobieren notwendig, bis ein Algorithmus das gewünschte Problem löst.
Algorithmen zum Leben erwecken
Computer verstehen Algorithmen weil im Code nur computerverständliche Anweisungen stehen. Erst dadurch sind sie in der Lage, bestimmte Aufgaben oder Probleme zu lösen.
Wie programmiert man einen Algorithmus für einen Bot mit GamBu-Skript, der selbständig einen Weg durch ein Labyrinth finden kann? Beobachtet diesen Bot! Könnt ihr den Algorithmus ablesen?
Der Bot folgt dem Algorithmus der rechten Hand-Regel. Man legt einfach seine rechte Hand an eine Wand des Labyrinths und hält dann beim Durchlaufen ständigen Kontakt.
- vorwärts gehen
- wenn Wand vor dir: links abbiegen (rechte Hand bleibt auf der Wand)
- wenn rechts neben dir frei: rechts abbiegen (rechte Hand bleibt auf der Wand)
- Nach einer gewissen Zeit erreicht man den Ausgang.
Überlege, was das Problem dieses einfachen Algorithmus ist! Gibt es Labyrinthe, für die er nicht funktioniert?
Der Algorithmus funktioniert nur, wenn alles Wände im Labyrinth mit der Außenwand verbunden sind, also wenn es keine „Inseln“ gibt.

GamBu Game-Engine
Baue selbst ein möglichst kompliziertes Labyrinth und überprüfe den Algorithmus des Bots. Ein Gang muss mindestens 3 Kästchen breit sein.Dieser sehr einfache Algorithmus funktioniert beeindruckend gut. Durch seine vermeintliche Selbstständigkeit, wirkt er wie künstliche Intelligenz.
Künstliche Intelligenz
Künstliche Intelligenz wirkt für uns häufig „magisch". Dabei ist sie ein Computerprogramm, das lernen kann, sinnvolle Entscheidungen zu treffen und so Probleme zu lösen. Die KI vergleicht Informationen und sucht darin nach Mustern.
Nicht jedes Problem kann mithilfe eines Computers gelöst werden. Es wird immer Probleme geben, die wir Menschen nur selbst bewältigen können.
Welches Problem fällt euch ein, das sich nicht mit einem Computer lösen lässt?
Info für LehrendeHacks und Tricks
Zahlentrick
- Nimm irgendeine dreistellige Zahl in absteigender Linie.
z. B.742
- Kehre die Zahl um.
247
- Subtrahiere die neue Zahl von der ursprünglichen Zahl.
742 - 247 = 495
- Addiere die daraus gewonnene Zahl mit ihrer umgekehrten Variante.
495 + 594 = 1089
- Das Ergebnis ist immer 1089.
Abstraktion von Programmiersprachen
Programmiersprache, Assemblysprache und Maschinensprache sind drei verschiedene Ebenen der Darstellung von Computeranweisungen.
Programmiersprache | Assemblysprache | Maschinensprache | |
---|---|---|---|
Beschreibung | ermöglicht Programmiererinnen und Programmierern Anweisungen in einer für sie intuitiven Weise zu schreiben | verwendet Begriffe/Befehle, die Maschinenbefehlen entsprechen | direkt vom Computer ausführbar |
Lesbarkeit | für Menschen leicht lesbar | mühsam, aber lesbar für Menschen | nicht lesbar für Menschen |
Beispiele | var c = a + b (JavaScript) |
ADD AL, BL (x86 Assembly) |
0101101100111010... (Binärcode) |