Opportunities for Competency-Based Learning in Software Development Courses
Open Access
- Author:
- Delane, Ryan
- Graduate Program:
- Informatics
- Degree:
- Doctor of Philosophy
- Document Type:
- Dissertation
- Date of Defense:
- February 21, 2023
- Committee Members:
- Benjamin Hanrahan, Major Field Member
Steven Haynes, Chair & Dissertation Advisor
Heather Zimmerman, Outside Unit & Field Member
Mary Beth Rosson, Major Field Member
Jeffrey Bardzell, Program Head/Chair - Keywords:
- Computing Education
Competency-based Education
CBE
Software Development Education
Social Constructivism - Abstract:
- Many students in the programming discipline struggle to transition to the rapidly evolving professional world. This is because some students graduate from programs that leave them ill-equipped to enter the workplace and provide fundamental misconceptions about how professional software development is carried out (Valstar et al., 2020; Begel, A., & Simon, B., 2008). The difficulty they experience represents a clear gap in the competencies anticipated by employers and those held by new graduates. This dissertation discusses a potential method to address this competency gap through methodological change toward more personalized student treatment. Lev Vygotsky (1978) stressed the importance of focusing the design of the learning process on the learner in order to maximize its effectiveness. This work uses competency-based education to achieve learner-centered personalized education while discussing its potential to help address the “competency gap” present in new graduates. It does so by integrating competency-based education into an intermediate-level undergraduate web programming course. Mid and post-semester scenario-based reflection assignments were used to evaluate the impact on students of the competency-based approach. The resulting scenarios, competency modeling artifacts, and insights provide valuable information for practitioners on implementing competency-based education in college programming courses to offer students a more effective education while addressing the competency gap in the programming discipline. In this dissertation, a framework for developing competency models for software development courses is developed and applied to a university-level software development course over two semesters. The competency model is integrated into the course through a series of milestone activities and assessments. Students participate in written reflective exercises at two points during each semester, and a one-on-one guided interview session to gather feedback on the approach. A second study is conducted in which a series of guided interviews are carried out with professional software developers to gather feedback on the competency model used during this time. The data from student reflection exercises was analyzed using qualitative methods from grounded theory to determine the impact of this approach on students. Analysis of this data reveals how CBE improves students' experiences in the classroom, including an increase in their confidence and satisfaction. Interviews with software development professionals are analyzed using the same methods to evaluate the effectiveness of the proposed competency model development framework and the resulting competency model. Results from this analysis suggest that the methods of CBE can help give students the skills they need to succeed in their futures while bolstering their satisfaction in their own education. Finally, this dissertation concludes with a discussion of how its methods and interventions impacted students and a set of recommendations for instructors and learning designers on how to improve students' classroom and post-graduation experiences today and tomorrow.