- 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 leren de deelnemers programmeren in de dynamische en functionele programmeer taal Clojure. Clojure heeft zijn roots in de Lisp programmeertaal en er bestaan compilers voor zowel Java als .NET zodat Clojure applicaties in beide run time omgevingen kunnen draaien.
De cursus gaat van start 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 en komen de control flow constructies in Clojure aan de orde. Ook exception handling wordt dan behandeld.
Functies zijn vanzelfsprekend een centraal element in de functionele taal Clojure en er wordt ingegaan op hoe in Clojure met functies wordt gewerkt. Naast standaard functies worden ook anonymous functies, variadic functies en higher order functies zoals map and reduce behandeld. En ook het doorgeven van functies als parameters en teruggeven van functies als return value komt aan de orde.
Data Structures in Clojure worden eveneens behandeld waaronder sequences, lists, sets, vectors, maps en hashmaps. Hierbij wordt ook ingegaan op de operaties op data structures zoals set unions en intersections en het sorteren van maps.
En ook advanced types zoals predicates, atoms, agents en watchers komen aan bod.
Tenslotte is het tijd voor concurrency met multiple threads in Clojure. Dan passeren ook object locking, transactions, agents en asynchronous calls de revue.
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 |
Al onze cursussen zijn klassikale cursussen waarbij de cursisten aan de hand van een ervaren trainer met diepgaande materie kennis door de stof worden geleid. Theorie wordt steeds afgewisseld met oefeningen.
We doen ook maatwerk en passen dan de cursusinhoud aan op uw wensen. Op verzoek gaan we ook in op uw praktijkcases.
De cursustijden zijn in pricipe van 9.30 tot 16.30. Maar we zijn hierin flexibel. Soms moeten mensen namelijk kinderen naar de opvang brengen of halen en komen andere tijden hun beter uit. In goed overleg kunnen we dan andere cursustijden afspreken.
Wij zorgen voor de computers waarop de cursus gehouden kan worden. Op deze computer is de voor de cursus benodigde software al geinstalleerd. U hoeft geen laptop mee te nemen om aan de cursus te kunnen deelnemen. Als u liever op uw eigen laptop werkt kunt u hem desgewenst meenemen. De benodigde software wordt dan aan het begin van de cursus geinstalleerd.
Onze cursussen worden over het algemeen gegeven met Open Source software zoals Eclipse, IntelliJ, Tomcat, Pycharm, Anaconda en Netbeans. Het digitale cursusmateriaal krijgt u na de cursus mee naar huis.
De cursus is inclusief lunch die we in een restaurantje op loopafstand van het cursuslokaal gebruiken.
De cursussen worden op diverse plaatsen in het land gepland. Een cursus gaat op een locatie door als er zich minimaal 3 mensen voor die locatie inschrijven. Als er inschrijvingen voor verschillende locaties zijn gaat de cursus door op onze hoofdlocatie is Houten net onder Utrecht. Een cursus op onze hoofdlocatie gaat ook door bij 2 inschrijvingen en regelmatig ook bij 1 inschrijving. Overigens doen we ook cursussen op de locatie van de klant als men daar prijs op stelt.
Na afloop van iedere cursus worden de deelnemers verzocht de cursus te evalueren ten aanzien van cursusinhoud, cursusmateriaal, trainer en locatie. Het evaluatie formulier staat op https://www.klantenvertellen.nl/reviews/1039545/spiraltrain. De evaluaties van voorgaande deelnemers en voorgaande cursussen kunnen daar ook worden teruggevonden.
De intellectuele eigendomsrechten van de gepubliceerde cursus inhoud, ook wel aangeduid als infosheet, behoren toe aan SpiralTrain. Het is niet toegestaan de cursusinformatie, de infosheet, te publiceren in schiftelijke dan wel digitale vorm zonder de uitdrukkelijke toestemming van SpiralTrain. Onder de cursus inhoud dient te worden verstaan de beschrijving van de cursus inhoud in zinnen alsmede de indeling van de cursus in modules en onderwerpen in de modules.