Vertiefungsgebiet funktionale Programmierung
Funktionale Programmiersprachen lassen etwas von der Eleganz, Klarheit und Präzision der Mathematik in die Welt der Programmierung einfließen. Im Mittelpunkt steht das mathematische Konzept von Funktionen und Rekursion. Innovative Konzepte, wie Musteranpassung, algebraische Datentypen, Funktionen höherer Ordnung und Polymorphie, machen funktionale Programme elegant und flexibel; sie eignen sich deshalb besonders gut zur Spezifikation.
Die funktionale Programmierung beschäftigt sich nicht mit der Abbildung eines Problems auf den sequentiellen Ablauf eines Programms. Vielmehr steht die Problemlösung (der Algorithmus) im Mittelpunkt (deklarative Programmierung). Dies führt zu einem Programmierstil, der sich grundlegend vom imperativen Programmieren unterscheidet. Die Implementierungen sind in fast allen Fällen kurz und übersichtlich.
Durch die Verwendung einer funktionalen Programmiersprache lassen sich viele zentrale Inhalte des Informatik-Unterrichts an der Schule sehr zielgerichtet thematisieren. Gleichzeitig erfordern diese Sprachen eine bedachte und wohlüberlegte Arbeitsweise, die zur Herausbildung eines sauberen Programmierstils beitragen kann. In Lerngruppen mit heterogenen Vorkenntnissen hat sich die frühzeitige Einführung einer "neuen" Programmiersprache als förderlich erwiesen.
Im Grundkurs bietet sich das Wahlgebiet bei der Einführung der Rekursion an. Hier kann man an den funktionalen Leitgedanken des Mathematikunterrichts anknüpfen und den Funktionsbegriff zur Beschreibung von Algorithmen erweitern. Die Kenntnis von Rekursion und Listen ist bei der späteren imperativen Behandlung hilfreich.
Im Leistungskurs können funktionale Sprachen frühzeitig eingeführt und dann unterrichtsbegleitend zur Spezifikation eingesetzt werden. Insbesondere für die Wahlgebiete Theoretische Informatik und Kryptologie bieten sich hier interessante Aspekte an, die bei einem späteren Studium nützlich sind (Programmiersprachen, reguläre Ausdrücke, Compiler, Algebraische Spezifikation, Techniken zur Entwicklung korrekter Software usw.).
WorkShop Funktionale Programmierung am Informatiktag 2019
- Annette Machmer hat freundlicherweise ihr Material zur Verfügung gestellt
Funktionale Programmierung | ||
Vorschläge für Schwerpunktvorhaben:
| ||
Fachinhalte | Kompetenzen | Vernetzungen |
Funktionen als Programme | ||
|
|
|
|
|
|
Rekursion | ||
|
|
|
Rekursive Datenstrukturen | ||
|
|
|
Funktionen höherer Ordnung | ||
|
|
|
Vertiefung und Projektarbeit | ||
|
|
|
Der Bildungsserver Berlin-Brandenburg ist ein Service des Landesinstituts für Schule und Medien Berlin-Brandenburg im Auftrag der Senatsverwaltung für Bildung, Jugend und Familie (Berlin) und des Ministeriums für Bildung, Jugend und Sport Land Brandenburg.