Abstract
Designing high-quality software is difficult, and therefore instruction in design should hold prominence in educating future software engineers, just as in other engineering disciplines. Nearly all software engineers receive their education within programs in computer science, but these programs typically provide inadequate instruction in design. The missing ingredient is instruction in the making of intelligent choices among design alternatives. We must increase the emphasis on the teaching of design principles for guiding the choice-making, not just in senior or graduate courses in software engineering, but throughout the undergraduate curriculum. In particular, the teaching of design in the introductory programming sequence can be improved. We present some examples of how instruction in design can be incorporated into the first courses in programming.
Preview
Unable to display preview. Download preview PDF.
References
David Budgen, Introduction to Software Design, SEI Curriculum Module SEI-CM-2-2.1, Software Engineering Institute, Pittsburgh, 1989.
Alan Burns, Andrew M. Lister, Andrew J. Wellings, A Review of Ada Tasking, Lecture Notes in Computer Science, volume 262, Springer Verlag, 1987.
Gary Ford, 1990 SEI Report on Undergraduate Software Engineering Education, Tech. Report CMU/SEI-90-TR-3, Software Engineering Institute, Pittsburgh, 1990.
John G. Gilbert, unpublished programming assignment from the Institute for Retraining in Computer Science, Clarkson University, 1983.
Barbara Liskov, John Guttag, Abstraction and Specification in Program Development, MIT Press, 1986.
Paul Helman, Robert Veroff, Frank R. Carrano, Intermediate Problem Solving and Data Structures: Walls and Mirrors, Benjamin/Cummings, 1991.
David G. Kay, Programming for People/Pascal, Mayfield, 1985.
Elliot B. Koffman, Pascal: Problem Solving and Program Design, Third Edition, Addison-Wesley, 1989.
Thomas L. Naps, Douglas W. Nance, Bhagat Singh, Introduction to Computer Science: Programming, Problem Solving, and Data Structures, Alternate Edition, West, 1989.
P. L. Plauger, “Who's the Boss?”, Computer Language, July, 1987, pp 17–22.
Roger S. Pressman, Software Engineering, A Practitioner's Approach, Second Edition, McGraw-Hill, 1982.
Mary Shaw, “Larger Scale Systems Require Higher-Level Abstractions”, Proceedings of the Fifth International Workshop on Software Specification and Design, 1989, pp 143–146, IEEE Computer Society.
Ian Sommerville, Software Engineering, Addison-Wesley, 1989.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1991 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Pierce, K., Deneen, L., Shute, G. (1991). Teaching software design in the freshman year. In: Tomayko, J.E. (eds) Software Engineering Education. SEI 1991. Lecture Notes in Computer Science, vol 536. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0024294
Download citation
DOI: https://doi.org/10.1007/BFb0024294
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-54502-6
Online ISBN: 978-3-540-38418-2
eBook Packages: Springer Book Archive