From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.5-pre1 (2020-06-20) on ip-172-31-74-118.ec2.internal X-Spam-Level: X-Spam-Status: No, score=-0.5 required=3.0 tests=BAYES_05 autolearn=ham autolearn_force=no version=3.4.5-pre1 Date: 29 Jul 93 23:09:26 GMT From: rational.com!bonnie!rlk@uunet.uu.net (Robert Kitzberger) Subject: Re: Are 'best' universities being targeted Message-ID: List-Id: kmathias@afit.af.mil (Karl S Mathias) writes: >tannen@tigger.geg.mot.com (David Tannen) writes: > >>I would like to see the a CS program require the following areas: >> Calc I & II (maybe III) >> A minor in Science or Business >> Data Structures >> OS Theory >> 2 Intro EE classes taught by & out of the EE dept. where >> you build some circuits in the labs. (I found them >> very useful) >> 3 Digital Design classes where you have to build some >> fairly complex digital circuits. >> Systems programming (Lots of Assembler/C) >> Language comparison class >> Systems Analysis & Design >> (SA/SD and OOA/OOD, plus all projects should be team >> projects) >> Algorithms >> Real-Time I'd de-emphasize the EE aspect, add a class on SW Process, and increase time spent on software design significantly, both in "Systems Analysis and Design" courses _and_ in other courses such as compiler construction. Too often, design is a course that is (a) optional, (b) disassociated from all of the rest of the software development/hacking done in school, and (c) theoretical, concentrating on specification languages (& etc.) rather than on developing a product and getting it out the door. All courses that involve development of functioning software (even 100-line hacks) should at least mention the "D" word ;-) >This sounds like the perfect course structure for a Computer Engineering >degree (lots of hardware/assembly). It hardly seems appropriate for >general software development where hardware platforms should NOT be >the issue. This type of study would influence CS students to code for >specific platforms, rather than writing code that would work on any >platform. IMHO, one or two hardware courses are sufficient. You need to know enough about hardware to properly encapsulate system dependencies and to identify potential system bottlenecks at an early stage, especially on embedded systems. You need to be able to prototype the difficult, risky, and or performance-sensitive parts early on, lest your resultant system be a dog that requires a massive redesign to fix. Knowing these truths about software development takes either years of experience or the inculcation and permeation of SW process and design in the curriculum. It certainly does not take more coursework on minimization of Karnaugh maps, nor more coursework on AVL trees. IMNSHO, .Bob. -- Bob Kitzberger Internet: rlk@rational.com Rational, Grass Valley, CA CompuServe: 70743,1550 "Lincoln was born in a log cabin that he built with his own hands" -- Pennsylvania Rep. Dan Flood