Selected projects from Dartmouth CS 50 (Software Design and Implementation), spring term 2014