Attributes Contributing to Students' Use of Quality Software Development Practices
DOI:
https://doi.org/10.23962/10539/20329Keywords:
problem solving, software development process, quality appraisal techniques, personal software process, undergraduate educationAbstract
In 2001 the "McCracken group", through a multi-institutional study, concluded that many students finishing their introductory programming courses could not program due to a lack of problem solving skills. In 2004 Lister established that students have a fragile grasp of skills to read and interpret code. Humphrey suggests that educators must shift their focus from the programs that the students create to the data of the processes the students use. This paper addresses the problem of poor performing students through an investigation of their quality appraisal techniques (QATs) and development processes. Firstly, a survey was conducted to determine the current software development practices used by a group of undergraduate Computer Science students. Numeric data collected revealed that the current practices used by the majority of students would not be sufficient to produce quality programs. Secondly, a case study was conducted to gain a deeper understanding of the various factors that are likely to influence students’ intention to use QATs. Analysis of numeric data collected through a survey revealed that students' intentions to use QATs are driven by ease of use, compatibility, usefulness, result demonstrability, subjective norm and career consequences. Thirdly, an experiment was conducted to determine students' perceptions on the use of process measurement data to improve their current software development practices. Analysis of numeric and narrative data revealed that performance measurement data could provide students with useful information to adopt proper development practices.
References
Agarwal, R. & Prasad, J. (2000). A field study of the adoption of software process innovations by information systems professionals. IEEE Transactions on Engineering Management, 47(3), 295-308.
https://doi.org/10.1109/17.865899
Ajzen, I. (1985). From intentions to action: A theory of planned behavior. In J. Kuhl and J. Beckmann (Eds), Action control: From cognition to behavior (pp.11-39). New York, NY, Springer Verlag. https://doi.org/10.1007/978-3-642-69746-3_2
Börsteler, J., Carrington, D., Hislop, G.W., Lisack, S., Olson, K. & Williams, L. (2002). Teaching PSP: Challenges and lessons learned. IEEE Software, 19(5), 42-48. https://doi.org/10.1109/MS.2002.1032853
Chan, F. K. Y. & Thong, J. Y. L. (2009). Acceptance of agile methodologies: A critical review and conceptual framework. Decision Support Systems, 46, 803-814. https://doi.org/10.1016/j.dss.2008.11.009
Crosby, P. B. (1979). Quality is free. New York, NY, McGraw-Hill.Davis, F. (1989). Perceived usefulness, perceived ease of use, and user acceptance of information technology. MIS Quarterly, 13(3), 318-339.
https://doi.org/10.2307/249008
Fagan, M.E. (1976). Design and code inspections to reduce errors in program development. IBM Systems Journal, 15(3), 182-211. https://doi.org/10.1147/sj.153.0182
Feiner, J. & Krajnc, E. (2009). Copy & paste education: Solving programming problems with web code snippets. Proceedings of the Interactive Computer Aided Learning (ICL 2009) conference (pp. 81-88).
Humphrey, W. S. (1994). Process feedback and learning. Proceedings of the 9th International Software Process Workshop (pp. 104-106). https://doi.org/10.1109/ISPW.1994.512776
Humphrey, W.S. (1999). Why don't they practice what we preach? The personal software process (PSP). Annals of Software Engineering, 6(1-4), 201-222. https://doi.org/10.1023/A:1018997029222
Humphrey, W. S. (2005). PSP: A self-improvement process for software engineers. Upper Saddle River, NJ, Pearson Education Inc.
Jenkins, G.L. & Ademoye, O. (2012). Can individual code reviews improve solo programming on an introductory course? Innovations in Teaching and Learning in Information and Computer Sciences (ITALICS), 11(1), 71-79. https://doi.org/10.11120/ital.2012.11010071
Lister, R., Adams, E. S., Fitzgerald, S., Fone, W., Hamer, J., Lindholm, M., McCartney, R., Moström, J. E., Sanders, K. Seppälä, O., Simon, B. & Thomas, L. (2004). A multi-national study of reading and tracing skills in novice programmers. In Working Group reports from ITiCSE on innovation and technology in computer science education (ITiCSE-WGR '04) (pp. 119-150). New York, NY, ACM. https://doi.org/10.1145/1044550.1041673
Iivari, J. (1996). Why are CASE tools not used? Communications of the ACM, 39(10), 94-103. https://doi.org/10.1145/236156.236183
McAlpin, J. & Liu, J. B. (1995). Experiencing disciplined software engineering at the personal level. Proceedings of the IEEE Pacific Rim Conference on Communications, Computers, and Signal Processing (pp. 124-127). https://doi.org/10.1109/PACRIM.1995.519424
McCracken, M., Almstrum, V., Diaz, D., Guzdial, M., Hagan, D., Kolikant, Y. B., Laxer, C., Thomas, L., Utting, I. & Wilusz, T. 2001. A multi-national, multi-institutional study of assessment of programming skills of first-year CS students. In Working Group reports from ITiCSE on innovation and technology in computer science education (ITiCSE-WGR '01) (pp. 125-180). New York, NY, ACM. https://doi.org/10.1145/572133.572137
Moore, G. & Benbasat, I. (1991). Development of an instrument to measure the perceptions of adopting an Information Technology innovation. Information Systems Research, 2(3), 192-222.
https://doi.org/10.1287/isre.2.3.192
Perkins, D. N., Hancock, C., Hobbs, R., Martin, F. & Simmons, R. (1989). Conditions of learning in novice programmers. Journal of Educational Computing Research, 2(1), 37-55.
https://doi.org/10.2190/GUJT-JCBJ-Q6QU-Q9PL
Plowright, D. (2011). Using mixed methods: Frameworks for an integrated methodology. London, UK, SAGE Publications (Kindle edition). https://doi.org/10.4135/9781526485090
Prechelt, L. & Unger, B. (2000). An experiment measuring the effects of personal software process (PSP) training. IEEE Transactions on Software Engineering, 27(5), 465-472. https://doi.org/10.1109/32.922716
Riemenschneider, C. K., Hardgrave, B. C. & Davis, F. D. (2002). Explaining software developer acceptance of methodologies: A comparison of five theoretical models. IEEE Transactions on Software Engineering, 28(12), 1135-1145. https://doi.org/10.1109/TSE.2002.1158287
Runeson, P. (2001). Experiences from teaching PSP for freshmen. Proceedings of the 14th Conference on Software Engineering Education and Training, IEEE (pp. 98-107). https://doi.org/10.1109/CSEE.2001.913826
Schach, S. R. (2011). Object-oriented and classical software engineering (8th ed.). Singapore, McGraw-Hill.
Thompson, R., Higgins, C. & Howell, J. (1991). Personal computing: Toward a conceptual model of utilization. MIS Quarterly, 15(1), 125-143. https://doi.org/10.2307/249443
Towhidnejad, M. & Salimi, A. (1996). Incorporating a disciplined software development process in to introductory computer science programming courses: Initial results. Proceedings of the 26th Annual Frontiers in Education Conference (FIE '96), Vol. 2. (pp. 497-500). https://doi.org/10.1109/FIE.1996.572893
Venkatesh, V. & Davis, F. (2000). A theoretical extension of the technology acceptance model: Four longitudinal field studies. Management Science, 46(2), 186-204. https://doi.org/10.1287/mnsc.46.2.186.11926
Williams, L.A. (1997). Adjusting the instruction of the personal software process to improve student participation. Proceedings of the 27th Annual Frontiers in Education Conference (FIE '97), Vol. 1. Teaching and Learning in an Era of Change (pp. 154-156). https://doi.org/10.1109/FIE.1997.644830
Downloads
Published
Issue
Section
License
Copyright (c) 2015 https://creativecommons.org/licenses/by/4.0

This work is licensed under a Creative Commons Attribution 4.0 International License.
How to Cite
- Abstract 261
- pdf 104
.png)