Authoring and Sharing of Programming Exercises