Path: utzoo!yunexus!ists!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!gem.mps.ohio-state.edu!uakari.primate.wisc.edu!aplcen!haven!udel!rochester!rit!mjl From: mjl@cs.rit.edu Newsgroups: comp.software-eng Subject: Re: CS education [engineering, mathematics, and computer science] Message-ID: <1408@cs.rit.edu> Date: 18 Nov 89 20:06:02 GMT Article-I.D.: cs.1408 Sender: news@cs.rit.edu Reply-To: mjl@prague.UUCP (Michael Lutz) Organization: Rochester Institute of Technology, Rochester, NY Lines: 28 Since I started this thread, let me toss out a few more thoughts. I think the most important contribution of mathematics to computer science/software engineering is its mode of inquiry. I won't discuss here the particular topics that have been bandied about as being more or less "related". Instead, I'd say that it is the approach to problem solving -- defining a specification or reasoning about a program in the context of a rigorous axiomatic system -- that most closely ties mathematics and computing. In this respect, a good dose of discrete mathematics or basic modern algebra is appropriate, not so much because of the topics per se, but rather because the form of the proofs in these domains maps most closely onto the formal models of computation. (Of course, the topics themselves contain gems of abstraction and generalization, for those willing to do some mining). What bothers me mostis that this implies a significantly deeper understanding of mathematical principles than is required by other engineering disciplines. Or, to phrase it slightly differently: Formal methods of software engineering require the engineer to think like a mathematician. This is untrue of any other engineering discipline I am aware of. Why the discrepancy? Can we address this by creating "boilerplate" mathematics for software engineering? Mike Lutz Mike Lutz Rochester Institute of Technology, Rochester NY UUCP: {rutgers,cornell}!rochester!rit!mjl INTERNET: mjlics@ultb.isc.rit.edu