• patrickmcginnis59 10839 (9/13/2013)


    Maybe it would be interesting to consider what phd's were available at the time that many of these folks did NOT choose and instead pursued studies in mathematics, engineering or other non CS studies. For example, should we wonder why Mr. McCarthy or Mr. Turing did not pursue their education in the field of computer science? Would that help us determine whether all the present day companies are mistaken in desiring job candidates with academic credentials in relevent fields?

    Perhaps you didn't notice that my text which you quoted contained this:

    Do you think that no-one should have been recruited to work on computers before about 1958, since there were no academic qualifications in Computing or IT way back then?

    That should have made it clear that I am well aware of what the situation was way back then. Incidentally, I think 1958 may be a few years earlier than the first first-degree course in CS; MU started theirs in 1965, that was the first in the UK, and I don't think the USA was much earlier.

    I don't however think that companies are sensible in requiring academic qualifications in computing or IT; a degree in maths, perhaps specialising in formal logic and, logical calculi, type theory, and proof theory, and recursive function theory would probably give a far better grounding than the typical first degree course which uses one or two languages chosen from Basic, C++ Java, and Modula as if they were the only computing languages in the world and doesn't touch the theory of computation, type theory, process-oriented calculi, communication-oriented calculi, relational database theory, error management, queuing theory, formal verification, or anything else other than how to churn out ill-considered third rate code or how to write acceptable bovine waste-product essays despite having no basic grounding in the science and art of computing; they don't even teach the need to be careful about error propagation, or to obtain some idea of the computational complexity of an algorithm you are thinking about using; this results in people computing matrix inverses, determinants, and eigenvectors using recursive descent instead of Gaussian elimination because they don't realise the complexity is O(n!), which is a bad thing already; and will also maximise the error in the end result due to the rounding and representation errors mounting rapidly, which is also a bad thing. There are of course some universities that don't conform to fashion, and do teach computer science, and teach it well, instead of teaching programming, and teaching it badly. A typical physics student is likely to use a computer during his studies, to do complex curve fitting and estimation of probabilities, and does understand both computational complexity and error propagation by the time he gets his first degree, even though he will have learnt to use an unfashionable language like Fortran or Algol (60 or 68) or C, but will have more clue than a typical CS graduate.

    Maybe my views are biased because I've seen no-hopers for a computing job from CS or IT courses more often than from other subjects, and know very few universities whose first degrees in CS/IT are worth anything. But I believe that we currently have a problem because many universities are trying to do what industry wants (or what government wants, which here in the UK is keep the costs down regardless of output quality) and because all the job adverts ask for C++ experience (or whatever) they decide to spend most of a three or four year course on C++ (or whatever) and none on computer science or related topics. 45 years ago we had a different problem: very few universities offered first degrees in computer science. In effect, the result is the same: there are too few people gaining first degrees in computer science or IT that qualify them for a job in computing/IT. It's a worse problem now that it was then, because now people are demanding CS/IT degrees - and people who are perfectly well qualified through their maths or physics or engineering or other background - including people who have been working in computing for years and have an excellent track record - are being rejected out of hand because there are people who have meaningless degrees who can be taken on instead.

    Tom