solutions to the coursera course "programming languages"