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
id 2-s2.0-85091939165
spelling 2-s2.0-85091939165
Shargabi A.A.; Aljunid S.A.; Annamalai M.; Zin A.M.
Performing tasks can improve program comprehension mental model of novice developers an empirical approach
2020
IEEE International Conference on Program Comprehension


10.1145/3387904.3389277
https://www.scopus.com/inward/record.uri?eid=2-s2.0-85091939165&doi=10.1145%2f3387904.3389277&partnerID=40&md5=10ba82388064a68a21903e1deefc61a5
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.
IEEE Computer Society

English
Conference paper

author Shargabi A.A.; Aljunid S.A.; Annamalai M.; Zin A.M.
spellingShingle Shargabi A.A.; Aljunid S.A.; Annamalai M.; Zin A.M.
Performing tasks can improve program comprehension mental model of novice developers an empirical approach
author_facet Shargabi A.A.; Aljunid S.A.; Annamalai M.; Zin A.M.
author_sort Shargabi A.A.; Aljunid S.A.; Annamalai M.; Zin A.M.
title Performing tasks can improve program comprehension mental model of novice developers an empirical approach
title_short Performing tasks can improve program comprehension mental model of novice developers an empirical approach
title_full Performing tasks can improve program comprehension mental model of novice developers an empirical approach
title_fullStr Performing tasks can improve program comprehension mental model of novice developers an empirical approach
title_full_unstemmed Performing tasks can improve program comprehension mental model of novice developers an empirical approach
title_sort Performing tasks can improve program comprehension mental model of novice developers an empirical approach
publishDate 2020
container_title IEEE International Conference on Program Comprehension
container_volume
container_issue
doi_str_mv 10.1145/3387904.3389277
url https://www.scopus.com/inward/record.uri?eid=2-s2.0-85091939165&doi=10.1145%2f3387904.3389277&partnerID=40&md5=10ba82388064a68a21903e1deefc61a5
description 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.
publisher IEEE Computer Society
issn
language English
format Conference paper
accesstype
record_format scopus
collection Scopus
_version_ 1809677897173041152