My solutions to CS106a, the stanford open course: Programming Methodology