dc.contributor.author |
Machanick, Philip
|
|
dc.date.accessioned |
2018-06-06T11:01:26Z |
|
dc.date.available |
2018-06-06T11:01:26Z |
|
dc.date.issued |
1997 |
|
dc.identifier.citation |
Machanick P (1997) The abstraction-first approach to encouraging reuse. South African Computer Journal, Number 20,1997 |
en |
dc.identifier.issn |
2313-7835 |
|
dc.identifier.uri |
http://hdl.handle.net/10500/24262 |
|
dc.description.abstract |
Experience in industry suggests that reuse does not happen without retraining, despite the fact that many experienced software engineers accept that reuse ought to be more efficient than coding from scratch. A possible cause of the problem is that traditional computer science courses do not emphasize reuse, but teach skills such as data structures and algorithms in a bottom-up way. 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 unlearned 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 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. |
en |
dc.language.iso |
en |
en |
dc.publisher |
South African Computer Society (SAICSIT) |
en |
dc.subject |
Object oriented programming |
en |
dc.subject |
Abstraction |
en |
dc.subject |
Reuse |
en |
dc.subject |
Computer Science education |
en |
dc.title |
The abstraction-first approach to encouraging reuse |
en |
dc.type |
Article |
en |