
Am Anfang eines Computerprogramms steht immer zunächst einmal eine diffuse Idee eines Menschen als grobes Zielbild für eine Problemlösung. Erst durch «Computational Thinking» (informatisches Denken) und die damit gemeinten gedanklichen Prozesse, kann die Software entstehen. Computational Thinking umfasst die Fähigkeit, Muster zu erkennen, komplexe Probleme zu zerlegen, Konzepte oder Zielbilder zu abstrahieren und in Abläufen/Sequenzen zu denken und alle gedanklichen Prozesse, die dafür notwendig sind.
Zurzeit gibt es mehrere Auffassungen, aus was sich informatisches Denken zusammensetzt (u.a. BBC Bitesize, FHNW, PHZH). Einer der Ansätze ist, dass «Computational Thinking» aus Techniken wie Dekomposition, Abstraktion, Algorithmen und Evaluation/Debugging besteht. Diese Techniken sind nicht nur in der Programmierung wichtig, sondern stärken die allgemeinen Problemlösekompetenzen.
Dekomposition: Zerlegen eines komplexen Problems in überschaubare Teilprobleme.
Abstraktion: Beschreibt den Vorgang, sich auf das Wichtigste zu beschränken und Irrelevantes wegzulassen. Hierzu zählt auch die Mustererkennung.
Algorithmen: Entwerfen logischer und geordneter Anweisungen zur Lösung einer Klasse von Problemen (Probleme, die etwas gemeinsam haben). Dazu zählt der Algorithmus-Entwurf (geordnete Schritte zur Lösung des Problems), Effizienz (finden der bestmöglichen Lösung) oder Automatisierung (Anwendung zur Lösung ähnlicher Probleme).
Evaluation/Debugging: Erkennen und lösen von Fehlern (und daraus lernen).
Der Prozess des «Computational Thinking» läuft meist dreistufig ab:
1. Ausführung und Bewertung der Lösungsrepräsentation: Z.B. Umsetzung eines Kuchenrezepts und die anschliessende Überprüfung.
2. Problemformulierung: präzise Fragestellung basierend auf einer Problemanalyse, Zerlegung in Teilprobleme.
3. Repräsentation einer Lösung: Darstellung einer möglichen Problemlösung z.B. eine Möbelmontageanleitung
Die Art und Weise wie Informatiker*innen zu Denken benötigen wir auch oft in unserem Alltag. Es sind grundlegende Fähigkeiten, die jeder Mensch beherrschen muss, um in unserer Gesellschaft bestehen zu können. Zum Beispiel beim Kochen eines Gerichtes nach Rezept werden die Prinzipien des «Computational Thinking» angewendet: Nachdem das Wasser im Topf zu sieden beginnt, kann das Salz beigefügt und die Pasta in das sprudelnde Wasser gelegt werden. Währenddessen bleibt Zeit, um die Zutaten für die Sauce vorzubereiten oder den Salat nebenbei zu waschen. Der Prozess des Kochens beinhaltet parallele sowie aufeinanderfolgende Arbeitsschritte.
Das Verständnis für den Unterschied zwischen sequenziellen und parallelen Prozessen ist grundlegend, um Lösungsstrategien für Probleme entwickeln zu können, in eine formale Sprache (Flussdiagramm) zu übersetzen und schliesslich in einer Programmiersprache für den Computer zu formulieren.
Der Lehrplan 21 trägt dem Rechnung, in dem die überfachlichen Kompetenzen konkret die Problemlösefähigkeit benennen und im Modullehrplan Medien und Informatik das Programmieren im Sinne des Formalisierens als Kompetenzstufe integriert ist.
Die Schülerinnen und Schüler können einfache Problemstellungen analysieren, mögliche Lösungsverfahren beschreiben und in Programmen umsetzen.
Weitere Pinchos, die weiterführend zu diesem Thema interessant sein könnten sind: Algorithmen, Programmieren
BY Konsortium MIA21
Dieser Beitrag ist lizenziert unter der Creative Commons Namensnennung 4.0 International Lizenz (CC BY 4.0).

