Path: utzoo!attcan!uunet!cadence!cadence!dovich From: dovich@cadence.com (Steven J. Dovich; x272) Newsgroups: comp.edu Subject: Re: Theoretical computer scientists know a thing or two Message-ID: Date: 3 Oct 90 23:08:04 GMT References: <392sis-a@massey.ac.nz> <12007@chaph.usc.edu> <409@pirates.UUCP> <12235@chaph.usc.edu> Sender: usenet@cadence.com (USENET News) Organization: Cadence Design Systems/ACAE Div, Lowell MA Lines: 73 In-Reply-To: wilber@aludra.usc.edu's message of 28 Sep 90 07:31:24 GMT In article <12235@chaph.usc.edu> wilber@aludra.usc.edu (John Wilber) writes: > That sounds nice, but I have not seen it implemented in practice. I would > assume that some schools (like CMU and MIT) must have some people around > who know something or they couldn't get any of their research projects > to work, but I have never seen any direct evidence that schools take anything > like an intelligent approach to teaching computer science. Since IMHO > most CS professors don't have a good grasp of the important practical > facts (there are exceptions of course) it is not surprising that students > do not learn the "facts of life" in school. Before knowledge can be passed on, it needs to be understood. Why are these "facts of life" important? Why not some other set of facts? Are these facts a subjective list or is there some objective framework that justifies their value? "Facts of Life" are axioms, statements designed to completely short-circuit analytical thinking. Their usefulness is in providing a basis from which to reason about larger problems. We need to make sure that there is really something fundamental about such "facts" before we make them axioms. We need to be certain that these axiooms clarify rather than cloud our understanding of the larger problems. Otherwise they distract and mislead us. > ...I have "discovered" > new ways of doing things in programs many times before only to later > discover that someone had already given it some fancy theoretical name. If you reinvent technology that is already published, you have spent your time unwisely. Familiarity with the relevant literature can trim the design issues to that set without prior solutions. This is yet another face of the popular concept of (software) re-use. Don't re-invent the wheel. > And it's not the mathematicians who write any of the programs that make > the technology work. I doubt that many of them know or that ANY of them > care that P<>NP. You can write anything you want without that knowledge. You may be able to tackle a programming task without that kind of knowledge. But for some problems, by the time you complete the task, you will gain at least some of that knowledge (only we usually call it experience). You probably won't solve the P=NP problem, but you will have first-hand experience with the consequences of the answer to that problem. And that is what theory is about. Solving fundamental problems so that engineers can understand the concepts, and figure out what the consequences will be (without having to learn it all from costly experience). > It seems to me that it is much more important in academic "computer science" > that a problem can be expressed in big impressive-looking mathematical > symbols than that the solution be useful for anything real. That's a > big problem in my book. There are probably very few who can effectively develop theory without any application/practical framework to interpret the results. Most theoretical work is started by someone with a practical problem to solve. It is explored and developed by those who want to better understand the implications of the problem, and its solution(s). It is applied to "real-world" problems by those who understand its importance. In summary, theory is how we reason from past experience, to design and build the future. /sjd -- Steven J. Dovich Cadence Design Systems/ACAE Div. 2 Lowell Research Center Dr Phone: (508) 934-0272 Lowell, MA 01852-4995