Zu Computational Thinking gibt es eine Vielzahl an Beschreibungen und Erklärungen. Der Begriff ist nicht eindeutig und kann sehr weitreichend interpretiert werden. Meistens wird der Begriff mit Jeannette Wing in Verbindung gebracht. Symour Papert (der Begründer der Programmiersprache LOGO, er arbeitete auch mit Jean Piaget zusammen) verwendete den Begriff zuerst bereits im Jahre 1980 in seinem Buch Mindstorms: Children, Computers, and Powerful Ideas:
Symour Papert, 1980In most cases, although the experiments have been interesting and exciting, they have failed to make it because they were too primitive. Their computers simply did not have the power needed for the most engaging and shareable kinds of activities. Their visions of how to integrate computational thinking into everyday life was insufficiently developed. But there will be more tries, and more and more […] They will be manifestations of a social movement of people interested in personal computation, interested in their own children, and interested in education.
Jeannette Wing beschreibt Computational Thinking im Jahre 2010 folgendermaßen:
Jeannette Wing, 2010Computational thinking is the thought processes involved in formulating problems and their solutions so that the solutions are represented in a form that can effectively be carried out by an information-processing agent.
Es handelt sich nach Wing bei Computational Thinking also um
Gemäß Shute et al. (2017) handelt es sich bei Computational Thinking um einen Problemlöseprozess, einen Gedankenprozess, welcher sich mit vielen anderen Gedankenprozessen einschließlich der Geistes-, Mathematik- und Naturwissenschaften überschneidet.
Shute et al., 2017CT is an umbrella term containing design thinking (i.e., efficient solution design), systems thinking (i.e., system understanding and modelling), and mathematical thinking as applied to solving problems
Muster sind überall. Durch Mustererkennung können in der Menge von Daten Regelmäßigkeiten, Wiederholungen und Ähnlichkeiten erkannt werden und daraus Regeln erstellt und allgemeinere Probleme gelöst werden.
Beispiel: Kunst: mehrere kleine Musikbausteine die wiederholt vorkommen in einem Musikstück erkennen.
Generalisierung ist die Fähigkeit, Teile einer Aufgabe zu erkennen, welche bereits bekannt sind oder schon anderswo benutzt werden. So lassen sich bereits bekannte Lösungsstrategien in neuen Szenarien und Kontexten wiederverwenden oder leicht anpassen.
Beispiel: Mathematik: beherrscht man die Techniken der schriftlichen Multiplikation mit natürlichen Zahlen, fällt es nicht schwer, diese ebenfalls auf die Dezimalzahlen anzuwenden.
Zerlegung ist die Fähigkeit, ein Problem in kleinere Aufgaben zu unterteilen. Problemlösen kann ein komplexer Prozess sein, daher ist die Fähigkeit, ein großes Projekt in seine Bestandteile zu zerlegen, unerlässlich.
Beispiel: Literatur: Analyse eines Gedichts nach Takt, Reim, Bild, Struktur, Ton, Diktion und Bedeutung.
Bei der Abstraktion werden Sachverhalte vereinfacht, modelliert. Das Wichtigste wird identifiziert, unnötige Details werden ausgelassen. Die Abstraktion erlaubt es, über Dinge in unterschiedlichem Detailgrad nachzudenken.
Beispiel: Grammatik: die Regeln der schwachen Verben anwenden (Abstraktion vom Stamm des Verbs)
Ein Algorithmus ist eine Reihe von Anweisungen, welche nacheinander abgearbeitet werden. Die Ausführung ist endlich, sie endet nach einer bestimmten Anzahl an Handlungsschritten.
Beispiel: Magie: einen Zaubertrick durchführen.
Iteration erlaubt sich wiederholende identische Handlungen zusammenzufassen und mehrfach als Block durchzuführen.
Beispiel: Naturwissenschaft: das gleiche Experiment wird wiederholt auf die gleiche Weise durchgeführt; die Handlungen bleiben die gleichen nur einige Parameter werden geändert um das gewünschte Resultat zu erreichen (Beispiel: wie viel Zucker kann in Wasser aufgelöst werden?).
Debugging ist der Prozess des Auffindens und Behebens von Fehlern. Es ist eine Lösungsdurchführung mit direkten Auswirkungen auf das eigene Denken. Sie überprüft, ob ein Prototyp wie vorgesehen funktioniert oder nicht.
Bei der Evaluation geht es darum, Urteile zu fällen, wenn möglich objektiv und systematisch. Es wird überprüft, ob ein Algorithmus eine Reihe von Eigenschaften und Anforderungen hat, die das Problem beschreiben. Eine gute Lösung soll ihren Zweck erfüllen. Die kann man überprüfen anhand der
Lesen Sie weiter WARUM Computational Thinking an Grundschulen unterrichtet werden soll.
Wing, J. (2010, 17). Research Notebook: Computational Thinking--What and Why? Carnegie Mellon School of Computer Science. https://www.cs.cmu.edu/link/research-notebook-computational-thinking-what-and-why
Shute, V. J., Sun, C., & Asbell-Clarke, J. (2017). Demystifying computational thinking. Educational Research Review, 22, 142–158. https://doi.org/10.1016/j.edurev.2017.09.003