Code Monkey home page Code Monkey logo

fpic's Introduction

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ß!

fpic's People

Contributors

henrik42 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.