SAMtool, a tool for deducing and implementing loop patterns

José Luis Fernández‐Alemán, Youssef Oufaska · 2010

This paper presents a proposal aimed at active learning of iterative design in CS1. Two main contributions are made: first, a novel approach to tackle iterative algorithms design problems based on inductive reasoning, sequential access models and algorithmic schemes; second, a web tool called SAMTool (Sequential Access Model Tool) to support this approach. Students use SAMTool in three stages: (1) to obtain problem-dependent code to solve an iterative problem (2) to define an algorithmic scheme in a sequential access model; (3) to generate a program starting from a problem, an algorithmic scheme, a programming language and a sequence in the chosen programming language. The effectiveness of SAMTool as a tool to enhance learning has been demonstrated through empirical evaluation on a course with 114 undergraduate students. In a controlled study, programming students trained in the use of SAMTool were found to make fewer errors than a control group, which suggests that our approach helps students to construct iterative algorithms correctly.

Read the paper · More papers on PaperTik