Mathematics Faculty Scholarship

Document Type

Conference Proceeding

Publication Date

2009

Publication Title

SIGCSE'09 - Proceedings of the 40th ACM Technical Symposium on Computer Science Education

Publisher

ACM

Keywords

Abstract Data Types, Containers, Interfaces, Modeling, Data Representation, Value Semantics

Abstract

The most commonly stated definition of abstract data type (ADT) is that it is a domain of values and the operations over that domain. So, for example, a language's built-in types, like int are seen to be ADTs. It is our opinion that a pure interpretation of this definition yields a semantics in which using an ADT is the same as using built-in types: the operations are side effect free and there is no concern over alias, shallow copy or synchronization problems. Unfortunately, the term abstract data type has over time been associated with at least three distinct meanings, and those incompatible definitions have often been conflated, causing confusion to students and textbook authors alike. We believe that this has resulted in a loss of appreciation for the value-based semantics of ADTs.

First Page

256

Last Page

259

Original Citation

Buck, D., and D.J. Stucki. "The Hidden Injuries Of Overloading "ADT." SIGCSE'09 - Proceedings Of The 40Th ACM Technical Symposium On Computer Science Education SIGCSE'09 - Proceedings of the 40th ACM Technical Symposium on Computer Science Education (2009): 256-259.

DOI

10.1145/1508865.1508958

Version

Publisher's Version

Publisher's Statement

Copyright 2009 ACM Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee.

Peer Reviewed

1

Share

COinS
 
 

To view the content in your browser, please download Adobe Reader or, alternately,
you may Download the file to your hard drive.

NOTE: The latest versions of Adobe Reader do not support viewing PDF files within Firefox on Mac OS and if you are using a modern (Intel) Mac, there is no official plugin for viewing PDF files within the browser window.