Automation: Probleme algorithmisch lösen
Verfasst von Raimond Reichert
Lernziele beim Einsatz von Kara
Grundlagen der Programmierung: Mit endlichen Automaten kann eine der fundamentalen Ideen von Algorithmen einfach illustriert werden. Ein Programm ist die Spezifikation eines eindeutig bestimmten zeitlichen Ablaufes von Ereignissen – analog zum Regieplan in einem Theater. Die Abläufe müssen auch auf externe Ereignisse reagieren können. Um ein korrektes Systemverhalten zu garantieren, braucht es eine statische Spezifikation, welche die korrekten Abläufe von der noch viel grösseren Vielfalt der inkorrekten Abläufe trennt. Kara illustriert diese grundlegende Idee an einfachen Beispielen. Zudem lassen sich auch Konzepte wie Boole'sche Aussagenlogik und Programmverifikation (Pre-Conditions, Invarianten etc.) aufzeigen.
Modell der endlichen Automaten. Endliche Automaten sind eines der einfachsten Berechnungsmodelle der Informatik. Mit ihnen kann das Verhalten vieler aus dem Alltag bekannter Automaten beschrieben werden. Kara veranschaulicht das Konzept endlicher Automaten.
Ablauf
4 Lektionen | Einführung Kara, Automaten |
1 Lektion | Marshmallow Challenge (*) |
3 Lektionen | Probleme lösen, Lösungen prüfen |
(*) Es ist äusserst schwierig, im Informatik-Unterricht ein Gefühl dafür zu vermitteln, was es in der Praxis bedeutet, komplexe Probleme zu lösen. Die Marshmallow Challenge als international standardisierte Übung soll eine wichtige Lektion vermitteln: An die Lösung komplexer Probleme tastet man sich am besten iterativ heran und vermeidet unnötige Vorausplanung – Lean Management und Agile Entwicklungsmethoden lassen grüssen.