The Design and Evaluation of an Animated Programming Environment