A task-based program comprehension framework for novices / Amal Abdulghany Qassem Al-Shargabi

Novices face much difficulty in comprehending even small computer programs. A framework is needed to help novices' attain sufficient program comprehension skills. To develop such framework, this research re-examines the three main factors that influence the novices' program comprehension;...

Full description

Saved in:
Bibliographic Details
Main Author: Al-Shargabi, Amal Abdulghany Qassem
Format: Thesis
Language:English
Published: 2016
Subjects:
Online Access:https://ir.uitm.edu.my/id/eprint/38824/1/38824.pdf
Tags: Add Tag
No Tags, Be the first to tag this record!
id my-uitm-ir.38824
record_format uketd_dc
spelling my-uitm-ir.388242021-08-23T07:31:55Z A task-based program comprehension framework for novices / Amal Abdulghany Qassem Al-Shargabi 2016-09 Al-Shargabi, Amal Abdulghany Qassem Electronic Computers. Computer Science Programming. Rule-based programming. Backtrack programming Computer simulation Novices face much difficulty in comprehending even small computer programs. A framework is needed to help novices' attain sufficient program comprehension skills. To develop such framework, this research re-examines the three main factors that influence the novices' program comprehension; the programmer, the program code, and the task. Most studies so far focused on the first two especially programmer, with tasks traditionally applied only as a measure for program comprehension. Very few studies have inverted this supplementary role of task and instead examined the task factor itself. There is a research gap on the effects of tasks on novices' program comprehension. Moreover, current program comprehension mental models (PCMMs) have been mostly constructed for expert programmers, which do not match the novices' mental model. To solve these two problems, the research proposes a task based program comprehension framework for novices. Employing empirical software engineering research design approach, 1) fourteen effective programming tasks for novices have been identified, 2) a novices' PCMM has been constructed, and 3) the effects of the tasks on the PCMM have been investigated. Consequently, the tasks were classified according to the cognitive domain of Revised Bloom's Taxonomy. The tasks in each cognitive category were then ranked based on their effectiveness on novices' program comprehension using a survey of instructors. Subsequently, novices' PCMM with four core abstraction levels, i.e. Statement, Block, Module, and Program, and an extended level, i.e. Domain, was developed, and validated by experts. The effects of eight tasks on the novices' PCMM were investigated through an experiment involving 69 novices, and six tasks were validated through another experiment involving 178 novices in three universities. Both experiments also validated the ranking of these tasks on the novices' PCMM. The first experiment demonstrated that all the tested tasks were able to significantly improve novices' PCMM. The first and second ranked tasks were studied more closely, where the first ranked tasks consistently showed higher improvements than the second ranked tasks in each of the four tested Bloom's categories of Remember, Understand, Analyse, and Create. The second experiment demonstrated that different tasks improved the abstraction levels and the information categories differently. It also indicated that higher cognitive category tasks improve PCMM at higher abstraction levels. The general implication is that the framework can be an effective tool for computing educators to incorporate program comprehension in programming, and thus shift from merely teaching tracing and debugging tasks only. These tasks need to be introduced in stages in the teaching of programming, starting initially from the lower cognitive categories' tasks such as Recall and culminating at the higher cognitive categories' tasks such as Modification in possibly team project assessments. However, these tasks should be applied with taking the consideration of the novices' programming levels and the information categories need to be improved. The key contribution of this thesis is a new developed framework, which includes novices' PCMM, and a set of classified and ranked effective tasks that can improve novices' PCMM. 2016-09 Thesis https://ir.uitm.edu.my/id/eprint/38824/ https://ir.uitm.edu.my/id/eprint/38824/1/38824.pdf text en public phd doctoral Universiti Teknologi MARA Faculty of Computer and Mathematical Sciences Aljunid, Syed Ahmad ( Assoc. Prof. Dr. )
institution Universiti Teknologi MARA
collection UiTM Institutional Repository
language English
advisor Aljunid, Syed Ahmad ( Assoc. Prof. Dr. )
topic Electronic Computers
Computer Science
Electronic Computers
Computer Science
Computer simulation
spellingShingle Electronic Computers
Computer Science
Electronic Computers
Computer Science
Computer simulation
Al-Shargabi, Amal Abdulghany Qassem
A task-based program comprehension framework for novices / Amal Abdulghany Qassem Al-Shargabi
description Novices face much difficulty in comprehending even small computer programs. A framework is needed to help novices' attain sufficient program comprehension skills. To develop such framework, this research re-examines the three main factors that influence the novices' program comprehension; the programmer, the program code, and the task. Most studies so far focused on the first two especially programmer, with tasks traditionally applied only as a measure for program comprehension. Very few studies have inverted this supplementary role of task and instead examined the task factor itself. There is a research gap on the effects of tasks on novices' program comprehension. Moreover, current program comprehension mental models (PCMMs) have been mostly constructed for expert programmers, which do not match the novices' mental model. To solve these two problems, the research proposes a task based program comprehension framework for novices. Employing empirical software engineering research design approach, 1) fourteen effective programming tasks for novices have been identified, 2) a novices' PCMM has been constructed, and 3) the effects of the tasks on the PCMM have been investigated. Consequently, the tasks were classified according to the cognitive domain of Revised Bloom's Taxonomy. The tasks in each cognitive category were then ranked based on their effectiveness on novices' program comprehension using a survey of instructors. Subsequently, novices' PCMM with four core abstraction levels, i.e. Statement, Block, Module, and Program, and an extended level, i.e. Domain, was developed, and validated by experts. The effects of eight tasks on the novices' PCMM were investigated through an experiment involving 69 novices, and six tasks were validated through another experiment involving 178 novices in three universities. Both experiments also validated the ranking of these tasks on the novices' PCMM. The first experiment demonstrated that all the tested tasks were able to significantly improve novices' PCMM. The first and second ranked tasks were studied more closely, where the first ranked tasks consistently showed higher improvements than the second ranked tasks in each of the four tested Bloom's categories of Remember, Understand, Analyse, and Create. The second experiment demonstrated that different tasks improved the abstraction levels and the information categories differently. It also indicated that higher cognitive category tasks improve PCMM at higher abstraction levels. The general implication is that the framework can be an effective tool for computing educators to incorporate program comprehension in programming, and thus shift from merely teaching tracing and debugging tasks only. These tasks need to be introduced in stages in the teaching of programming, starting initially from the lower cognitive categories' tasks such as Recall and culminating at the higher cognitive categories' tasks such as Modification in possibly team project assessments. However, these tasks should be applied with taking the consideration of the novices' programming levels and the information categories need to be improved. The key contribution of this thesis is a new developed framework, which includes novices' PCMM, and a set of classified and ranked effective tasks that can improve novices' PCMM.
format Thesis
qualification_name Doctor of Philosophy (PhD.)
qualification_level Doctorate
author Al-Shargabi, Amal Abdulghany Qassem
author_facet Al-Shargabi, Amal Abdulghany Qassem
author_sort Al-Shargabi, Amal Abdulghany Qassem
title A task-based program comprehension framework for novices / Amal Abdulghany Qassem Al-Shargabi
title_short A task-based program comprehension framework for novices / Amal Abdulghany Qassem Al-Shargabi
title_full A task-based program comprehension framework for novices / Amal Abdulghany Qassem Al-Shargabi
title_fullStr A task-based program comprehension framework for novices / Amal Abdulghany Qassem Al-Shargabi
title_full_unstemmed A task-based program comprehension framework for novices / Amal Abdulghany Qassem Al-Shargabi
title_sort task-based program comprehension framework for novices / amal abdulghany qassem al-shargabi
granting_institution Universiti Teknologi MARA
granting_department Faculty of Computer and Mathematical Sciences
publishDate 2016
url https://ir.uitm.edu.my/id/eprint/38824/1/38824.pdf
_version_ 1783734485901115392