Abstract
The success of a programming system depends as much on the learnability of its language concepts as the usability of its interface. We argue that learnability can be significantly improved by integrating into the programming system learning supports that allow individuals to educate themselves about the syntax, semantics and applications of a language. Reflecting on our experience with developing novice programming systems, we identify infrastructural characteristics of such systems that can make the integration of learning supports practical. We focus on five core facilities: annotatability, scriptability, monitorability, supplementability and constrainability. Our hope is that our examination of these technical facilities and their tradeoffs can inform the design of future programming systems that better address the educational needs of their users.
Original language | English |
---|---|
Pages (from-to) | 501-524 |
Number of pages | 24 |
Journal | Journal of Visual Languages and Computing |
Volume | 12 |
Issue number | 5 |
DOIs | |
State | Published - Oct 2001 |
Externally published | Yes |
Keywords
- End-user programming
- Instructional design
- Learning
- Programming by example
- Programming systems
- Visual programming