Key points are not available for this paper at this time.
Why is it that some software engineers and computer scientists are able to produce clear, elegant designs and programs, while others cannot? Is it possible to improve these skills through education and training? Critical to these questions is the notion of abstraction.
Jeff Kramer (Sun,) studied this question.