Clojure Programmeren
Lesgeld
Cursus Clojure Programmeren
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.
Clojure Syntax
Vervolgens wordt ingegaan
Cursus Clojure Programmeren
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.
Clojure Syntax
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 in Clojure
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
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.
Advanced Types
Daarnaast worden advanced types zoals predicates, atoms, agents en watchers besproken, wat essentieel is voor geavanceerd Clojure-programmeren.
Concurrency en Multiple Threads
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.
Doelgroep Cursus Clojure Programmeren
De cursus Clojure Programmeren is bedoeld voor een ieder die wil leren programmeren in de functionele programmeer taal Clojure.
Voorkennis Cursus Clojure Programmeren
Om aan deze cursus te kunnen deelnemen is basiskennis van programmeren in een andere programmeertaal bevorderlijk voor de begripsvorming maar niet vereist.
Uitvoering Training Clojure Programmeren
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.
Certificering Cursus Clojure Programmeren
De deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaat Clojure Programmeren.
Modules
Module 1 : Clojure Intro
- 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
Module 2 : Language Syntax
- 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
Module 3 : Functions
- 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
- Sequences
- seq Keyword
- Creating Lists
- ISeq Interface
- List Access
- Sets
- Set Intersection
- Set Union
- Vectors
- Maps
- Key Value Pairs
- HashMaps
- SortedMaps
Module 5 : Advanced Types
- Predicates
- Metadata
- vary-meta
- Atoms
- swap! Method
- compare-and-set!
- StructMaps
- Agents
- Watchers
- add-watch
- Macros
- macro-expand
- Date Class
Module 6 : Clojure Concurrency
- 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