Document Type
Article
Abstract
Aim/Purpose The teaching of appropriate problem-solving techniques to novice learners in undergraduate software development education is often poorly defined when compared to the delivery of programming techniques. Given the global need for qualified designers of information technology, the purpose of this research is to produce a foundational template for an educational software development methodology grounded in the established literature. This template can be used by third-level educators and researchers to develop robust educational method-ologies to cultivate structured problem solving and software development habits in their students while systematically teaching the intricacies of software crea-tion. Background While software development methodologies are a standard approach to struc-tured and traceable problem solving in commercial software development, edu-cational methodologies for inexperienced learners remain a neglected area of re-search due to their assumption of prior programming knowledge. This research Template for an Educational Software Development Methodology 2 aims to address this deficit by conducting an integrative review to produce a template for such a methodology. Methodology An integrative review was conducted on the key components of Teaching Software Development Education, Problem Solving, Threshold Concepts, and Computational Think-ing. Systematic reviews were conducted on Computational Thinking and Software Development Education by employing the Preferred Reporting Items for System-atic Reviews and Meta-Analyses (PRISMA) process. Narrative reviews were conducted on Problem Solving and Threshold Concepts. Contribution This research provides a comprehensive analysis of problem solving, software development education, computational thinking, and threshold concepts in computing in the context of undergraduate software development education. It also synthesizes review findings from these four areas and combines them to form a research-based foundational template methodology for use by educators and researchers interested in software development undergraduate education. Findings This review identifies seven skills and four concepts required by novice learners. The skills include the ability to perform abstraction, data representation, decomposition, evaluation, mental modeling, pattern recognition, and writing algorithms. The concepts in-clude state and sequential flow, non-sequential flow control, modularity, and object interac-tion. The teaching of these skills and concepts is combined into a spiral learning framework and is joined by four development stages to guide software problem solving: understanding the problem, breaking into tasks, designing, coding, test-ing, and integrating, and final evaluation and reflection. This produces the principal finding, which is a research-based foundational template for educational soft-ware development methodologies. Recommendations for Practitioners Focusing introductory undergraduate computing courses on a programming syl-labus without giving adequate support to problem solving may hinder students in their attainment of development skills. Therefore, providing a structured methodology is necessary as it equips students with essential problem-solving skills and ensures they develop good development practices from the start, which is crucial to ensuring undergraduate success in their studies and beyond. Recommendations for Researchers The creation of educational software development methodologies with tool support is an under-researched area in undergraduate education. The template produced by this research can serve as a foundational conceptual model for re-searchers to create concrete tools to better support computing undergraduates. Impact on Society Improving the educational value and experience of software development un-dergraduates is crucial for society once they graduate. They drive innovation and economic growth by creating new technologies, improving efficiency in various industries, and solving complex problems. Future Research Future research should concentrate on using the template produced by this re-search to create a concrete educational methodology adapted to suit a specific programming paradigm, with an associated learning tool that can be used with first-year computing undergraduates.
DOI
10.28945/5374
Recommended Citation
Higgins, C., O'Leary, C., McAvinia, C., & Ryan, B. J. (2024). Generating a Template for an Educational Software Development Methodology for Novice Computing Undergraduates: An Integrative Review. Journal of Information Technology Education: Innovations in Practice, 23, Article 12. https://doi.org/10.28945/5374
Creative Commons License

This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License
Publication Details
https://doi.org/10.28945/5374