Solutions to Stanford CS106A course assignments