A first course in computer science: the discipline is more than programming