Skip to main content

Teaching programming as engineering

  • Education Session
  • Conference paper
  • First Online:
ZUM '95: The Z Formal Specification Notation (ZUM 1995)

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

Included in the following conference series:

Abstract

In spite of unheralded advances in computer hardware and software, most of today's introductory programming courses are much like courses taught 30 years ago. Although the programming languages have changed, we continue to equate teaching programming with teaching the syntax and semantics of programming languages. This paper describes a different approach being taken in the Faculty of Engineering at McMaster University. Our course emphasises program design rather than language syntax, insisting that the program design is something distinct from the detailed code. It allows students a choice of programming languages for use in their laboratory work. Students learn a mathematical model of programming and are taught to use that model to understand program design, analysis, and documentation. Considerable effort is spent on teaching the students how to apply what they see as “theory” in practice.

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. Parnas, D. L., “Predicate Logic for Software Engineering”, IEEE Transactions on Software Engineering, Vol. 19, No. 9, Sept. 1993, pp. 856–862

    Google Scholar 

  2. Parnas, D. L., “A Generalized Control Structure and Its Formal Definition”, Communications of the ACM, Vol. 26, No. 8, August 1983, pp. 572–581.

    Google Scholar 

  3. Parnas, D. L., Wadge, W.W., “Less Restrictive Constructs for Structured Programs”, Technical Report 86-186, Queen's, C&IS, Kingston, Ontario, Canada, October 1986, (available from the author)

    Google Scholar 

  4. Parnas, D. L., “Tabular Representation of Relations”, CRL Report 260, Communications Research Laboratory, McMaster University, October 1992

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Jonathan P. Bowen Michael G. Hinchey

Rights and permissions

Reprints and permissions

Copyright information

© 1995 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Parnas, D.L. (1995). Teaching programming as engineering. In: Bowen, J.P., Hinchey, M.G. (eds) ZUM '95: The Z Formal Specification Notation. ZUM 1995. Lecture Notes in Computer Science, vol 967. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-60271-2_137

Download citation

  • DOI: https://doi.org/10.1007/3-540-60271-2_137

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-60271-2

  • Online ISBN: 978-3-540-44782-5

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics