All assingments for coursera Martin Odersky functional programming principles in scala course