Haskell Programmeren
Lesgeld
Haskell Intro
De cursus gaat van start met een introductie van de basis syntax van Haskell en de voornaamste karakteristieken van de taal zoals laziness in expression evaluation met een thunk data structure, static typing, modularity en het omgaan met multiple threads.
Data Types en Operators
Vervolgens wordt aandacht besteed aan de data types en operators van de taal. Hierbij komen ook data structures als lists, tuples en records aan de orde. En ook exceptions en het
Haskell Intro
De cursus gaat van start met een introductie van de basis syntax van Haskell en de voornaamste karakteristieken van de taal zoals laziness in expression evaluation met een thunk data structure, static typing, modularity en het omgaan met multiple threads.
Data Types en Operators
Vervolgens wordt aandacht besteed aan de data types en operators van de taal. Hierbij komen ook data structures als lists, tuples en records aan de orde. En ook exceptions en het benaderen van het file systeem wordt besproken.
Functies
Ook onderdeel van het programma van de cursus zijn de definitie en declaratie van functies in Haskell met argument lists, pattern matching en guards. Tevens worden dan recursieve functies, higher order functies en lambda expressies behandeld.
Modules
Vervolgens passeren de diverse Haskell modules zoals de Prelude, List, Char, Set en Map module de revue. En wordt besproken hoe user defined modules en packages worden gemaakt. Hierbij komen ook qualified imports en de global namespace ter sprake.
Haskell Containers
Tenslotte wordt aandacht besteed aan Haskell containers als classes, objects, Trees, Binary Trees, Functors en Foldables en wordt ingegaan op het kenmerkende functionele programmeer concept van monads.
Doelgroep Haskell Programmeren
De cursus Haskell Programmeren is bedoeld voor een ieder die wil leren programmeren in de functionele programmeer taal Haskell.
Voorkennis Cursus Haskell 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 Haskell 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 Haskell Programmeren
De deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaat Haskell Programmeren.
Modules
Module 1 : Haskell Intro
- What is Haskell?
- Functional Programming
- Evaluation Engine
- Expression Evaluation
- Haskells Laziness
- Thunk Data Structure
- Haskells Modularity
- Handling Multiple Threads
- Static Typing
- Installing Haskell
- Haskell Compiler
- Stack Installer
- Haskell Platform
Module 2 : Types and Operators
- Numbers and Characters
- Strings and Booleans
- Lists
- List Comprehensions
- Tuples
- Haskell Operators
- Sequence Operator
- Control Flow
- Exceptions
- Type Class
- Records
- Default Values Idiom
- Files and Streams
Module 3 : Functions
- Function Declaration
- Function Names
- Argument Lists
- Function Definition
- Pattern Matching
- Guards
- Where Clause
- Recursion
- Lambda Expressions
- Higher Order Functions
- Head and Tail
- Null and Init
- Reverse and Take
Module 4 : Modules
- Packages and Modules
- import Statement
- Prelude Module
- Global Namespace
- Qualified Imports
- List Module
- Char Module
- Map Module
- Set Module
- Custom Modules
- Smart Constructors
- Views
Module 5 : Containers
- Classes and Instances
- Maps
- Sets
- Trees
- Binary Trees
- Graphs
- Type Classes
- Built-in Type Classes
- Polymorphism
- Functors
- Foldables
- Lazy Evaluation
Module 6 : Monads
- Applicative Functors
- Monadic Rules
- Left Identity Law
- Right Identity Law
- Associativity
- Combinators for State
- Dissecting Combinators
- do Notation
- State and Lenses
- Monad Comprehensions
- Monoids
- Zippers