Integrating Learning Supports into the Design of Visual Programming Systems

Chris DiGiano, Ken Kahn, Allen Cypher, David Canfield Smith

Research output: Contribution to journalArticlepeer-review

10 Scopus citations


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 languageEnglish
Pages (from-to)501-524
Number of pages24
JournalJournal of Visual Languages and Computing
Issue number5
StatePublished - Oct 2001
Externally publishedYes


  • End-user programming
  • Instructional design
  • Learning
  • Programming by example
  • Programming systems
  • Visual programming


Dive into the research topics of 'Integrating Learning Supports into the Design of Visual Programming Systems'. Together they form a unique fingerprint.

Cite this