Skip to main content

Teaching software design in the freshman year

  • Session 5 “Teaching Design”
  • Conference paper
  • First Online:
Software Engineering Education (SEI 1991)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 536))

Included in the following conference series:

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. David Budgen, Introduction to Software Design, SEI Curriculum Module SEI-CM-2-2.1, Software Engineering Institute, Pittsburgh, 1989.

    Google Scholar 

  2. Alan Burns, Andrew M. Lister, Andrew J. Wellings, A Review of Ada Tasking, Lecture Notes in Computer Science, volume 262, Springer Verlag, 1987.

    Google Scholar 

  3. Gary Ford, 1990 SEI Report on Undergraduate Software Engineering Education, Tech. Report CMU/SEI-90-TR-3, Software Engineering Institute, Pittsburgh, 1990.

    Google Scholar 

  4. John G. Gilbert, unpublished programming assignment from the Institute for Retraining in Computer Science, Clarkson University, 1983.

    Google Scholar 

  5. Barbara Liskov, John Guttag, Abstraction and Specification in Program Development, MIT Press, 1986.

    Google Scholar 

  6. Paul Helman, Robert Veroff, Frank R. Carrano, Intermediate Problem Solving and Data Structures: Walls and Mirrors, Benjamin/Cummings, 1991.

    Google Scholar 

  7. David G. Kay, Programming for People/Pascal, Mayfield, 1985.

    Google Scholar 

  8. Elliot B. Koffman, Pascal: Problem Solving and Program Design, Third Edition, Addison-Wesley, 1989.

    Google Scholar 

  9. Thomas L. Naps, Douglas W. Nance, Bhagat Singh, Introduction to Computer Science: Programming, Problem Solving, and Data Structures, Alternate Edition, West, 1989.

    Google Scholar 

  10. P. L. Plauger, “Who's the Boss?”, Computer Language, July, 1987, pp 17–22.

    Google Scholar 

  11. Roger S. Pressman, Software Engineering, A Practitioner's Approach, Second Edition, McGraw-Hill, 1982.

    Google Scholar 

  12. 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.

    Google Scholar 

  13. Ian Sommerville, Software Engineering, Addison-Wesley, 1989.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

James E. Tomayko

Rights and permissions

Reprints 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

Publish with us

Policies and ethics