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.
Preview
Unable to display preview. Download preview PDF.
References
Parnas, D. L., “Predicate Logic for Software Engineering”, IEEE Transactions on Software Engineering, Vol. 19, No. 9, Sept. 1993, pp. 856–862
Parnas, D. L., “A Generalized Control Structure and Its Formal Definition”, Communications of the ACM, Vol. 26, No. 8, August 1983, pp. 572–581.
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)
Parnas, D. L., “Tabular Representation of Relations”, CRL Report 260, Communications Research Laboratory, McMaster University, October 1992
Author information
Authors and Affiliations
Editor information
Rights 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