News

Functional Programming

Program: 
Computer Science
Program: 
Computer Science
ECTS: 
6
Type: 
Optional
Level: 
Elementary
Lecture
Number of hours: 
2h X 15 weeks = 30 hours (1 semester)
Laboratory
Number of hours: 
2h X 15 weeks = 30 hours (1 semester)
Objective: 

The main goal is to acquaint students with different programming paradigm and pointing out situations where it may be preferable.

Assessment: 

written examination

Prerequisites: 

It is recommended that candidates accomplish the course in Programming.

Contents: 

Functional style of programming is based on expression evaluation in opposition to imperative programming which explicitly uses program state modified by instructions. Students will be taught basic notions and techniques of functional programming using one of ML family programming languages (SML, Ocaml or Haskell). Topics covered include:

  • type systems with parametric polymorphism,
  • higher order functions,
  • tail recursion,
  • pattern matching,
  • signatures,
  • structures and functors,
  • evaluation strategies.