Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!watmath!clyde!cbatt!ihnp4!inuxc!pur-ee!uiucdcs!uiucdcsb!liberte From: liberte@uiucdcsb.CS.UIUC.EDU Newsgroups: net.cse Subject: Re: CS vs. CE Message-ID: <13500012@uiucdcsb> Date: Tue, 16-Sep-86 13:20:00 EDT Article-I.D.: uiucdcsb.13500012 Posted: Tue Sep 16 13:20:00 1986 Date-Received: Sat, 27-Sep-86 12:13:14 EDT References: <13500008@uiucdcsb> Lines: 81 Nf-ID: #R:uiucdcsb:13500008:uiucdcsb:13500012:000:4110 Nf-From: uiucdcsb.CS.UIUC.EDU!liberte Sep 16 12:20:00 1986 >/* Written 9:12 pm Sep 13, 1986 by elg@usl.UUCP in uiucdcsb:net.cse */ >Is there a distinct boundary? Or is there a boundary area that is sort >of fuzzy? Think about who programs the microprocessor inside your >printer. Should he be a programmer? Should he be an engineer? I shall correct my previous statement and now say that the boundary between CS and EE is fairly clear. A CS person does not need to know much about the electronics below the level of logic. But a CE person does need to know both low level computer science and high level (digital) electronics. >The computer world is not totally abstract. Certainly it deals with >abstract data such as the fields and records of a database, programs >written in a programming language, etc., however, there are physical >objects out there like disk drives and terminals too. Sure there is hardware, but a computer scientist is not concerned with building the hardware unless he is also a computer engineer, by my definition. Computer science looks at the function of the hardware and makes use of it with software. As such, I consider machine language programming and even microcoding as software. Programmable logic arrays are definitly borderline firmware. But it's all relative to your perspective. An operating systems course never gets closer to a disk drive than how to use it and timing considerations. You need a fair amount of mechanical engineering to learn how to build disk drives. A graphics course never gets closer to display devices than how their various structures give them different functions. I'm told that high frequency display electronics is a black art. So why does a computer scientist need to know how a transistor works? Sure it's interesting. I took a course in it. But it is pretty much useless knowledge for a person primarily concerned with software. >1) numerical analysis: Some math should be looked at, since the very >idea of a computer is an offshoot of the lamda calculas, Turing >machine, and other mathematical topics, but spending semesters >grinding through differential equations and linear algebra and other >stuff that a programmer would never use is a Big Lose. (As someone else here has said a little more vehemently, computer science is not just learning to program.) The connection between CS and math is much closer than between CS and EE. Just about every direction you look within CS, there is math. But this is true of almost every science. So we need to look at what kinds of math are relevant to CS. And the answer is that just about everything in math may be relevant to something CS. So what are the foundations of math that every CS person should know? The answer to that question will change as CS changes. The material in many Discrete Mathematics courses taught by CS departments is certainly relevant. But right now, there is still a heavy emphasis on numerical analysis which I view as an application area. >2) user interfaces, AI, etc.: I see a growing tendency of researchers >in areas like AI/cognitive science to spend their time moping around >thinking about vague generalities, and totally ignoring any thoughts >about the implementation of their fanciful ideas... Here CS borders on philosophy and psychology. We must have patience with these corners of CS since the science is indeed fuzzier. But there is still a growing body of fuzzy knowledge to teach. Philosophy and psychology departments do it, so we can too. >as for the >importance of user interfaces, yes, it is important that the user be >able to figure out how to use the software. Maybe I should leave it at that. But I'll add that just because something looks complex doesn't mean we should leave it that way. The goal is understanding as efficiently as possible. Teachers try (I hope) to make their presentations more understandable and less confusing. Designers of most things where people interact with tools are concerned with ease of use as well as safety factors. Why not for computers too? Dan LaLiberte liberte@b.cs.uiuc.edu liberte@uiuc.csnet ihnp4!uiucdcs!liberte