A simple computer model based on visualization, analogy and collaboration - Khalife, J.T. (2017)
Traditionally, novices encounter many difficulties in learning how to program for a variety of reasons including the inability to develop an adequate model of the machine. In this paper, we examine major difficulties encountered by novices when taking an introductory-level programming course and we summarize the potential of visualization, collaboration, and analogy techniques in alleviating such difficulties. Based on the composition of these techniques, we present a sample computer model for the introduction of programming to beginners. The model relies on a generic instruction set and on the introduction of simplified UML activity diagrams. While shielding learners from Syntax details, we place strong emphasis on proper design and modeling prior to coding. To complete the proposed model, we assist novices figuring out what goes on as programs are executed by visualization the steps of the execution with simplified memory snapshots. We conclude with exploring some of the model’s benefits and proposing for future work to focus on the theoretical foundation and implementation of a modern program development tool, appropriate for alleviating novices’ difficulties.