Abstract
We discuss our experience with integrating three key ideas of software engineering into our data structures course: formal specifications, information hiding, and bottom up programming. The idea of formal specifications is fostered by the introduction of a simple formal notation, which students use to describe their data structures and to validate their implementation. The idea of data abstraction is fostered by separating, in the very design of our course, the usage of data structures from their implementation. Finally the idea of bottom up programming is fostered by showing students how complex systems can be designed one layer at a time, where each layer refers exclusively to the layer immediately below it.
- 1 Booeh, G. Software Engineering with Ada. Second edition. Benjamin Cummings, 1987. Google Scholar
Digital Library
- 2 Denning, P.J, D.E. Comer, D. Cries, M.C. Mulder, A.B. Tucker, A.J. Turner, and P.R. Young. Computing as A Discipline. Comm. of the A CM, volume 32, number 1 (January 1989), pp 9-23. Google Scholar
Digital Library
- 3 Dijkstra, E.W. The Structure of the "THE" Multiprogramming System. Communications of the ACM, vol 11, number 5, May 1968, pp 341-346. Google Scholar
Digital Library
- 4 Parnas, D.L. On the Criteria to be Used in Decomposing Systems into Modules. Communications of the A CM. December 1972. Google Scholar
Digital Library
- 5 Mili, A. et al. Towards Strnc~nred Specifying: Theory, Practice and Applications. Ellis Horwood T,td, 1989.Google Scholar
- 6 Mills, H.D, V.R. Basili, J.D. Cannon and D.G. Hamlet. Principles of Computer Programming: A Mathematical Approach. Boston, Ma: Allyn ~md Bacon, 1987. Google Scholar
Digital Library
- 7 Turner, A.3. Computing Curricula 1991. Comm. of the A CM, vol 34, number 6, (June 1991), pp 69--84. Google Scholar
Digital Library
Index Terms
Teaching a first course on data structures: a software engineering approach
Recommendations
Teaching a first course on data structures: a software engineering approach
SIGCSE '94: Proceedings of the twenty-fifth SIGCSE symposium on Computer science educationWe discuss our experience with integrating three key ideas of software engineering into our data structures course: formal specifications, information hiding, and bottom up programming. The idea of formal specifications is fostered by the introduction ...
Toward an understanding of data structures
This paper presents a notation and formalism for describing the semantics of data structures. This is based on directed graphs with named edges and transformations on these graphs. In addition, and implementation facility is described which could be ...
Abstract data types and the development of data structures
Software pioneersAbstract data types can play a significant role in the development of software that is reliable, efficient, and flexible, This paper presents and discusses the application of an algebraic technique for the specification of abstract data types. Among the ...






Comments