Improving students' understanding of basic programming concepts through visual programming language: The role of self-efficacy

Abstract This study implemented an intervention using a visual programming language (VPL) to improve students' understanding of basic programming concepts. The VPL learning environment may reduce the difficulties in programming language learning and is suitable for teaching students who are not computer science majors. Meanwhile, the difference in learning performance of students with different levels of self-efficacy was explored. The basic programming concepts included sequence, condition, and loop. A quasi-experimental design was employed in this study. The participants consisted of 180 students taking general courses at a university in southern Taiwan. Instruments included the Test of Basic Programming Concept and a self-efficacy questionnaire. The results indicated that the VPL teaching improved learners' understanding of basic programming concepts in the experimental group. The effect on basic programming concepts was especially large in students with moderate and low self-efficacy. The implication is that the VPL has extensive potential for programming courses in the general education of universities.

[1]  Subashan Perera,et al.  Rasch analysis of a new stroke-specific outcome scale: the Stroke Impact Scale. , 2003, Archives of physical medicine and rehabilitation.

[2]  Po-Yao Chao,et al.  Exploring students' computational practice, design and performance of problem-solving through a visual programming environment , 2016, Comput. Educ..

[3]  Lauri Malmi,et al.  Observations on student misconceptions—A case study of the Build – Heap Algorithm , 2006, Comput. Sci. Educ..

[4]  Pedro Gomes,et al.  Reprint of 'First exposure to Arduino through peer-coaching: Impact on students' attitudes towards programming' , 2018, Comput. Hum. Behav..

[5]  Maria Kordaki,et al.  A drawing and multi-representational computer environment for beginners' learning of programming using C: Design and pilot formative evaluation , 2010, Comput. Educ..

[6]  Johan van Braak,et al.  Accuracy and bias of ICT self-efficacy: An empirical study into students' over- and underestimation of their ICT competences , 2017, Comput. Hum. Behav..

[7]  A. Bandura Social Foundations of Thought and Action , 1986 .

[8]  Sze Yee Lye,et al.  Review on teaching and learning of computational thinking through programming: What is next for K-12? , 2014, Comput. Hum. Behav..

[9]  R. Marx,et al.  Design‐based science and student learning , 2004 .

[10]  Erman Yükseltürk,et al.  An investigation of the effects of programming with Scratch on the preservice IT teachers' self-efficacy perceptions and attitudes towards computer programming , 2017, Br. J. Educ. Technol..

[11]  Judith Good,et al.  Programming language, natural language? Supporting the diverse computational activities of novice programmers , 2017, J. Vis. Lang. Comput..

[12]  Ronny Scherer,et al.  The role of ICT self-efficacy for students' ICT use and their achievement in a computer and information literacy test , 2016, Comput. Educ..

[13]  Chin-Chung Tsai,et al.  An exploration of the relationship between Internet self-efficacy and sources of Internet self-efficacy among Taiwanese university students , 2015, Comput. Hum. Behav..

[14]  Filiz Kalelioglu,et al.  A new way of teaching programming skills to K-12 students: Code.org , 2015, Comput. Hum. Behav..

[15]  Erica de Vries,et al.  Students' construction of external representations in design-based learning situations , 2006 .

[16]  D. Ketelhut The Impact of Student Self-efficacy on Scientific Inquiry Skills: An Exploratory Investigation in River City, a Multi-user Virtual Environment , 2007 .

[17]  Esteban Vázquez-Cano,et al.  Visual programming languages integrated across the curriculum in elementary school: A two year case study using "Scratch" in five schools , 2016, Comput. Educ..

[18]  David Fortus,et al.  Design‐based science and real‐world problem‐solving , 2005 .

[19]  John Maloney,et al.  The Scratch Programming Language and Environment , 2010, TOCE.

[20]  Susan Wiedenbeck,et al.  Self-efficacy and mental models in learning to program , 2004, ITiCSE '04.

[21]  C.-H. Lin,et al.  Investigating the learning-theory foundations of game-based learning: a meta-analysis , 2012, J. Comput. Assist. Learn..

[22]  Victor C. S. Lee,et al.  Learning motivation in e-learning facilitated computer programming courses , 2010, Comput. Educ..

[23]  Georg Rasch,et al.  Probabilistic Models for Some Intelligence and Attainment Tests , 1981, The SAGE Encyclopedia of Research Design.

[24]  Michael Kölling,et al.  Reflections on the Teaching of Programming, Methods and Implementations , 2008, Reflections on the Teaching of Programming.

[25]  P. Garaizar,et al.  Using Scratch to foster creativity behind bars: Two positive experiences in jail , 2016 .

[26]  Fengfeng Ke,et al.  An implementation of design-based learning through creating educational computer games: A case study on mathematics learning during design and computing , 2014, Comput. Educ..

[27]  Shuchi Grover,et al.  Computational Thinking in K–12 , 2013 .

[28]  David Ginat On Novice Loop Boundaries and Range Conceptions , 2004, Comput. Sci. Educ..

[29]  Judy Robertson,et al.  Computer game design: Opportunities for successful learning , 2008, Comput. Educ..

[30]  Jacob Cohen Statistical Power Analysis for the Behavioral Sciences , 1969, The SAGE Encyclopedia of Research Design.

[31]  Soufiane Lahmine,et al.  Learning Basic Programming Concepts by Creating Games with Scratch Programming Environment , 2015 .

[32]  Maria José Marcelino,et al.  Learning Computational Thinking and scratch at distance , 2018, Comput. Hum. Behav..

[33]  A. Narayan,et al.  Relationships among individual task self-efficacy, self-regulated learning strategy use and academic performance in a computer-supported collaborative learning environment , 2016 .

[34]  Corrine Glesne,et al.  Becoming Qualitative Researchers: An Introduction , 1991 .

[35]  T. L. Kelley The selection of upper and lower groups for the validation of test items. , 1939 .

[36]  Kirsti Ala-Mutka,et al.  A study of the difficulties of novice programmers , 2005, ITiCSE '05.

[37]  Ashok R. Basawapatna,et al.  Alexander Meets Michotte: A Simulation Tool Based on Pattern Programming and Phenomenology , 2016, J. Educ. Technol. Soc..

[38]  Guanhua Chen,et al.  Assessing elementary students' computational thinking in everyday reasoning and robotics programming , 2017, Comput. Educ..

[39]  P. Pintrich,et al.  Motivational and self-regulated learning components of classroom academic performance. , 1990 .

[40]  Jyh-Chong Liang,et al.  Self-efficacy in Internet-based Learning Environments: A Literature Review , 2011, J. Educ. Technol. Soc..

[41]  Osman Erol,et al.  The effects of teaching programming with scratch on pre-service information technology teachers' motivation and achievement , 2017, Comput. Hum. Behav..