Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.2 9/18/84; site leopard.UUCP Path: utzoo!watmath!clyde!burl!ulysses!bellcore!leopard!perry From: perry@leopard.UUCP (Perry S. Kivolowitz) Newsgroups: net.cse Subject: pitfalls in computer science education Message-ID: <149@leopard.UUCP> Date: Fri, 14-Feb-86 16:33:27 EST Article-I.D.: leopard.149 Posted: Fri Feb 14 16:33:27 1986 Date-Received: Sat, 15-Feb-86 05:10:58 EST Distribution: net Organization: Rest Home For Aged Bit Twiddlers Lines: 59 First, let me state the premis from which I base my opinions: A ``good'' Computer *SCIENCE* Education is INVALUABLE I doubt anyone would claim that formal training will contribute to *inferior* computer scientists. So what's the rub? The problem here is one of terminology. Questions: What is computer science education. What is *good* computer science education. What is computer science and what is its relationship to the average position needing to be filled in industry. Computer science is not hacking. It isn't coding. It's understanding. The science of computing is the understanding of the nature of problems. The understanding of the nature of algorithms. It deals with the art of programming (note difference between science and art) only in as much that programming is the means by which computer science can be applied to become a tangible benefit. A computer science education teaches thinking. Data processing educat- ion teaches coding. A *good* computer science education stresses the fundementals of comput- ing theory and practice. Very importantly, is should teach underlying principles in a way which facilitates the translation of the principles to new and different areas and problems (a new field of research or a new work assignment). The main problem with computer science education, as I see it, lies in inadequate measuring of the understanding held by students. CS courses often test (and therefore in the student's minds *STRESS*) the wrong things completely! Testing (and grading) should be based upon critical understanding. The ideal (pie in the sky in most real world classes) way to measure student learning (and thus influence what will be learned) is to subject every student to a verbal comprehensive examination or a laboratory or both. Don't get me wrong. I don't mean ``make them write a program.'' I mean structure an examination which measures true understanding of principles rather than simple coding or memory tricks. There are very few computer *scientists* out there. Certainly very few filling most computer industry jobs. Incidently, I have seen very few doctoral disserations recently which are worth the paper their written on so the failing in computer science education does not end at the undergraduate level. In summary - given the worlds greatest hacker and a well rounded computer scientist - and a large number of arbitrarily chosen problems, there should be no doubt that the super hacker will prove inferior to the scientist. *scientist - one who is adept at applying established knowledge in the solution of new problems or the derivation of new knowledge* Perry S. Kivolowitz