Programming paradigms, information types and graphical representations : empirical investigations of novice program comprehension