Computer Programming Through Games