- Leren door doen
- Trainers met praktijkervaring
- Klassikale trainingen
- Gedetailleerd cursusmateriaal
- Duidelijke inhoudsbeschrijving
- Maatwerk inhoud mogelijk
- Trainingen die doorgaan
- Kleine groepen
In de cursus Clojure Programmeren van SpiralTrain leren de deelnemers programmeren in de dynamische en functionele programmeertaal Clojure . Clojure heeft zijn roots in de Lisp programmeertaal en er bestaan compilers voor zowel Java als .NET zodat Clojure applicaties in beide runtime omgevingen kunnen draaien. De cursus behandelt de nieuwste versie van Clojure.
In de cursus Clojure Programmeren leer je de fundamenten van deze krachtige functionele programmeertaal. De cursus begint met een overzicht van de kenmerken van functioneel programmeren en hoe deze door Clojure worden ondersteund. Aandacht is er voor expression evaluation, immutability en concurrency support. Ook wordt gedemonstreerd hoe de REPL loop in Clojure kan worden gebruikt om code te runnen.
Vervolgens wordt ingegaan op de variabelen en data types van de Clojure taal. De control flow constructies in Clojure komen ook aan de orde, evenals exception handling.
Functies zijn een centraal element in de cursus Clojure Programmeren. Je leert hoe in Clojure met functies wordt gewerkt. Naast standaard functies worden ook anonymous functies, variadic functies en higher order functies zoals map en reduce behandeld. Het doorgeven van functies als parameters en het teruggeven van functies als return value komt eveneens aan bod.
Data Structures in Clojure worden ook uitgebreid behandeld, waaronder sequences, lists, sets, vectors, maps en hashmaps. Hierbij wordt ingegaan op de operaties op data structures zoals set unions, intersections en het sorteren van maps.
Daarnaast worden advanced types zoals predicates, atoms, agents en watchers besproken, wat essentieel is voor geavanceerd Clojure-programmeren.
Tenslotte is het tijd voor concurrency met multiple threads in Clojure. Hier komen onderwerpen zoals object locking, transactions, agents en asynchronous calls aan bod. Deze kennis is cruciaal voor het ontwikkelen van efficiënte en schaalbare applicaties.
Voor meer informatie over Clojure kun je de officiële site van Clojure bezoeken. Daarnaast kun je je interesse in andere programmeertalen verder verkennen, zoals in de cursus Carbon Programmeren of Fortran Programmeren.
De cursus Clojure Programmeren is bedoeld voor een ieder die wil leren programmeren in de functionele programmeer taal Clojure.
Om aan deze cursus te kunnen deelnemen is basiskennis van programmeren in een andere programmeertaal bevorderlijk voor de begripsvorming maar niet vereist.
De theorie wordt behandeld op basis van presentatie slides. De theorie wordt verduidelijkt door middel van demo's. Na bespreking van een module is er de mogelijkheid te oefenen. De cursustijden zijn van 9.30 tot 16.30.
De deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaat Clojure Programmeren.
Module 1 : Clojure Intro |
Module 2 : Language Syntax |
Module 3 : Functions |
|
Functional Programming Clojure Roots in Lisp Expression Evaluation Clojure Compilers Running in JVM Running in .NET Immutability State Management Concurrency Support Installing Clojure Leiningen Tool CounterClockwise Plugin REPL Loop |
Data Types Numbers and Strings char and Boolean nil and Atom Symbols Variables Require Statement Operators for and while doseq and dotimes if and if-do case and cond Exception Handling |
Function Definition defn Macro Anonymous Functions Functions with Parameters Passing Arguments Variadic Functions Ampersand Symbol Higher Order Functions Passing Functions Returning Functions filter Function map and reduce iterate and remove |
Module 4 : Data Structures |
Module 5 : Advanced Types |
Module 6 : Clojure Concurrency |
|
Sequences seq Keyword Creating Lists ISeq Interface List Access Sets Set Intersection Set Union Vectors Maps Key Value Pairs HashMaps SortedMaps |
Predicates Metadata vary-meta Atoms swap! Method compare-and-set! StructMaps Agents Watchers add-watch Macros macro-expand Date Class |
Threads in Clojure Sharing Data References in Clojure Isolation in Vars Mutable State Object Locking Synchronization with Refs Transactions dosync Blocks Asynchronous Changes Agent State send and send-off await and await-for |