fbpx
  • nl
  • en

Cursus Functioneel Programmeren

Cursus Functioneel Programmeren
Regio:
  • Modules
  • Cursus
  • Inhoud
  • Algemene informatie
    Algemeen
  • Reviews
  • Module 1 : Intro Functional Programming

    Module 2 : Functions and Style

    Module 3 : Map and Reduce

    What is Functional Programming?
    Paradigm Origins
    Lambda Calculus
    Absence of side effects
    Immutable Data and Keeping State
    Maintenance Benefits
    Functional Languages
    Erlang an Clojure
    Haskell and JavaScript
    Support in Python and Java
    Functional Style
    Imperative Programming
    Declarative Programming
    First Class Functions
    Functions as Parameters
    Functions as Return Values
    Pure Functions
    Anonymous Functions
    Higher Order Functions
    Recursion
    Replace Iteration
    Map Parameters
    Function and Collection
    Anonymous Functions
    Lambda's
    Reduce to Single Value
    Reduce Parameters
    Benefits Map and Reduce
    Filter and Find Function
    All and Any Function

    Module 4 : Pipelines

    Module 5 : Other Functional Concepts

    Combining Functions
    Parallelism
    Composition
    Efficiency Issues
    Referential Transparency
    Tail Call Optimization
    Currying
    Lazy Evaluation
    Determinism
    Generators and Iterators
    Fold Expressions
    Memoization
    Monads
    Strict Evaluation
    Type Systems
    Non-strict Evaluation
    Evil of Shared State
    Thread Safeness
  • Doelgroep Cursus Functioneel Programmeren

    Cursus Functioneel ProgrammerenDe cursus Functioneel programmeren is bedoeld voor personen die de principes van functioneel programmeren willen leren en die deze kennis in talen met functionele aspecten willen toepassen.

    Voorkennis Cursus Functioneel Programmeren

    Om deel te nemen aan deze cursus dient men te beschikken over basis programmeer vaardigheden en is ervaring met software ontwikkeling vereist.

    Uitvoering Training Functioneel Programmeren

    De theorie wordt besproken aan de hand van presentaties. Demo's worden gebruikt om de concepten te verduidelijken. Voorbeelden in verschillende talen worden gebruikt om de concepten te illustreren. De theorie wordt afgewisseld met oefeningen.

    Certificering Cursus Functioneel Programmeren

    De deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaat Functioneel Programmeren.

  • cursus Functioneel Programmeren

    In de cursus Functioneel Programmeren worden de basisprincipes van functioneel programmeren besproken en geïllustreerd met voorbeelden. In het functioneel programmeer paradigma wordt een programma opgebouwd uit functies die operaties uitvoeren op de argumenten. Programmeertalen die in zijn geheel op dit paradigma zijn gebaseerd zijn Erlang, F♯, Haskell, Lisp en ML. Moderne talen zoals Java, Python, Scala en JavaScript zijn uitgerust met functionele kenmerken maar zijn er niet geheel op gebaseerd. In puur functionele programmeertalen kunnen functies geen neveneffecten veroorzaken. Dit zijn effecten die invloed hebben op meer dan het resultaat van de functie, zoals het veranderen van een globale variabele. Variabelen die dienen als accumulator, counter of controle variabele horen niet thuis in een functionele taal. In de cursus wordt ingegaan op de achtergronden van functioneel programmeren in lambda calculus. Voorts wordt aandacht besteed aan kenmerkende functionele begrippen zoals immutable data, clojures en map en reduce algorithmes. Ook komen de diverse soorten functies zoals first class functies, higher order functies en lambda functies aan de orde. Tenslotte staan de bespreking van begrippen als Generators en Iterators, Fold Expressions, Memoization en Monads op het programma.

  • Cursusvorm

    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.

    Maatwerk

    We doen ook maatwerk  en passen dan de cursusinhoud aan op uw wensen. Op verzoek gaan we ook in op uw praktijkcases.

    Cursustijden

    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.

    Hardware

    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.

    Software

    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.

    Lunch

    De cursus is inclusief lunch die we in een restaurantje op loopafstand van het cursuslokaal gebruiken.

    Locaties

    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.