Problem Sets and Final Project for edx/Harvard's CS50: Intro to Computer Science