Authors: Careene S McCallum-Rodney and Dr. Ezra Mugisa
Abstract: Many Computer Science novices are challenged with understanding and applying basic abstract programming concepts. Programming is predominantly concerned with abstract concepts, and many novices’ misconceptions result from this high level of abstraction. One way of reducing this high level of abstraction is by actively engaging novices through an algorithm visualisation tool that is appropriately designed and created with this goal in mind. PseudoCAS is designed to meet this goal. It allows the novice to generate an algorithm using a combination of basic programming structures (such as value assignments, simple sequencing and simple selection structures). The key components for each structure’s data are validated upon user input before they are automatically created. This avoids the distraction of learning the syntax and structure of a programming language, and instead helps novices focus on generating a valid solution with the assistance of edit-time animation. This paper discusses (1) the issue of abstraction and its impact on novices understanding of programming structures; (2) the impact of visualisation tools on concretising abstract concepts for novices; and (3) how PseudoCAS is designed to reduce the high level of abstraction for basic programming structures.
Keywords: abstraction; algorithm visualization; mental models