TEACHING PROGRAMMING IN ELEMENTARY SCHOOL – A CASE STUDY COMPARING PLAY-BASED LEARNING TO VISUAL PROGRAMMING
Programming is one of the most important skills in computer science curriculum. While programming education has traditionally started in high school or university level, the recent studies have shown that including programming into elementary school curriculum might have positive effects on students’ problem solving skills and logical thinking. Graphical and visual programming environments and languages are generally considered the best method for teaching programming to younger children. However, some other methodologies can be even more useful.
In this paper, we present a study where programming was introduced to 10-year old children in elementary school. The objective was to find out how the students can be familiarized with basic programming concepts (the sequential nature of programming, variables, conditional statements and loops). The study was conducted with two groups: the first group was taught the concepts with visual programming environment, while the second group practiced the same concepts with play-based learning, where one student at a time acted as a robot and the rest instructed the robot with simple commands to execute an algorithm.
Both groups started with a pre-test which measured their previous programming experience as well as attitudes towards- and knowledge about programming. This was followed by an introduction to programming utilizing either the play-based learning or visual programming environment. Finally, both groups answered to post-test. There were practically no differences in knowledge or attitudes in the pre-test, and none of the participants showed any previous programming skills. However, in the post-test, the play-based group outperformed the visual group statistically significantly. Hence, we can conclude that play-based learning might be a better method to first introduce the basic programming skills for younger children. Additionally, we show the differences in attitudes towards programming before and after the treatment, and between and over the groups.