Computational Thinking

Als Folge der Digitalisierung ist die Entwicklung der sogenannten „21st century skills“ – Fähigkeiten und Kompetenzen, die für das 21. Jahrhunderts wichtig sind – entscheidend für die Teilhabe an einer sich schnell entwickelnden Welt und die Anforderungen auf dem Arbeitsmarkt. Computational Thinking (CT) ist eine dieser Fähigkeiten und beschreibt eine Art, Probleme aus der Perspektive eines Informatikers zu lösen und in Form von Algorithmen zu formulieren, die für eine Maschine oder einen anderen Menschen leicht lesbar sind.

In Anlehnung an die Begriffsdefinition von Bocconi et al. (2016) lassen sich sechs Kern-CT-Fähigkeiten identifizieren: Abstraktion, Dekomposition, algorithmisches Denken, Debugging, Automatisierung und Generalisierung.

Abstraktion ist ein komplexer Denkprozess und ein wesentlicher Bestandteil von CT. Diese Kompetenz beschreibt den Vorgang des „…Reduzierens der unnötigen Details“ eines Problems oder Gegenstands. Beim Problemlösen ist dieser Schritt besonders relevant für Anwendungen in der realen Welt, die manchmal eine Fülle von unnötigen Details und Informationen enthalten. In diesem Zusammenhang kann die Abstraktion als Dekontextualisierung verstanden werden.

Typische Fragen zur Abstraktion sind:

Welche Schlüsselinformationen brauche ich? Wie/wo erhalte ich diese? Was ist eine gute Darstellung meiner Situation/ meines Problems?

Bei komplexen Problemen kann die Zerlegung in kleinere Teile helfen, eine Lösung zu finden. Nach einer solchen Dekomposition können die einzelnen Teile besser verstanden, bearbeitet und separat gelöst werden. Der Arbeitsprozess kann modularisiert werden und durch die Verarbeitung der Teilschritte übersichtlicher zur Lösung führen.

Eine typische Frage zur Dekomposition ist:

Kann ich mein großes, komplexes Problem in kleinere und leichter zu lösende Teile zerlegen?

Die Definition klarer und leicht nachvollziehbarer Schritte ist Teil des algorithmischen Denkens. Meist geschieht dies in Form eines Algorithmus, der den Lösungsprozess Schritt für Schritt allgemein und eindeutig beschreibt.

Eine typische Frage zum algorithmischen Denken ist:

Wie kann ich die Schritte meines Lösungsprozesses klar formulieren?

Debugging bedeutet im Kontext von CT mehr als nur das Auffinden eines Fehlers in einer Codezeile. Es bedeutet „… die systematische Anwendung von Analyse und Evaluation“, um eine Hypothese für mögliche Ergebnisse von Algorithmen, Methoden oder Ansätzen zu bilden und die Verifizierung dieser Hypothese.

Eine typische Frage zum Debugging ist:

Kann ich das Ergebnis einer Methode/eines Algorithmus vorhersagen und verifizieren?

Unter dem Begriff Automatisierung versteht man die Übertragung und Umsetzung von vorher definierten Schritten auf einen Computer. Damit ist es möglich, monotone Arbeiten von einer Maschine ausführen zu lassen und damit Energie und Zeit zu sparen.

Typische Fragen zur Automatisierung sind:

Tritt das Problem nur einmal auf? Wenn nicht, wie kann ich die Lösung automatisieren?

Zuletzt beschreibt die Generalisierung die Identifikation von Ähnlichkeiten und Unterschieden zwischen einem bereits gelösten Problem und einer neuen Situation, so dass das neue Problem auf Basis der bereits gemachten Erfahrungen schneller gelöst werden kann.

Typische Fragen zur Generalisierung sind:

Ist dies einem Problem ähnlich, das ich bereits gelöst habe? Inwiefern ist es anders?

Die Projektidee

Wir wollen die Lernumgebung COLETTE entwickeln, mit der Computational Thinking unabhängig vom sozioökonomischen Hintergrund der Schüler*innen und Schulen gelehrt und gelernt werden kann. Mit COLETTE wird es generische Aufgaben geben, anhand derer jede CT-Kernkompetenz individuell angesprochen werden kann. Lehrkräfte erhalten ein Werkzeug, um nicht nur CT als Ganzes, sondern gezielt spezifische CT-Fähigkeiten bei ihren Schülerinnen und Schülern zu fördern.