Contents:
Introduction to Functional Programming (Haskell):
- Syntax (Backus-Naur Form)
- primitive data types, lists, tuples, strings
-
- expressions, function definitions, recursion and iteration evaluation strategies of functional programs
- higher-order functions
- polymorphism
- type system and verification
- Algebraic and abstract data types
- input, output and Monads
- searching and sorting algorithms
Introduction of computability:
- Lambda calculus
- Primitive Recursion
- μ-Recursion
Proofs of program properties:
- Term Rewriting
- Structural induction
- Termination
Implementation and programming technique: