End-user computing and user programming refer to environments where non-programmers produce complete working computer applications[1]. Well-known examples include spreadsheets, the LOGO "turtle language" for children, and LABVIEW virtual instruments for laboratory automation.