Abstract

First-year computer science (CS1) university students traditionally have difficulties understanding how to program. This paper describes research introducing CS1 students to programming concepts using a Scratch programming language guided visual execution environment (VEE). The concepts addressed are those from an introductory programming course (sequences, variables, operators, conditionals, loops, and events and parallelism). The VEE guides novice students through programming concepts, explaining and guiding interactive exercises executed in Scratch by using metaphors and serious games. The objective of this study is, firstly, to investigate if a cohort of 124 CS1 students, from three distinct groups, studying at the same university, are able to improve their programming skills guided by the VEE. Secondly, is the improvement different for various programming concepts? All the CS1 students were taught the module by the same tutor in four 2-h sessions (8 h), and a qualitative research approach was adopted. The results show students significantly improved their programming knowledge, and this improvement is significant for all the programming concepts, although greater for certain concepts such as operators, conditionals, and loops than others. It also shows that students lacked initial knowledge of events and parallelism, though most had used Scratch during their high school years. The sequence concept was the most popular concept known to them. A collateral finding in this study is how the students’ previous knowledge and learning gaps affected grades they required to access and begin study at the university level.

Highlights

  • Computer programming education is key to the acquisition of 21st-century skills such as creativity, critical thinking, problem solving, communication and collaboration, social–intercultural skills, productivity, leadership, and responsibility [1]

  • As this study follows the same trajectory for the learning of programming concepts, the results shown in the previous section are equivalent

  • The programming concepts with the best performance in relation to the pre- and post-test are the event and parallelism the results shown in the previous section are equivalent

Read more

Summary

Introduction

Computer programming education is key to the acquisition of 21st-century skills such as creativity, critical thinking, problem solving, communication and collaboration, social–intercultural skills, productivity, leadership, and responsibility [1]. Studies in many countries report using Scratch or games [2,3,4] That being so, it is still unclear the best order in which to introduce programming concepts to CS1 students. Papert argued that a child able to program a computer would be able to gain an actionable understanding of probabilistic behavior, as, through such activity, they would be connected with empowering knowledge about the way things work [12]. His view was that programming was a way to connect the programmer with cognitive science, in that programming enables one to articulate ideas explicitly and formally and to see whether the idea works or not. It was asserted that innovations in the methods of teaching and the use of teaching aids may improve students’ feeling of success [14] and may help them develop confidence, which correlates with the practices and theories of Piaget and Vygotsky and the adoption of constructivism in teaching [15,16,17,18,19]

Objectives
Methods
Results
Discussion
Conclusion
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call