Skip to content

henrik42/fpic

Repository files navigation

fpic: Funktionale Programmierung in Clojure

Dieses Repo enthält alle Dinge, die wir für die Programmier-AG "Funktionale Programmierung mit Clojure" am Kopernikus Gymnasium Bargteheide nutzen möchten.

Die Programmier-AG wird erstmalig im Schuljahr 2023/2024 mit einer Doppelstunde pro Woche stattfinden. Die AG wird für Schülerinnen und Schüler der Klassenstufe 7, 8 und 9 angeboten.

Was wollen wir machen?

Wir wollen den Schülerinnen und Schülern das Programmieren beibringen. Wir setzen nur voraus, dass die Teilnehmerinnen Interesse haben und regelmäßig an der AG teilnehmen und aktiv mitarbeiten möchten.

Es handelt sich nicht um einen Informatikunterricht im Sinn des Lehrplans sondern um eine Programmier-AG. Hier steht das Programmieren mit Clojure im Vordergrund. Es sind auch keine Leistungsnachweise zu erbringen.

Wir setzen keine Programmierkenntnisse voraus. Wir werden falls nötig anfangs erläutern, wie man einen Computer grundsätzlich bedient (Tastatur, Bildschirm, Maus).

Zu Beginn werden wir nur einen Computer, einen Browser und einen Zugang zum Internet benötigen. Im Prinzip reicht ein Smartphone inkl. Browser für die Übungen. Die Kinder können anfangs alle Übungen auch zu Hause durchführen (ohne zusätzliche Software installieren zu müssen) und damit Eltern, Geschwister und Freunde an ihren Erfolgen teilhaben lassen.

Wir werden dann Schritt für Schritt die Programmiersprache Clojure erlernen. Falls alles gut läuft, wollen wir am Ende des Schuljahres in der Lage sein, eine Online-Chatanwendung zu schreiben und mit Hilfe von Clojure einen Minecraft-Server zu steuern, so dass wir in der Lage sind, interaktiv das Minecraft-Spiel während des Spielens zu ändern.

Wieso Programmieren lernen?

Unserer Meinung nach kann Programmieren sehr viel Spaß machen! Wir hoffen, dass uns und den Schülerinnen das Lehren und Lernen und gemeinsame Programmieren eben diesen Spaß bereitet. Nebenbei ergibt sich daraus vielleicht sogar ein zukünftiger Berufswunsch. Und wenn nicht, so nehmen bestimmt alle Teilnehmerinnen Erfahrungen mit, die sie auch als Nicht-IT-ler*innen in Zukunft werden nutzen können.

Im Lehrplan für den Informatikunterricht gibt es relativ wenig Inhalte zum Thema Funktionale Programmierung. Die Programmier-AG kann daher auch eine schöne Ergänzung zum Informatikunterricht sein.

Wieso Funktionale Programmierung?

Die Funktionale Programmierung hat durch ihren Fokus auf Funktionen eine große Ähnlichkeit zu dem, was die Schülerinnen schon aus dem Mathematikunterricht kennen.

Funktionale Programmierung hat viele weitere gute Eigenschaften, die ich hier aber nicht alle aufschreiben kann :-)

Es geht aber nicht darum, darüber zu streiten, welches nun das beste Programmierparadigma ist. Unserer Meinung nach macht es Sinn, eine funktionale Programmiersprache zu erlernen --- und eben gerade auch als erste Programmiersprache.

Wieso gerade Clojure?

Das Tolle an der funktionalen Programmiersprache Clojure ist, dass die Sprache auf der Java Virtual Maschine läuft (und auch im Browser und Node.js). Clojure integriert sich sehr gut mit dem gesamten Java-Ökosystem, so dass Clojure keine Nischensprache ist, sondern überall läuft.

Es gibt sogar eine Bank, die Clojure einsetzt. Aber es gibt weitere Firmen.

Außerdem bietet Clojure durch die REPL einen sehr niedrig schwelligen Zugang zum interaktiven Programmieren. Die Schülerinnen können während des Programmierens ständig mit dem laufenden Programm interagieren. Dadurch ergeben sich sehr kurze Think-Code-Run-Feedback-Zyklen, die dabei helfen, verschiedene Lösungen zu einem Problem auszuprobieren und eigene Programmierfehler frühzeitig zu finden.

Programmieren in Clojure macht einfach Spaß!

About

Funktionale Programmierung in Clojure

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published