Solutions for Stanford's CS106A Programming Methodology