Towards Enhancing Programming Self-Efficacy Perceptions among Undergraduate Information Systems Students
Currently, Information Systems (IS) departments in business schools are moving towards integrating learning to program or code in their undergraduate core courses. Many factors affecting IS student success in learning to program have been identified, but there is still a dearth of knowledge about student perceptions on their own competence. The purpose of this study was to investigate factors that may affect the success of IS students in learning to program.
Students’ perceptions about the value and difficulties to learn programming can affect their skills acquisition. IS educators need to understand the student perception related to difficulties of learning to program in order to offer more effective support during their teaching process and interactions with students. To address this need, this study examines two critical elements to improve teaching IS programming courses: (a) Programming Self-Efficacy—students’ beliefs on their own programming competence, combined with (b) levels of programming skills which IS students initially thought to learn for their future profession.
This study uses quantitative data drawn from undergraduate students in a Computer Information Systems classes at Colorado State University in U.S.A. and supported by qualitative data.
Quantitative data measures the correlation between students’ programming self-efficacy, their perceived value of programming, their own practice time, and the frequency of teaching assistant (TA) consultations. The qualitative data was utilized to understand students’ thoughts of the programming skills they need in their future profession that may influence their programming self-efficacy during the learning process. The importance of this study lies in the potential that the findings of this study are critical to investigate the most influential factors that are likely to be a vehicle through which educators can either improve self-efficacy of their students and/or understand it more fully. Furthermore, these findings may influence pedagogical practices for teaching programming languages in higher education contexts more successfully. For instance, applying a contextual learning approach may assist in identifying the most effective approach to teach programming courses, and in turn, will lead to increased learning outcomes as encountered and narrated by IS students.
The correlation analysis indicated a significant positive correlation between IS students’ programming self-efficacy and their perceived value of learning programming. However, the practice time and frequency of TA consultations had no significant relationship with programming self-efficacy. In addition, the qualitative data revealed a clear placement of IS students’ vision of their future coding level into five categorical programming skills: novice, communicator, end-user, and professional, with a new category of “competent” emerging.
The study suggests that IS Educators need to embed interventions for increasing IS students’ perceived value of learning programming and practice time. It is also very effective to associate the class activities with real life projects. Furthermore, we suggest to educators to apply the contextual learning approach that would support higher levels of value for programming and programming self-efficacy among IS students. Also, coordination between educators and employers can aid in developing effective programming classes, improving IS students’ job marketability.
Investigating other factors that potentially contribute to IS students’ programming self-efficacy, such as previous computer programming and math exposure, motivation, and economic status.
Realizing the importance of the programming self-efficacy could help IS educators to teach effective and efficient programming courses that ultimately result in students learning programming with high acquisition and less distress. Highlighting the importance of linking what the market needs with the course content would increase students’ programming self-efficacy and their chances of obtaining jobs.
An interactive programming tool is a suggested supplement for IS educators to increase student enthusiasm about practice time that would support students work on their own and enjoy the class, and educators would be capable to accurately track and assess students’ participations.