This website uses cookies and similar technologies to understand visitors' experiences. By continuing to use this website, you accept our use of cookies and similar technologies,Terms of Use, and Privacy Policy.

Sep 29 2014 - 08:00 PM
The Importance Of Tinkering
article.title

Title: Using Learning Analytics to Understand the Learning Pathways of Novice Programmers (2013)

Authors: Matthew Berland, Taylor Martin, Tom Benton, Carmen Petrick Smith, & Don Davis

Source: Journal of the Learning Sciences

Research Questions: How do students’ programming activities change over time? What does this activity reveal about the tinkering processes? How do these changes relate to the quality of the programs students are writing?

Study Design: Learning to code has gained new momentum in recent years with the proliferation of innovative and easily accessible online resources. However, little is known about how novice programmers learn to program. The authors wanted to explore this topic and focused on one specific learning activity, tinkering, that has been theorized by scholars as a crucial activity for beginning programmers. It has historically been difficult to capture data on tinkering activities because they are, by definition, very subtle and incremental shifts in behavior that might not follow an established pattern. The authors relied on recent developments in educational data mining and learning analytics to examine these learning activities more closely.

Fifty-three high school students participated in a two-hour programming workshop that used IPRO, a custom developed programming environment that invited players to program their own soccer robots and see their robots in match play. The session included instruction and guided programming, individual programming time and match play. Each step of students' programming activities and their working programs were recorded as the primary data sources and analyzed using data mining and learning analytics techniques.

Findings: Students learned to program in IPRO, but their learning paths were circuitous instead of linear and these paths varied between individuals. However, all of the students went through three phases of exploration, tinkering and refinement in their programming activities. Students used trial-and-error to modify their programs and restarted the program infrequently during the tinkering phase. The design of IPRO facilitated tinkering activities with its rapid iterations and widely available feedback. Overall, students' programs became more complex, functional, and successful (as defined by match wins).

Moving Forward: This paper provides strong empirical evidence of the importance of tinkering for learning. Though only a brief session of programming activities was investigated in this study, the findings illustrate the potential of data mining for understanding programming education. Future studies about computing education with more standard programming languages and in more formal classroom settings would contribute to a better understanding and more effective design of learning tools and experiences for novice programmers.

Image: Breyten Ernsting via Flickr

|By: Ching-Fu Lan|698 Reads