Haskell Programmeren
Lesgeld
Introductie cursus Haskell Programmeren
De cursus Haskell Programmeren begint 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. Deze basisprincipes zijn essentieel voor iedereen die met Haskell aan de slag wil.
Data Types en Operators
Vervolgens wordt aandacht besteed aan de data types en
Introductie cursus Haskell Programmeren
De cursus Haskell Programmeren begint 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. Deze basisprincipes zijn essentieel voor iedereen die met Haskell aan de slag wil.
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. Daarnaast wordt de behandeling van exceptions en het benaderen van het file systeem besproken, wat belangrijk is voor het effectief gebruik van Haskell.
Functies in Haskell Programmeren
Ook onderdeel van het programma van de cursus zijn de definitie en declaratie van functies in Haskell. Dit omvat argument lists, pattern matching en guards. Tevens worden recursieve functies, higher order functies en lambda expressies behandeld, die cruciaal zijn voor de functionele programmeerstijl van Haskell.
Modules en Packages
Vervolgens passeren de diverse Haskell modules zoals de Prelude, List, Char, Set en Map module de revue. Er wordt besproken hoe user defined modules en packages worden gemaakt. Hierbij komen ook qualified imports en de global namespace ter sprake, wat de modulariteit van Haskell benadrukt.
Haskell Containers
Tenslotte wordt aandacht besteed aan Haskell containers zoals classes, objects, Trees, Binary Trees, Functors en Foldables. Ook wordt ingegaan op het kenmerkende functionele programmeerconcept van monads, wat essentieel is voor gevorderde Haskell-programmeurs.
Voor meer informatie over Haskell en de laatste ontwikkelingen kun je de officiële Haskell website bezoeken. Daarnaast kan de cursus C Programmeren ook interessant voor je zijn.
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