For a two-semester introductory level course in data structures and programming. Based on the firm conviction that a first course in data structures must go hand in hand with a second course in programming, this text introduces abstract concepts, shows ho