Attributes contributing to the effective use of quality appraisal techniques by novice programmers

dc.contributor.advisorCronje, J. C.
dc.contributor.authorNel, Guillaume
dc.date.accessioned2020-12-15T05:31:05Z
dc.date.available2020-12-15T05:31:05Z
dc.date.issued2020-01
dc.description.abstractOver the past 40 years, numerous studies have been conducted to evaluate the programming performance of undergraduate Computer Science (CS) students (often referred to as ‘novice programmers’) and to identify possible reasons for the low quality of programs these novices developed. Humphrey (1999) proposes that CS educators must shift their focus from the students’ programs to the data of the processes the students use. Hilburn and Towhidnejad (2000) suggest that the quality of student programs could be improved if instructors taught their students “a software development process that emphasise quality techniques, methods, and analysis”. They also propose the Personal Software Process (PSP) as a good candidate to contribute towards the implementation of a curriculum that focuses on software quality. A number of CS researchers have reported on attempts to incorporate PSP principles and strategies in order to improve the quality of novice programmers’ software development practices. Based on numerous implementation and adoption challenges identified by these researchers - especially with regard to students’ use of quality appraisal techniques (i.e. designs, code reviews, design reviews and quality measures) - there have been various calls for further investigations into attributes that might influence students’ use of PSP principles and strategies. In response to these calls, the overall aim of this research study was to explore the attributes that could potentially influence novice programmers’ effective use of quality appraisal techniques in an educational context. In addressing the stated aim, this research study followed a mixed-method approach based on Plowright’s (2011) Framework of Integrated Methodologies (FraIM). This study was divided into three phases in order to distinguish between the three main sources of data (cases). Based on the emergent nature of the research design followed in this study, the data, evidence and conclusions of each research phase were used to make final decisions regarding the structure and focus of the next phase. In Phase 1, a survey approach was followed to evaluate the quality of the typical software development processes followed by novice programmers. By using the PSP quality improvement framework as an evaluation tool, the results of Phase 1 revealed that the novice programmers typically used a code-and-fix development strategy, their designs were almost non-existent, they mostly relied on testing to remove defects and they did not make use of measurements to gain insight into their development processes. In a follow-up investigation, an integrated experimental case study approach was followed in Phase 2 to form a better understanding of the differences between novice programmers’ perceived and actual development processes [including their use of quality appraisal techniques (QATs)] through the collection of both actual process measurement data and narrative data. The collected data was also used to identify nine attributes that could potentially influence novice programmer’s use of QATs: understanding of development phases, technical programming skills, accuracy of measurement data, ability to find and fix defects, design skills, design review and code review skills, value of process measurement data, motivation orientation, and achievement goal orientation. It was, however, concluded that to ensure effective use of QATs, programmers first need to make the decision to change their current software development processes. This issue was addressed in Phase 3 where a case study approach was followed to identify factors that could influence novice programmers’ intent to adopt QATs. It was revealed that novices’ intentions to adopt QATs are driven by six factors: ease of use, compatibility, usefulness, result demonstrability, subjective norm and career consequences. By combining the results of Phase 2 and Phase 3, this research study therefore identified 15 attributes that could potentially influence novice programmers’ effective use of QATs.en_ZA
dc.identifier.urihttp://hdl.handle.net/11660/10887
dc.language.isoenen_ZA
dc.publisherUniversity of the Free Stateen_ZA
dc.rights.holderUniversity of the Free Stateen_ZA
dc.subjectSoftware engineeringen_ZA
dc.subjectPersonal software processen_ZA
dc.subjectSoftware designen_ZA
dc.subjectCode reviewen_ZA
dc.subjectDesign reviewen_ZA
dc.subjectProcess measurementen_ZA
dc.subjectEarly defect removalen_ZA
dc.subjectDefect preventionen_ZA
dc.subjectNovice programmersen_ZA
dc.subjectComputer Science educationen_ZA
dc.subjectThesis (Ph.D. (Computer Science and Informatics))--University of the Free State, 2020en_ZA
dc.titleAttributes contributing to the effective use of quality appraisal techniques by novice programmersen_ZA
dc.typeThesisen_ZA
Files
Original bundle
Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
NelG.pdf
Size:
2.3 MB
Format:
Adobe Portable Document Format
Description:
License bundle
Now showing 1 - 1 of 1
No Thumbnail Available
Name:
license.txt
Size:
1.76 KB
Format:
Item-specific license agreed upon to submission
Description: