From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,86fd56abf3579c34 X-Google-Attributes: gid103376,public From: ok@goanna.cs.rmit.edu.au (Richard A. O'Keefe) Subject: Re: Academic CS Losers? Date: 1995/04/20 Message-ID: <3n5imb$5qe@goanna.cs.rmit.edu.au> X-Deja-AN: 101283207 references: <3mo2j0$8e8@kaiwan009.kaiwan.com> organization: Comp Sci, RMIT, Melbourne, Australia nntp-posting-user: ok newsgroups: comp.lang.ada Date: 1995-04-20T00:00:00+00:00 List-Id: jmartin@kaiwan009.kaiwan.com (Jay M Martin) writes: >If Computer Science can't get industry to donate code, then it time >for Computer Science to do large projects themselves. I keep telling people how very impressed I am by the Icon project. Icon is an interesting programming language. Arizona have a larger installed user base than some commercial companies. They have ported Icon to a very wide range of architectures and operating systems. BUT to do something like this doesn't require just one very smart professor (Griswold) and good students; it requires a long-term commitment from the whole department and it requires $money$ to pay for the hardware and clerical support. I hope students who've worked on Icon are very much more employable; they deserve to be. But if you get calls from head-hunters saying "have you got any students who can program Windows below the API level? There's a lot of demand for that" (this really happened to me) it is rather discouraging. >Why is doing >large important software project demonstrating clean software >techniques so disparaged in CS? _Is_ it disparaged in CS? We'd do it like a shot if (a) we could do it without kicking a whole lot of important things out of the curriculum (including technical writing) that _are_ there. We're constantly trying to improve our course, but there is just so much time in an undergraduate degree and there is _so_ much we need to teach. (Like spelling and arithmetic. It's not just the US schools. TV has had the same effects everywhere.) (b) if it didn't frighten off potential students. When we were just _thinking_ about switching from Pascal to another language in first year, we got phone calls from schools saying "do that and we'll tell our pupils to go to elsewhere". I am not joking. We've switched to Ada. Great language. But I hope we survive the change. (c) the market for students who've done it were just a _bit_ bigger. Industry apathy isn't confined to the USA either. (For what it's worth, some of the research projects some of our staff work on _are_ clean commercial level software involving some graduate students.) We've switched to Ada because we _are_ interested in producing students who can write working code to spec (as well as understanding what they are doing). We'll consider _any_ suggestions to help achieve that goal. What should we be doing? >It >seems to me reasonable to require 3-6 quarter classes (2-4 semester) >of programming lab on a real project. I think the students would >learn alot. Empirical studies could be done with these labs. >Please tell me why this is not being done (I know there has got >to be a reason). There aren't 2-4 semesters spare. What do we kick out to make room? That's our problem. We're not teaching rocket science either. (Big-Oh is not rocket science. It is very very practical. Basically, it puts some detail on the motto "beware of solving toy problems".) >Why can't Computer Science answer the real questions like which >approach to software construction are optimal given which >circumstances? Fundamental questions like: Should programming >languages be more controlled/disciplined or more free/powerful? Questions about programming languages have a lot to do with psychology. Since people and problems differ, I'm afraid the answer is "sometimes they should and sometimes they shouldn't; it depends". Besides, where is it written that more controlled is the opposite of more powerful? Ada is _both_ more discplined _and_ more powerful than C. Again, software construction is mathematical, social, political, legal, and psychological as well as computational. Some academics _are_ trying to tackle these issues (not me). See for example the work on meta-modelling. A student here is working on meta-modelling of OOD. It's important. It's hard. >If >academia actually cared about teaching the latest software methods, >then I believe Ada would have immediately taken off at universities. As it happens, I learned about Ada at a University. I friend and I were even going to post a comment in the first general review about exceptions, but we found that someone else got there first. This was even before Ada 83. >They would have been out front on OO technology instead of eating >industry's dust. Where did SELF, Sather, Tethys, Emerald, and a lot of other good OOP come from? Industry? Nope. >Many years ago it seemed to me the academia was out >in front, now they have regressed to teaching C (talk about training). In the 90s, universities have to earn a living. When I was an undergraduate, the NZ government paid me to study. Nowadays that's a thing of the past. NZ and Oz governments charge students, and not small sums. Any student who can do a bit of arithmetic says "hmm, I am going to spend $X for Y years, instead of earning $Z. I had better earn at least ($X+$Z)*Y more than someone without a degree otherwise I will be losing money." In my case, even though my education was subsidised, the loss of income means that I won't break even (compared with someone who gets a job hacking visual basic) until I'm 50. This means that there is a *very* strong pressure from students "don't waste my time with things that won't directly help me get a well paying job". RMIT _has_ resisted the pressure to train people in C or C++ or whatever the fashion of the instant is (we do teach them whereabouts in the course and to the degree that it makes sense), but if we go _too_ far out in front it will ruin us. Specifically: we run a very real risk of being perceived by students and industry as "theoretical", "impractical", "out of touch" precisely *because* we have switched to Ada. If we spent a significant time on Eiffel, bye-bye students, bye-bye income. What it boils down to is that we can only afford to teach things that industry is willing to reward students for having learned. -- "The complex-type shall be a simple-type." ISO 10206:1991 (Extended Pascal) Richard A. O'Keefe; http://www.cs.rmit.edu.au/~ok; RMIT Comp.Sci.