Do visualizations improve program comprehensibility? experiments with control structure diagrams for Java