You are here:

The abstraction-first approach to data abstraction and algorithms

Computers & Education Volume 31, Number 2, ISSN 0360-1315 Publisher: Elsevier Ltd


Experience in industry suggests that reuse does not happen without retraining. However, since reuse is meant to simplify programming, this paper argues the case for re-ordering a traditional data structures and algorithms course, using an object-oriented language, so that it starts from abstraction and reuse, and postpones coding from scratch as far as possible. The intention is that reuse should be learnt before other strategies, so coding from scratch does not have to be unlearnt before reuse seems natural. The paper presents experience with a restructured abstraction-first course, and proposes that an essential tool for such a strategy is a set of scaled-down libraries and frameworks, designed for teaching. Compared with a Modula-2-based course and an earlier C++-based course in which concepts were presented in a different order, more ground was covered, without a major change in the students’ results (grades).


Machanick, P. (1998). The abstraction-first approach to data abstraction and algorithms. Computers & Education, 31(2), 135-150. Elsevier Ltd. Retrieved December 6, 2023 from .

This record was imported from Computers & Education on February 1, 2019. Computers & Education is a publication of Elsevier.

Full text is availabe on Science Direct: