functional-programming-course-assignments