Abstract
Perception of Software Engineering as a multi-disciplinary profession like established branches of engineering justifies its treatment in a specialised bachelor's degree. Identification of the essence of professional engineering education in general, and the instantiation of this essence with the particular content requirements of SE, provide precise SEE design criteria. The critical role of the introductory Programming course in establishing the importance of correct SE methods dictates the adoption of functional programming for its purposes. Necessary resources for teaching functional programming to introductory classes are either available or easily accessible. The curriculum overall builds upon this foundation, avoiding mistakes in existing CS curricula, providing quality academic education with the extensive practical and integrative work required for professional preparation.
This is a preview of subscription content, log in via an institution.
Preview
Unable to display preview. Download preview PDF.
References
Abelson, H., Sussman, G.J. and Sussman, J. (1985): “Structure and Interpretation of Computer Programs”, M.I.T. Press, Cambridge.
ACM (1979): “Curriculum '78: Recommendations for the Undergraduate Program in Computer Science — A Report of the ACM Curriculum Committee on Computer Science”, Comm. ACM, vol. 23, no. 3, pp. 147–166.
ACM (1984): “Recommended Curriculum for CS1, 1984”, Comm. ACM, vol. 27, no. 10, pp. 998–1001.
ACM (1985): “Recommended Curriculum for CS2, 1984”, Comm. ACM, vol. 28, no. 8, pp. 815–818.
Bentley, J. (1988): “Teaching the Tricks of the Trade”, in (Ford, 1988).
Berztiss, A. and Gibbs, N.E. (1983): “Computer Science and Computer Science Education”, in R.E.A. Mason (ed.), “Information Processing 83”, North-Holland, Amsterdam.
Bird, R. and Wadler, P. (1988): “Introduction to Functional Programming”, Prentice-Hall International, London.
Burstall, R.M., MacQueen, D.B. and Sanella, D.T. (1981): “HOPE: An Experimental Applicative Language”, University of Edinburgh, Department of Computer Science, CSR-62-80 (updated).
Fairbairn, J. (1986): “A New Type-checker for a Functional Language”, Science of Computer Programming, vol. 6, pp. 273–290.
DeGroot, D. and Lindstrom, G. (1986): “Logic Programming — Functions, Relations, and Equations”, Prentice-Hall, Englewood Cliffs.
Dijkstra, E.W. (1972): “The Humble Programmer”, CACM, vol. 15, no. 8, pp. 859–886.
Gries, D. (ed.) (1978): “Programming Methodology”, Springer-Verlag, New York.
Goldschlager, L. and Lister, A. (1982): “Computer Science — A Modern Introduction”, Prentice-Hall International, London.
Field, A. and Harrison, P. (1988): “Functional Programming”, Addison-Wesley.
Ford, G.A. (ed.) (1988): “Software Engineering Education”, LNCS vol. 327, Springer-Verlag, New York.
Hoare, C.A.R. (1983): “Programming is an Engineering Profession”, in Software Engineering Developments, State of the Art Report 11:3, pp. 77–84.
Jones, C.B. (1980): “Software Development — A Rigorous Approach”, Prentice Hall International, London.
Lloyd, B.E. (1980): “Professional Engineering in Australia, Antecedents and Futures”, Australasian Engineering Education Conference, Preprints of Papers, Brisbane.
Mills, H. (1988): “Strategic Imperatives in Software Engineering Education”, in (Ford, 1988).
Peyton Jones, S. (1987): “The Implementation of Functional Programming Languages”, Prentice-Hall International, Hemel Hempstead.
Richardson, W.E. (1988): “Undergraduate Software Engineering Education”, in (Ford, 1988).
Shaw, M. (ed.) (1985): “The Carnegie-Mellon Curriculum for Undergraduate Computer Science”, Springer-Verlag, New York.
Sigiletto, V.G., Blum, B.I. and Loy, P.H. (1988): “Software Engineering in the Johns Hopkins University Continuing Professional Programs”, in (Ford, 1988).
Turner, D.A. (1985): “Miranda — a non-strict functional language with polymorphic types”, in Jouannaud (ed.), Conference of Functional Programming Languages and Computer Architecture, Lecture Notes in Computer Science, vol. 201, pp. 1–16, Springer, Berlin.
Weiss, E.A. (1987): “MIT Starts with Lisp”, ABACUS, vol. 5, no. 1, pp. 45–49.
Wexelblat, R.L. (1981): “The Consequences of One's First Programming Language”, Software — Practice and Experience, vol. 11, pp. 733–740.
Wirth, N. (1974): “On the Design of Programming Languages”, Information Processing 74, North-Holland, Amsterdam.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1989 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Bailes, P.A., Salzman, E.J., Rosel, A. (1989). A proposal for a Bachelor's degree program in software engineering. In: Gibbs, N.E. (eds) Software Engineering Education. SEI 1989. Lecture Notes in Computer Science, vol 376. Springer, New York, NY. https://doi.org/10.1007/BFb0042352
Download citation
DOI: https://doi.org/10.1007/BFb0042352
Published:
Publisher Name: Springer, New York, NY
Print ISBN: 978-0-387-97090-5
Online ISBN: 978-0-387-34791-2
eBook Packages: Springer Book Archive