A spreadsheet interface for logic programming
CHI '89 Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
Watch what I do: programming by demonstration
Watch what I do: programming by demonstration
Programming by example: novice programming comes of age
Communications of the ACM
Alice: lessons learned from building a 3D system for novices
Proceedings of the SIGCHI conference on Human Factors in Computing Systems
FAR: An End-User Language to Support Cottage E-Services
HCC '01 Proceedings of the IEEE 2001 Symposia on Human Centric Computing Languages and Environments (HCC'01)
Using HCI Techniques to Design a More Usable Programming System
HCC '02 Proceedings of the IEEE 2002 Symposia on Human Centric Computing Languages and Environments (HCC'02)
Mulspren: a MUltiple Language Simulation PRogramming ENvironment
HCC '02 Proceedings of the IEEE 2002 Symposia on Human Centric Computing Languages and Environments (HCC'02)
Designing Mixed Textual and Iconic Programming Languages for Novice Users
VL '98 Proceedings of the IEEE Symposium on Visual Languages
Programming by example
Forms/3: A first-order visual language to explore the boundaries of the spreadsheet paradigm
Journal of Functional Programming
Hi-index | 0.00 |
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.