Graphical programming systems have been built to lower the threshold to programming for beginners. However, because these systems were designed to make programming more accessible to novices, they were developed with narrower intentions for their users and applications. For example, in StarLogo TNG, a graphical block programming environment, users may create games and simulations, but they cannot use this same system to create programs that can automate their computer processes, like the text-based scripting system AppleScript. Application developers can create their own programming systems, but doing so can take a significant amount of time to design and implement. This thesis describes an extendable framework called OpenBlocks that enables application developers to build and iterate their own graphical block programming systems by specifying a single XML file. Application developers can focus more on the design of their systems instead of on the details of implementation. The design and implementation of OpenBlocks are described, along with a user study conducted to test its usability and extendability. Thesis Supervisor: Eric Klopfer Title: Associate Professor
[1]
Andrew Begel,et al.
StarLogo TNG: An Introduction to Game Development
,
1996
.
[2]
Mitchel Resnick,et al.
LogoBlocks: A Graphical Programming Language for Interacting with the World
,
2000
.
[3]
K. Barraclough.
Eclipse
,
2006,
BMJ : British Medical Journal.
[4]
Daniel Wendel,et al.
3D game design with programming blocks in StarLogo TNG
,
2006
.
[5]
Mitchel Resnick,et al.
StarLogo: an environment for decentralized modeling and decentralized thinking
,
1996,
CHI Conference Companion.
[6]
John F. Pane.
Designing a programming system for children with a focus on usability
,
1998,
CHI Conference Summary.
[7]
Caitlin Kelleher,et al.
Lowering the barriers to programming: A taxonomy of programming environments and languages for novice programmers
,
2005,
CSUR.
[8]
Corey McCaffrey.
StarLogo TNG: The Convergence of Graphical Programming and Text Processing
,
2006
.