Computational Thinking
Eine allgemein gültige Definition für Computational Thinking scheint schwierig zu finden. Es könnte mit informatischem Denken übersetzt werden, jedoch spiegelt dies nicht die dahintersteckende Komplexität wider. Im Folgenden wird versucht, unter Berücksichtigung verschiedener Definitionen, eine Arbeitsdefinition von Computational Thinking zu erstellen, bei der die wichtigsten Aspekte berücksichtigt werden.
Definition nach Julian Fraillon
Computational Thinking bezieht sich zunächst auf die individuelle Fähigkeit einer Person, Aspekte realweltlicher Probleme zu identifizieren, die für eine informatische Modellierung geeignet sind, algorithmische Lösungen für diese (Teil-)Probleme zu bewerten und selbst so zu entwickeln, dass diese Lösungen mit einem Computer operationalisiert werden können (Fraillon et al., 2019).
Definition nach Jeannette Wing
Sie beschreibt Computational Thinking als einen dreistufigen Prozess, bei dem zunächst das Problem formuliert wird. Dazu muss die Problematik erkannt und analysiert werden, damit eine präzise Fragestellung formuliert werden kann. Dabei muss das komplexe Problem oder System in mehrere Teile zerlegt werden, damit sich eine Suche nach Ähnlichkeiten zwischen und innerhalb von Problemen anschließen kann. Durch Abstraktion der Probleme liegt der Fokus ausschließlich auf den zur Lösung des Problems relevanten Informationen. Weiterhin werden Algorithmen, die zur Lösungsfindung dienen oder Regeln zur Behebung des Problems beschreiben, erstellt. Die daraus entwickelten Lösungen müssen angemessen repräsentiert werden, um Lösungsstrategien entwerfen zu können und diese an andere Personen oder einen Computer delegieren zu können. Zuletzt müssen die Lösungsrepräsentationen aufgeführt und bewertet werden.
Was ist also Computational Thinking?
Computational Thinking sollte nicht mit einer Programmierfähigkeit gleich gesetzt werden. Vielmehr bezieht es sich auf das konzeptuelle Verständnis von Programmierkonzepten, die auf verschiedene Programmiersprachen anwendbar sind. Es geht nicht darum, wie ein Computer zu denken, sondern gemeinsam mit dem Computer zu denken. Computational Thinking beschreibt somit eine Denkweise, bei welcher der Computer als Instrument benutzt wird, um so den Denkprozess zu unterstützen (Repenning, A., 2015).
Es wird deutlich, dass Computational Thinking eine komplexe Fähigkeit darstellt, die mit verschiedenen Kompetenzen einhergeht. Neben der Fähigkeit zur Arbeit im Team, Kreativität und der Fähigkeit Sachverhalte klar und verständlich zu erklären, können sechs weitere grundlegende Kompetenzen zusammengefasst werden, um Computational Thinking zu definieren (ISTE, 2014).
- Das Formulieren von Problemen auf eine Art, die es ermöglicht, diese Mithilfe eines Computers und anderen Werkzeugen zu lösen. Das logische Organisieren und Analysieren von Daten.
- Das logische Organisieren und Analysieren von Daten
- Die Repräsentation von Daten durch Abstraktionen, wie Modelle oder Simulationen.
- Die Automatisierung durch algorithmisches Denken.
- Die Identifikation, Analyse und Implementierung von möglichen Lösungen mit dem Ziel eine möglichst effiziente und effektive Nutzung von benötigten Schritten und Ressourcen sicherzustellen.
- Die Verallgemeinerung und der Transfer dieses Problemlöseprozesses auf eine große Bandbreite von Problemen.