Journal of Visual Languages and Computing (1992) 3, 299-317 VPCL: A Visual Language for Teaching and Learning Programming. (A Picture is Worth a Thousand Words) ALIREZA EBRAHIMI Department of Computer Science, State University of New York/College at Old Westbury, Old Westbury, New York 11568, U.S.A. Received 22 September 1990 and accepted I May I992 There is a need to incorporate visualization in programming. This visualization can be accomplished through various programming steps such as plan composition, language constructs and program execution. Several empirical studies of programmers reveal that major programming errors are related to plan composition and language constructs. These programming steps are considered in the development of a new visual environment known as VPCL. To understand and learn programming, VPCL is divided into three phases: plan observation, plan integration and plan creation. During the plan observation or elementry level, the programming steps of a plan are rehearsed. In the intermediate level, the plans of a given problem are integrated by the user. In the advanced level, all the programming steps are developed using VPCL tools and the language constructs library. Each phase of VPCL is illustrated in detail with several examples. The effectiveness of VPCL as an instructional and developmental tool is demonstrated by the analysis of a sample empirical study. 1. Introduction THE VISUALPROGRAMMING PROCESS can be integrated into the development of a new environment known as Visual Plan Construct Language or VPCL. Visualization is incorporated into the programming process using plan composition, language constructs and program execution (control flow). A plan identifies a specific task, such as a programming problem, which itself may consist of other plans. A plan can be represented by an icon, which can hide the plan’s details. Language constructs, such as loops or decisions that are used to implement plans, can be represented visually. The animation of program execution can be used to illustrate the flow of data. VPCL emphasizes the plan and its manipulation. The user can learn about plans, how to decompose problems into plans, and ultimately how to put plans together to create working programs. It allows new plans to be created or existing ones to be modified. VPCL helps the user to understand different language constructs and their alternatives by providing a language construct library; it is not language-dependent and can thus be adjusted to use the current conventional languages. Starting with a series of programming problems and other utilities known as the plan library, VPCL helps in understanding and developing programs. VPCL consists of three selectable phases. These phases are rehearsal, partial implementation and full implementation of plans; these may be designated, respe- ctively, as: (1) plan observation; (2) plan integration; and (3) plan creation. The details of these phases will be explained further. 1045-926X/92/030299 + 19 $08.00/O 0 1992 Academic Press Limited