Solutions to stanford cs106A course