Der Versuch einer kulturhistorischen Ableitung der Bedeutung von Algorithmen und Codierung aus und für den gesellschaftlichen Wandel
Warum man die sich in der zweiten Hälfte des 18. und dann im 19. Jahrhundert ausbreitende industrielle Revolution zunächst meist mit England verortet, hat 2 Hauptgründe. Es waren die konsequente Verwendung von Kohle für Dampfkraft als zusätzliche Energiequelle und ein gewisser Hang zur Technik, erkennbar in einer Fülle von „Mikroerfindungen“, Verbesserungen und Umsetzungen von (oft in anderen Ländern erforschten) fundamentalen Ideen, die zu funktionierenden Maschinen – Automaten – und damit zu einer nie dagewesenen Produktivitätssteigerung führte.
Auch das weitere Fortschreiten, der von einigen als zweite industrielle Revolution bezeichnete Beginn des 20. Jahrhunderts, war wiederum von ähnlichen Faktoren bestimmt. Genannt werden Energie, diesmal in der Form der Elektrizität, und Automatisation, gekennzeichnet durch die immer intensivere Verwendung von Maschinen und die damit verbundene beginnende Massenproduktion.
Die oft zitierte digitale Revolution des ausklingenden 20. und beginnenden 21. Jahrhunderts beruht wieder auf einer massiven Produktivitätssteigerung, basierend auf Algorithmen und Automaten – Computern.
Der gesellschaftliche Wandel kennt also die Hauptingredienzien
Energie (über die Arbeitskraft des Menschen hinausgehend)
Automatisierung mittels Algorithmen und ihrer Umsetzung in Automaten/Maschinen
Wenn wir uns nun auf Punkt 2 – die Automatisierung – konzentrieren, sehen wir als wesentliche Aspekte, warum es zu einer Produktivitätssteigerung kommt:
a) Die formale Beschreibung eines Arbeitsvorgangs in einer Weise, dass er automatisch ohne weiteres Zutun des Menschen abgearbeitet werden kann = Algorithmus
b) Die technische Möglichkeit, den Arbeitsvorgang schneller, billiger und weniger fehleranfällig oft wiederholen zu lassen = Automat, Maschine
Jede Sprache, die genau beschreiben will und Anweisungen gibt, wie ein Algorithmus abgearbeitet und in einen Automaten implementiert werden soll, kommt daher zwangsläufig zum Begriff der
1 Wiederholung = Schleife
Eine genauere Betrachtung ergibt hier drei Möglichkeiten:
a) Eine genaue Vorgabe, wie oft die Schleife durchlaufen wird – Zählerschleife
b) Eine Schleife, die durch Eintreten einer Bedingung abgebrochen wird
c) Im Verein mit Prozeduren rekursives Abarbeiten
Aus der Schleife (siehe Punkt b) ergibt sich sofort die Notwendigkeit der
2 Bedingung = Verzweigung
Diese Bedingungen können oft auch von außen abhängen/beeinflusst werden – man braucht also eine
3 Ereignissteuerung
Recht bald ergibt sich die Notwendigkeit, zusammenfassen zu können – modularisieren zu können
4 Prozeduren – Funktionen – Objekte
Ein Grundverständnis dieser Strukturen: Schleife – Verzweigung – Ereignissteuerung – Prozedur/Objekt ist die Basis für eine Verständigung mit einem Automaten. Das Problem ist nun die Implementierung im Schulwesen.
Lange war die Lehrmeinung: Eine korrekte Implementierung weist einen hohen Abstraktionsgrad auf und ist daher nur für ältere Schüler/innen geeignet. Aber: wenn man die Liebe zu Codierung, Algorithmisierung und Programmierung von vielen Schülerinnen und Schülern wecken will, ist das zu spät, man muss auch schon die jungen Kinder – ideal bereits im Vorschulalter – begeistern und erreichen.
Wie geht das? Mögliche Konzepte müssen
a) die Kinder sehr früh abholen
b) einen niedrigen Abstraktionsgrad aufweisen
c) vieles über spielerische Ansätze lösen
d) den Kindern die Möglichkeit bieten, zu „begreifen“ – alle Sinne einzusetzen
Eine Antwort kann dazu heißen: EIS – Education Innovation Studio