exercises for the coursera reactive programming course