Programming assignments for Design and Analysis of Algorithms in Scala