Mulspren: a multiple language programming environment for children

  • Authors:
  • Tim Wright;Andy Cockburn

  • Affiliations:
  • University of Canterbury, Christchurch, New Zealand;University of Canterbury, Christchurch, New Zealand

  • Venue:
  • CHINZ '03 Proceedings of the 4th Annual Conference of the ACM Special Interest Group on Computer-Human Interaction
  • Year:
  • 2003

Quantified Score

Hi-index 0.00

Visualization

Abstract

Many end-users are starting to use computers for more than word processing and playing games. While it is still common to use a computer to send emails, surf the internet, and perform other non-programming tasks, computer-based tasks that involve programming skills are becoming more common. These tasks range from being very simple, such as specifying rules for a spam filter, to much more complex tasks, such as making a home budget using a spreadsheet, or reprogramming word processors using a macro language. Users can perform these tasks more efficiently if they have some programming skills. Many researchers have developed educational programming environments. These environments make programming accessible for learner programmers by using a wide variety of symbol types --- from textual to tangible program statements; iconic to graphical program constructs. Many of these environments use different symbols for different tasks. For example, a programming environment might force a user to read a program using set of symbols, but watch their program run using different symbols. Although using multiple different sets of symbols is common, there has been little research evaluating either how users interact with multiple languages or the effects of multiple languages on users. This paper presents a novel programming environment called Mulspren. Mulspren was designed to let children lever their knowledge of English to learn conventional programming constructs---knowledge that could help them when they are older and need programming skills. Mulspren uses dual languages that users interact with simultaneously and move between seamlessly---one language is very similar to English and the other is similar to C or Java code. In this paper we give a description of both languages and a fictitious example of a user writing a simple program in the environment. We intend this environment to be useful for anyone interested in building or evaluating multiple programming environments.