Performing tasks can improve program comprehension mental model of novice developers an empirical approach

Program comprehension is challenging for many novicedevelopers. Literature indicates that program comprehension isgreatly influenced by the specific purpose of reading a program,i.e., the task. However, the task has often been used in research asa measure for program comprehension. Our study takes a...

Full description

Bibliographic Details
Published in:IEEE International Conference on Program Comprehension
Main Author: Shargabi A.A.; Aljunid S.A.; Annamalai M.; Zin A.M.
Format: Conference paper
Language:English
Published: IEEE Computer Society 2020
Online Access:https://www.scopus.com/inward/record.uri?eid=2-s2.0-85091939165&doi=10.1145%2f3387904.3389277&partnerID=40&md5=10ba82388064a68a21903e1deefc61a5
Description
Summary:Program comprehension is challenging for many novicedevelopers. Literature indicates that program comprehension isgreatly influenced by the specific purpose of reading a program,i.e., the task. However, the task has often been used in research asa measure for program comprehension. Our study takes an inverseapproach to investigate the effect of using the task as a facilitatorto improve novice developers program comprehension. To measurethe effect, our previously published program comprehensionmental model of novice developers was utilized. In a sense, thestudy provides an empirical evaluation of our proposed model interms of its ability to capture the novice developer's mental modelproperly. The comprehensive experiment involved one hundredand seventy-eight (178) novice developers from three (3)universities and investigated the effect of six (6) tasks withdifficulties ranked according to the cognitive categories of RevisedBloom Taxonomy. The results of the experiment confirmed thatperforming the tasks can improve program comprehension ofnovice developers. It demonstrated that different tasks improveddifferent abstraction levels of the mental model and furtherindicated that higher cognitive category tasks improve programcomprehension mental model at higher abstraction levels. Theresults also showed that the mental model we have proposed earlieris able to capture what novice developers know in response to thetasks they perform. The general implication of the study is that thetasks can be an effective tool for computing educators toincorporate program comprehension in programming courses,whereby these tasks need to be introduced in stages in the teachingof programming; starting initially from the lower cognitivecategories' tasks such as Recall and culminating at the highercognitive categories' tasks such as Modification by first taking intoconsideration the novices' programming levels. © 2020 Copyright held by the owner/author(s). Publication rights licensed to ACM.
ISSN:
DOI:10.1145/3387904.3389277