Doing the reading and exercises from Learn to Program by Chris Pine