An empirical study of novice program comprehension in the imperative and object-oriented styles | Synapse