I Scratch and Sense But Can I Program?: An Investigation of Learning with a Block Based Programming Language

I Scratch and Sense But Can I Program?: An Investigation of Learning with a Block Based Programming Language

N. K. Simpkins (The Open University, Buckinghamshire, United Kingdom)
DOI: 10.4018/ijicte.2014070107
OnDemand PDF Download:
$30.00
List Price: $37.50

Abstract

This article reports an investigation into undergraduate student experiences and views of a visual or ‘blocks' based programming language and its environment. An additional and central aspect of this enquiry is to substantiate the perceived degree of transferability of programming skills learnt within the visual environment to a typical mainstream textual language. Undergraduate students were given programming activities and examples covering four basic programming concepts based on the Sense programming language which is intended to simplify programming. Sense programming statements are represented by blocks which only fit together in ways that produce a meaningful syntactic outcome, which may lower the cognitive barrier to learning. Students were also presented with concepts represented using an equivalent textual construct and asked to consider their understanding of these based on the graphical cases. They were finally asked to complete a short online survey. This paper presents the programming activities, the survey and an analysis of the results.
Article Preview

1. Introduction

Teaching basic programming skills to novices has widely been seen as a problematic area responsible for the high dropout rates of around thirty to fifty percent (Dening & McGettrick, 2005; May & Dhillon, 2009) associated with computer science courses. Ma, Ferguson, Roper and Wood (2011) report that many first-year students perform worse than expected and that students can hold ‘non-viable’ mental models of programming concepts. They introduce a teaching model which utilises visualisation of programs as an aid to better understanding of key concepts. The visualisation they explore refers to visual models which depict the operation of a textual code fragment rather that the use of a blocks programming language itself to implement a program directly, which is the focus here.

When first encountered, basic programming concepts, such as repetition and conditionals, are inherently difficult to understand for a significant proportion of students. No single teaching approach seems to benefit all students. A proportion of students can readily comprehend a concept, such as repetition, as written in a textual language, for example Java, but a significant group will always be frustrated and require other forms of illustration of the concept which present less or differing cognitive load (Stachel et al., 2013).

This article reports an investigation into the efficacy of a blocks based language for learning programming.

The investigation has three stages for students:

  • 1.

    Performing a series of simple programming activities using Sense as detailed in a brief guide.

  • 2.

    Comparing the graphical programs that they have seen and run in step '1' with some textual equivalents which are similar to those found in more mainstream programming languages.

  • 3.

    Completing a short online survey concerning their experiences.

In the activities students were provided with visual block programs to execute which demonstrated four basic concepts (sequencing, variables, repetition and conditionals) found in all programming languages. For two of these (repetition and conditionals) students were asked to consider if their understanding could be transferred to similar textual constructs. After completing these activities students were asked to complete a brief survey.

Based on the responses the investigation focuses on two key questions:

  • 1.

    How well a blocks programming language communicates basic programming concepts.

  • 2.

    How easily an understanding of concepts based on a blocks programming language transfers to a mainstream textual language.

A student, having gained experience using a graphical language, will be faced with syntactic complexity and greater freedom for error when using a textual language. If central concepts themselves have already been learnt in a graphical environment then a student might be less burdened and better able to cope with greater syntactic and semantic freedom and complexity.

The initial parts of this paper cover background aspects, such as blocks programming languages, related work, the student population and the particular blocks language employed here. Subsequent parts examine the specific activities given to students and the response to the survey. The activities are available online (Simpkins, 2012) and the survey employed is given in Appendix A.

2. Background

Several innovations have sought to make programming more accessible by seeking to simplify aspects which are common sources of problems for a typical novice. Errors in syntax and semantic misuse of constructs are two prominent sources of problems.

Interactive Development Environments (IDEs) such as Eclipse (The Eclipse Foundation, 2013) provide context sensitive completion and help and also highlight syntactic errors in code. The syntactic and sematic complexity of languages such as Java means that these tools can be of limited assistance, if any, to novice programmers.

Complete Article List

Search this Journal:
Reset
Open Access Articles: Forthcoming
Volume 14: 4 Issues (2018): 1 Released, 3 Forthcoming
Volume 13: 4 Issues (2017)
Volume 12: 4 Issues (2016)
Volume 11: 4 Issues (2015)
Volume 10: 4 Issues (2014)
Volume 9: 4 Issues (2013)
Volume 8: 4 Issues (2012)
Volume 7: 4 Issues (2011)
Volume 6: 4 Issues (2010)
Volume 5: 4 Issues (2009)
Volume 4: 4 Issues (2008)
Volume 3: 4 Issues (2007)
Volume 2: 4 Issues (2006)
Volume 1: 4 Issues (2005)
View Complete Journal Contents Listing