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.

Arbeitsmittel

Info für Lehrer*innen

Eingeloggte Lehrer*innen werden hier durch Unterrichtsvorschläge und Zusatzinformationen zur Seite und zu Lernzielen unterstützt.
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.

Ein Mensch macht einen Marmeladetoast und erledigt nebenbei
   auch noch andere Dinge.
„Ah, ich mach mir noch schnell nebenbei ein Marmeladebrot.“

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

Ein Computer versucht einen Marmeladetoast zu machen und
   scheitert dabei.
„Ah! Wie funktioniert Marmelade denn nur?“

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 Lehrer*innen

  • 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?

Info für Lehrer*innen
Marmelade-Semmel

Klassenspiel: Der lebendige Algorithmus

  1. Teilt euch in 4 Gruppen!
  2. Jede Gruppe ernennt eine Person, die schreibt, eine, die spricht, und eine, die ausführt.
  3. Jede Gruppe muss die vorgegebene Aufgabe als Schritt-für-Schritt-Anweisung formulieren.
    Aufgabe

    Verfasst eine schrittweise Anleitung, wie die ausführende Person ....

  4. 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!

Algorithmus
  1. Zahl 1 und Zahl 2 mit einem „ד dazwischen in Zeile 0 schreiben. Die Ziffern sollen dabei möglichst rechts stehen.
  2. In Spalten 0 und 1 in Zeile 1 „0“ schreiben. Ziffer in Zelle 2,0 mit Zahl 1 multiplizieren und das Ergebnis ab Spalte 2 in Zeile 1 schreiben.
  3. In Spalte 0, Zeile 2 „0“ schreiben. Ziffer in Zelle 1,0 mit Zahl 1 multiplizieren und ab Spalte 1 in Zeile 2 einfügen.
  4. Ziffer in Zelle 0,0 mit Zahl 1 multiplizieren. Das Ergebnis in Zeile 3 ab Spalte 0 schreiben.
  5. Die Zahlen der Zeilen 1-3 addieren und als Ergebnis in Zeile 4 schreiben!
ALGORITHMUS

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!

GamBu Konsole
Gewonnen!
Bots starten?
Verloren!
Der Seppibär is los!
Assets
Texturen Sounds
Wenn alle Texturen, Bilder und Grafiken von dir selbst erstellt, gemalt oder gezeichnet worden sind, dann stehen sie bei einer Veröffentlichung automatisch unter CC BY-ND. Außer den selbst gemachten dürfen auch Grafiken enthalten sein, die ausdrücklich OHNE NAMENSNENNUNG frei verwendbar sind, dann stehen alle Grafiken, auch deine eigenen, nach Veröffentlichung unter CC0.
Die Texturen sollten genau 62 x 62 Pixel groß sein
Wenn alle Musikstücke und Geräusche von dir selbst erstellt, gesungen, gespielt und komponiert worden sind, dann stehen sie bei einer Veröffentlichung automatisch unter CC BY-ND. Außer den selbst gemachten dürfen auch Sounds enthalten sein, die ausdrücklich OHNE NAMENSNENNUNG frei verwendbar sind, dann stehen alle Sounds, auch deine eigenen, nach Veröffentlichung unter CC0.
Info für Lehrer*innen

Wähle jetzt: Welchem dieser drei Algorithmen folgt die Schlange? Achtung, du hast nur einen Versuch!

  1. Wenn Schalter 1 und Schalter 2 eingeschaltet sind, gehe vor. Bei Berührung der Wand bleibe stehen.
  2. Wenn Schalter 1, Schalter 2 oder beide eingeschaltet sind, gehe vor. Bei Berührung der Wand bleibe stehen.
  3. 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.

Diamantensuche

Optimiere die Suche! Finde in möglichst wenigen Schritten den gesuchten Diamanten!

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.

Computational Thinking zum Problem
   „Frühstückssemmel zubereiten“
Prinzipien des Computational Thinkings

1. Zerlegung

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

3. 2. 1. Zerlegung
Zerlegung von Problemen

Überlegt gemeinsam!
Wie wurde das Prinzip der Zerlegung bei der Diamantensuche angewandt?

Info für Lehrer*innen

2. Abstraktion

Abstraktion hilft uns dabei, unwichtige Details wegzulassen. Man konzentriert sich auf das Wesentliche.

„Semmel bestreichen.“ Abstraktion
Abstraktion von Lösungsschritten

Überlegt gemeinsam!
Wie wurde das Prinzip der Abstraktion bei der Diamantensuche angewandt?

Info für Lehrer*innen

3. Mustererkennung

Menschen können ein Bild oder eine Situation ansehen und dabei Muster erkennen.

Süßer Aufstrich Schoko-Aufstrich Erdbeer-Marmelade Streichfett Butter Margarine Brot/Gebäck Semmel Toastbrot Roggenbrot Mustererkennung
Erkennung von Mustern

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!

ALGORITHMUS
1. Semmel durchschneiden

2. Semmel mit Butter bestreichen

3. Semmel mit Marmelade bestreichen

Überlegt gemeinsam!
Welche Algorithmen wurden bei der Diamantensuche angewandt?

Info für Lehrer*innen

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?

GamBu Konsole
Gewonnen!
Bots starten?
Verloren!
Der Seppibär is los!

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.

Popup: GamBu Game-Engine

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 Lehrer*innen

Hacks 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
MOV byte [#3], AL
(x86 Assembly)
0101101100111010...(Binärcode)
Von der Programmiersprache zur Maschinensprache

10. Computational Thinking
Tools
Zeit
Zufall
Zeigen
Rechnen
Antworten
Über SchuBu
1.1.5.a
Meine Lösung prüfen
später prüfen
Tipp 1
Tipp 2
Lösung
   
Ok
erledigt
Juhu!
Du hast alle Aufgaben abgeschlossen.
Dein Ergebnis:
Genug für heute
leider falsch
Oje!
Das ist leider nicht ganz richtig.
Noch einmal versuchen
richtig
Bravo!
Deine Lösung ist richtig.
Nächste Aufgabe