A set of goals and approaches for education in computer science