progfun-2 Programming assignments implemented during passing "Functional Program Design in Scala" Coursera course