Teaching Programming as Engineering
暂无分享,去创建一个
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.
[1] David Lorge Parnas,et al. Tabular Representation of Relations , 1992 .
[2] David Lorge Parnas. A generalized control structure and its formal definition , 1983, CACM.
[3] David Lorge Parnas,et al. Predicate Logic for Software Engineering , 1993, IEEE Trans. Software Eng..