F1-FY4-4 - Evaluating the Resources used for Teaching Computer Programming

3. Research Full Paper
Kashif Amanullah1 , Tim Bell1
1 University of Canterbury

This full paper in the Research category presents an evaluation of teaching resources for primary school computer programming. The recent drive for induction of computational thinking concepts into primary and high school curriculums has led to a challenge; what teaching resources and material are the most effective to use to teach these concepts? A suitable pedagogy for teaching at early school level is still highly desirable and sought after, as even after many years people are still experimenting with hit-and-miss approaches. An important element in teaching programming and helping students progress, and to avoid students being stuck using only relatively simple programming concepts despite building larger and larger programs, is the choice of teaching resources used to support students' learning. We propose using elementary programming patterns as a measure of how comprehensive a teaching resource for programming is. 

This research aims to provide some respite in the shape of evaluating resources for teaching programming. A list of elementary patterns (a set of basic programming elements) is used as a benchmark to evaluate the usefulness of the teaching materials, and a small sample of introductory programming books for Scratch and Python are tested against this set of patterns. The selection of books for evaluation is based on recommendations, popularity, and citations. To help fully understand the utility of patterns and how they can assist in teaching programming, a list of problems using each pattern is provided. This list is built using reverse engineering processes on the real life Scratch projects available on the Scratch website.

This study will reveal the type of patterns used by introductory books that we will analyze, which will help us to establish a list of resources which are using good programming practices. There is a lack of good materials aiming to teach good programming skills, and books and other resources rated on the basis of patterns aim to fill that gap as books using patterns (implicitly or explicitly) tend to cover more examples which promote problem solving skills; an essential part of learning programming. Hence, the main contribution of this research is to provide a list of good teaching resources and set of problems using elementary patterns. Teaching resources play a key role in the overall teaching process and this has the potential of huge improvements in outcomes in primary school teaching.