Slashdot is powered by your submissions, so send in your scoop


Forgot your password?

The Death Of CS In Education? 521

JohnnyKimble writes "A provocatively titled article recently appeared in the 'Future of Computing' section of the British Computer Society website. 'The Death Of Computing' was written by a lecturer at De Montfort University in the UK, and considers the problem of falling interest in computer science courses in the UK and what needs to be done to encourage more students to take the courses." This ties in well with our discussion last night about Why Software is Hard.
This discussion has been archived. No new comments can be posted.

The Death Of CS In Education?

Comments Filter:
  • good (Score:3, Insightful)

    by Lord Ender ( 156273 ) on Sunday February 04, 2007 @07:46PM (#17884166) Homepage
    Computer Science needs to die (well, shrink a lot). Industry does not need computer scientists. It needs software engineers, human interface engineers, and programmers.
    • Re:good (Score:5, Interesting)

      by Shados ( 741919 ) on Sunday February 04, 2007 @07:58PM (#17884224)
      Bingo. CS is dying because of the lack of software engineering classes. There -is- a definite need for computer scientists. However, its totally crazy that 90% of computer related programs in college are CS, when the need for software developers, analysts, software architects and software engineers trump it 10:1. So you have a ton of people who end up taking a CS degree, and because of the market's needs, work as software engineers or whatsnot, thus inevitably ending in a "Wow, what I learnt in school is useless!" (when its not, its just that the 1794012740912709124 people who have more experience got the interesting CS jobs first...), and thus, interests die.

      If the people who want to do software developement had more options in college, and could go in that direction, there would actualy be some room left for CS...
  • by Lazerf4rt ( 969888 ) on Sunday February 04, 2007 @07:48PM (#17884176)

    More job security for those of us already in CS.

  • Oh, that's easy. (Score:4, Insightful)

    by edunbar93 ( 141167 ) on Sunday February 04, 2007 @07:50PM (#17884182)
    All you have to do is print lots of stories about how people are making hundreds of thousands of dollars a year "just because they can operate this computer". You know, kind of like back when I was a kid. The kind of thing that suckered me into getting into a field that is destroying itself.
    • you were the ones who did the bare minimum to get through university. Never read the textbooks. Pooled efforts with your friends to complete assignments, plagarising off each other, and getting away with it until the university introduced automatic plagarism detection software. You guys were the ones who came into the lab and complained that you couldn't get a terminal to complete your assignments due to those of us who actually chose to study this field out of actual interest taking up seats. You guys
  • Market forces (Score:3, Interesting)

    by Colin Smith ( 2679 ) on Sunday February 04, 2007 @07:54PM (#17884202)
    People aren't interested because the pay is crap compared to a few years ago. Simple. It's not a desirable profession. And the reason the pay is crap is because there is an oversupply of IT services to the market. That oversupply pushes down the salary. The oversupply is typically coming from developing countries; India etc.

    • Re: (Score:2, Interesting)

      This is true. Why would someone get a degree in something that is being outsourced to India or China? Kids today do read about these mass layoffs. My degree is not in CS, but I am working on a degree in information assurance, not programming.
    • So what's the problem? A decrease in wages will lead to a smaller worker pool, which in turn will lead to an increase in wages, and so on.

      Let the free market handle this.
      • So what's the problem?
        The problem is that we have academics shouting that we need more CS graduates in a time when there's already over supply of CS and IT services. If they keep shouting, the government will step in to "do the right thing" and encourage even more people into the sector.

    • Re: (Score:3, Informative)

      by Axe ( 11122 )
      Then why it is so hard to find somebody half decent for a very competitive salary?
  • by Lord Kano ( 13027 ) on Sunday February 04, 2007 @07:55PM (#17884206) Homepage Journal
    I am frustrated at how many people persuing CS degrees don't properly understand basic data structures. Arrays, stacks, queues, vectors binary trees and the like are not really thought about as much as they should be. In too many places CS is becoming increasingly about a little bit of "CS theory" and a lot of "MS Applications".

    Want to save CS? Put "Computer Science" back into it.

    • Why do you people wish to "save" CS anyways? If anything, we have too many crappy CS graduates that are driving the wages down for everybody.

      So if anything, we should welcome the fact that fewer MBA types are drawn to CS.

      And after awhile, the worker shortage will result in higher wages and we'll get more kiddies back.
    • Re: (Score:2, Interesting)

      by ukatoton ( 999756 )
      I agree almost completely, though with a slight difference of opinion. to me, CS == computing, rather than the 'IT' courses, which are; as you say, just how to use MS office.

      I myself (at 17) am currently doing computing AS, and we *are* learning about arrays, stacks, queues, vectors and binary trees. Most people are doing maths AS, but not further maths (modules like decision really help with computing concepts). I doubt most of the class will even remember any of this in 2-3 years time. In the class of
  • What is CS Anyway? (Score:2, Informative)

    by tymbow ( 725036 )
    I find many people don't even know what CS is anyway. Most people I meet seem to lump anything do with computers under the CS banner.
  • so what? (Score:5, Insightful)

    by Bender_ ( 179208 ) on Sunday February 04, 2007 @08:12PM (#17884304) Journal

    Science is hard and not sexy. There are also too few electrical engineers (not VHDL programmers), semiconductor scientists, material scientists, physicists and what not is needed to feed the entire information technology chain.

    On the other hand - the other posts are probably right about the common misconception of computer science and programming.
  • by viking80 ( 697716 ) on Sunday February 04, 2007 @08:12PM (#17884310) Journal
    A generation ago, back in the 70s, the science department on my highschool got a basic computer . I wrote a program that would show time with analog hands (calculated with sin(t),cos(t)).

    I tried to get my son interested in programming by showing him how to write som simple software that could draw stuff.

    His response was basically: "Why cant we make something like 'Grand theft auto'; This is boring"
    • by julesh ( 229690 ) on Sunday February 04, 2007 @08:22PM (#17884372)
      That's not a generation gap talking. That's the fact that less than one person in a hundred actually finds this stuff interesting.

      This is how it was, and how it is. In the middle, there was a spike of people looking at lists of well-paid jobs and industry articles complaining about a shortage of people with the skills to fill them, and seeing those three-stage plans without the missing step. Most of those are gone, now. We're back to just the enthusiasts.

      • Re: (Score:3, Interesting)

        by gammoth ( 172021 )

        This reflects my experience. I enjoy programming and time flies by when I'm doing interesting work. I've tried to share the enthusiam for programming with my two kids, with little success. Most people just aren't in to it, and that's fine.

        Sometimes I wonder how many people get a similar kick out of their profession. Do lawyers thrill with the application of law the same way I love getting threads to cooperate to solve a problem? Or override equals so that a set works as specified?

    • by Aladrin ( 926209 )

      2 things:

      1. Times change. Making a machine do something thats definitely NOT the norm was exciting back then. Its exciting now, too, but making an analog clock on a computer is definitely not abnormal.
      2. And not everyone likes the same things. My father is a very good industrial engineer. I have absolutely no interest in that. Instead, Im a computer programmer, and I like to think Im pretty good at it. Every time I explain something thats amazingly cool in computers, he gets the same glazed-eye look that I get
  • by Crosma ( 798939 ) on Sunday February 04, 2007 @08:17PM (#17884340) Homepage
    I studied at Cardiff University. The British Computer Society pushed so much unnecessary crap onto us (Accounting, Business skills, Information Systems, Distributed Systems, Information Management) that there was not enough room left for a hearty course. I've never heard so much bollocks. Things like compiler theory, functional programming and logical programming were optional due to lack of space. It's pressure from the BCS that's made the Computer Science degree a waste of time in the UK. Plenty (read: most) Computer Science graduates with first class degrees got them by being good at the bollocks, and mediocre (or useless) at anything useful. Of course, I'm bitter because I was never any good at the bollocks, so I got a crappy degree.
    • Re: (Score:2, Insightful)

      Plenty (read: most) Computer Science graduates with first class degrees got them by being good at the bollocks, and mediocre (or useless) at anything useful.Of course, I'm bitter because I was never any good at the bollocks, so I got a crappy degree.
      Bullshit. CS grads with first class degrees got them by being good at everything.
      • Re: (Score:2, Informative)

        by Crosma ( 798939 )
        You are right, of course. I'm just bitter. I was one of the more adept programmers (let's say, top 5%) in the year, but my degree does not reflect that, because I sucked at everything else. C'est la vie.
      • Re: (Score:3, Informative)

        CS grads with first class degrees got them by being good at everything.

        If only that were true.

        And no, that isn't bitterness. I was pretty high up in the year group in my CS studies. But a few years later, I also now mentor new starters at work, and there are plenty of guys out there who got great qualifications but still don't get it.

  • by Umbral Blot ( 737704 ) on Sunday February 04, 2007 @08:18PM (#17884346) Homepage
    CS is dying because it is several different disciplines wrapped up into one, making it hard for students to get the education they want (or need). Some want to focus on the mathematical and theoretical aspects of computer science. And yes, we need these people because they are the ones who come up with the new encyption methods / exponentially faster alorithems / proofs that one way to route traffic is better than another / and so on. Some want to be software engineers (learning how to program and program in groups). Still others want to focus on user interface design or software design in general, without dealing with all the programming details. And of course there are niche fields like 3D graphics and AI that are important but not really large enough to split off on thier own. In any case the point I am making is that, by cramming all these together under one degree, CS programs tend to suck because you are forced to learn stuff that you don't want to, and so the degree you earn isn't necessarily relevant to what you want to do. Students are catching on to this and are thus migrating away from the standard CS degree, some of them never to come back.
  • Once people sense that there actually are jobs available at a living wage, they will start studying Comp Sci again. It is the Free Market at work...
  • The Classics (Score:5, Insightful)

    by MBCook ( 132727 ) <> on Sunday February 04, 2007 @08:21PM (#17884368) Homepage

    We've talked about this on /. before. Many of the things I'm about to say will probably be in other comments, or you've seen in the past. I'll try to give a whole picture though. I should also mention where I'm coming from. The article is from the UK, but I'm in the US (almost dead center). I graduated with a degree in CIS (Computer Information Services) around June, and I've had a job as a software engineer for about 6 months now with a great little company.

    Now I'm the kind of person who has always been interested in computers. Like many /.ers, I would probably have pursued this field if it paid next to nothing. While my salary is nothing to sneeze at, it's nothing compared to the 60-70k number people seemed to like to throw around during the bubble.

    When I entered college in 2001, there were TONS of people who were in it for the money. That was clear by what they knew, how hard they tried, etc. There were more who seemed to think it would be interesting but weren't sure they wanted to do computers. There were others like me who breezed through the early programming courses because we were self-taught already in such simple things (basic loops, etc).

    As I went through school, the bubble burst and the idea of instant riches from computers disappeared. Biomed seems to be the new instant riches career.

    The biggest attraction to the field I see now for the average person is games. Everyone wants to make games. You like video games? Why not make them! You can get a CS degree or go to one of the many colleges offering game focused degrees (both accredited and fly-by-night). If you're on Windows, you have no chance at being exposed to programming. When I was younger we had HyperCard on the Mac (fantastic), BASIC on DOS/Windows, and you could learn. Today, Windows doesn't come with anything to learn programming. There is free stuff out there, but it doesn't come on the computer. Combine this with the fact that in the DOS days you could make something decent looking with BASIC or Hypercard that looked somewhat comparable with "real" software. Try that with today with anything. GUIs aren't easy. Even VB requires some rather abstract concepts (like events).

    Some schools are not much better. The school I attended (DeVry) has scraped their computer program (which wasn't bad) and has replaced it with the "tracks" system. Now you don't get a CS degree, you can get a degree that focuses on database programming, or computer forensics ("It's computers, combined with CSI! Fight crime!"), or something else. It is nowhere near as general and well rounded as it was.

    CS degrees seem to be being dumbed down (which seems at least due to trying to attract more people during the bubble). My local state school (which I attended for a while) had a pretty good CS program, but they've were dumbing it down as I left (putting off harder classes, using "easier"/trendier languages, etc.)

    But like the article said. Computers aren't magic boxes any more. They are a normal part of life. They are like cars. Most people don't care how to make a car, only some people will try to do that for a living. We may be near that point with computers. Most of the children I've met in the last few years may use computers a ton, but don't care much about learning how to make stuff for them. They don't even have a passing interest in trying to find out the beginning. I may not know enough to make a car (far from it), but I understand some of the principles behind it. I know about the internal combustion engine.

    I don't expect them to want to know about RCU, radix-trees, elevator schedulers, memory mapping, and other relatively esoteric things. But many don't even know about programs/operating systems/processes, or even really understand the filesystem hierarchy. They can get around quite well, and they've been trained in how to make flashy Powerpoint presentations about pointless things (I can't tell you how great a skill I think that is that the public school taught my 13 year

  • So ok, I know it's contentious - but when I started in the biz back in the late 70s my contempories were people without CS degrees. I worked with a guy with a geography degree, someone with an Archaeology degree and as for me - I didn't (and don't) have a degree at all. My highest qualification is a local exam that gave me some credits towards a Classical Studies degree.

    What the profession needed - and still needs - are people who can communicate effectively. The subjects that are taught in a CS cours

  • I considered doing Computer Science at university but I decided against it (doing physics instead) as I was told by many people that job prospects were limited due to an already saturated market. Not actually being in that business I can't claim it's a valid reason but if I was told it then perhaps others were too and decided against it?

    Of course, with tuition fees introduced in British universities there's been a fairly large decrease in students applying this year as compared to previous years. It could j
    • Yup, there is still an oversupply in CS and IT. Of course the professors want more students - perhaps the professors need to do some burger flipping too, to learn the reality of the situation.
  • by bcrowell ( 177657 ) on Sunday February 04, 2007 @08:37PM (#17884522) Homepage

    Public breast-beatings like these are generally political maneuvers by people in the field, who want more power and funding. I'm a physicist, and in my field you hear the same kind of thing: boo hoo, the number of students majoring in physics is dropping, it's a national crisis, please throw money at us to cure the problem. Usually the people complaining are faculty who produce 20 grad students over the course of their careers, and tell all 20 of them that they're failures if they can't make their way into careers exactly like their adviser's: teaching and doing research at a school that has a high-powered graduate program. There's always the nationalism, too: watch out, because the Russians (or Chinese, or Indians, or, ...) will beat us. They always leave out some of the relevant facts: that the U.S.'s graduate-level educational system is the envy of the rest of the world; that the number of people the U.S. is trying to educate at high levels is higher than anything that's ever been attempted before in all of history. People misuse statistics like crazy, too. For instance, they compare the number of students graduating in India with the number graduating in the U.S., but the degree programs in India they're including are basically like AA degrees, not programs that are comparable to a U.S. bachelor's degree.

    Another issue that people tend to sweep under the rug is that there is a pipeline at work, and the reason people drop out of the pipeline is usually a good one. At every step along the way, some people are dropping out of the pipeline simply because their genes don't make them good at the field. Others are dropping out because they're low on motivation. Others are dropping out because they don't enjoy it, and can tell that they're not going to enjoy it once they're out of school and in a job. Still others are dropping out because they see the field as being incompatible with the family lifestyle they want.

    And finally, these fluctuations in enrollment are usually driven by Mom and Dad. There is always a small core of people who were born to do a certain thing, whether it's music or plumbing or CS or physics research; they're in the field because they love it, and they love it because it's what they're naturally suited for. Layered on top of that core is always a much bigger number of people who majored in something because Mom and Dad told them they could make a lot of money at it. When times are good, the core still does well, but the wannabes bail out, because it's not turning out to be a good way to earn big bucks doing something that they're marginally talented at.

  • by Godji ( 957148 )
    Give young students a sufficiently motivating introduction to computers with an open transparent system they can easily tinker with, and are allowed to tinker with. You already know which one.

    Back at my high school we had a bunch of 20 MHz Macs, later replaced with Windows 2000 systems. The rules were: don't touch anything you dno't know, don't access at all outside class, don't do anything that could possibly ever be dangerous, don't tinker so that you don't break it, and no, you can't change your screen
  • I RTFA (Score:5, Insightful)

    by Anonymous Coward on Sunday February 04, 2007 @08:40PM (#17884560)
    I read the article, and I disagree utterly.

    The problem is a much deeper-lying one. Universities are selling themselves as steps towards getting jobs. With very rare exceptions (divinity, for instance) this was never the case, nor was it intended to be. They are not vocational institutions, nor are they designed as such.

    I have seen, and been in, vocational institutions. They are very fine places (called vocational schools, technical colleges, technikons or what have you) where pupils are drilled in particular modes of work to accomplish given tasks. They are very good at what they do, and they often work alongside other teaching systems such as apprenticeship schemes. They are not interested, institutionally speaking, in research, nor in high-flown theory. They are there to tell little Johnny that if he pulls the lever on the drill-press smoothly and evenly, it will produce an accurate, regular hole with little risk of breaking the bit. People who want to learn to be Java programmers would be well served by attending such courses. They will learn to crank out Java well, repeatably, and quickly. They won't learn in-depth knowledge about garbage collection strategies; that isn't why they are there.

    Universities are not about drilling students. They are set up to expand minds. In principle a university could be a few comfortable seating areas around a vast library, with students exploring under the guidance of other people interested in expanding human knowledge. Add a few laboratories, maybe a few lecture halls for guest presentations, and you're there. In the computer science world, where the point is to have students truly understand on a deep level what is going on inside the computer, and even inside computers which only have theoretical expression, drilling them in Java would be a total waste of time.

    The writer of the article wants student numbers up, and shows little or no interest in the raison d'etre of the courses and departments in the first place. His agenda, as revealed by the article, is for universities to be, or to become, vocational institutions. This is in line with the existing trend for universities to beg for students, tempting them with airy promises of gainful employment. The problem can be phrased as a question: where will those who wish for the services of universities, rather than vocational institutions, go?

    Right now, the best bet would appear to be a library, or perhaps the web, because only there is pertinent information available with a minimum of time-wasting distractions. At this rate we bid fair, at least in computer science, to leave behind the benefits of university courses and return to a pre-academic level of support for research. I won't go so far as to say definitely that this is a bad thing, but I do think that to present what the author is suggesting as a university course is bordering on the fraudulent.
  • It's the U.S. too. For example, I'm going back to school and getting an engineering degree. Why? Because my InfoSci degree is pretty much useless.
  • by aldheorte ( 162967 ) on Sunday February 04, 2007 @08:43PM (#17884586)
    Software is the future of business. All businesses will become fundamentally software companies. Many are already there. All work will have to be custom, because if you simply buy the same packages as someone else, you have no competitive advantage. It doesn't matter if the industry is farming, manufacturing, or high tech, the ability of your company to compete will depend entirely on your software and the people you employ to make, configure, and maintain that software. Companies that view IT merely as an expenditure will be the road kill of other companies that use custom software to compete in non-traditional ways. It's also a network issue - most companies will want to integrate systems with their partners. If your company doesn't have this ability, and specifically the ability to custom tailor your systems for the integration, then you will be out of the network and, in a few years time, essentially completely out of the economy.
  • by 3seas ( 184403 ) on Sunday February 04, 2007 @08:45PM (#17884594) Homepage Journal
    Perhaps we are just getting tired of pretending the obvious doesn't exist --- or in other words we are becomming so accustomed to computer in general that we are naturally quantizing its purpose and functionality?? Or from another perspective, let's up gear and find a better way to calculate with more then just the numerical subset of abstraction, but with what ever abstractions we might come up with.

    Lets try try this other perspective!

    A course in: Abstraction physics


    The physics of abstraction (abstraction physics)is of an outside looking in perspective, where rather than creating another abstract language (inside), instead sees the underlying action machinery enabling the ability to create languages (outside looking in). Since Abstraction is a human mental characteristic, there is an inherent subjectivity to the topic. However, through the use of computers we can be more objective about abstraction physics. See: Abstraction (computer science) []

    Abstraction enters the picture of computing with the representation of physical transistor switch positions of ON '1' and OFF '0' or what we call "Binary notation". However, computers have far more transistor switches in them than we can keep up with in such a low level or first order abstract manner, so we create higher level abstractions in order to increase our productivity in programming computers. From Machine language to application interfaces that allow users to define some sequence of action into a word or button press (ie. record and playback macro) so to automate a task, we are working with abstractions that will ultimately access the hardware transistor switches which in turn output to, or control some physical world hardware.

    Programming is the act of automating some level of complexity, usually made up of simpler complexities, but done so in order to allow the user to use and reuse the complexity through a simplified interface. And this is a recursive act, building upon abstractions others have created that even our own created abstractions/automations might be used by another to further create more complex automations. In general, if we didn't build upon what those before us have done, we then would not advance at all, but rather be like any other mammal incapable of anything more than, at best, first level abstraction. But we are more, and as such have the natural human right and duty to advance in such a manner.

    Abstraction action constants:

    There is an identifiable and definable "physics of abstraction" (abstraction physics), an identification of what actions are required and unavoidable, in order to make and use abstractions. Abstraction Physics is not exclusive to computing but constantly in use by ... well... us humans. Elements or facets of abstraction physics include the actions of abstraction creation and use, such as:

    0) Defining a word to mean a more complex definition (word = definition, function-name = actions to take, etc.)

    1) Starting and Stopping (interfacing with) of an abstraction definition sequence.

    2) Keeping track of where you are in the progress of abstraction sequence usage (moving from one abstraction to another).

    3) Defining and changing "input from" direction.

    4) Defining and changing "output to" direction.

    5) Getting input to process (using variables or place holders to carry values).

    6) Sequencially stepping thru abstraction/automation details (inherently includes optionally sending output).

    7) looking up the meaning of a word or symbol (abstraction) so to act upon or with it.

    8) Identifing an abstraction or real item value so to act upon it.

    9) Putting constraints upon your abstraction lookups and identifications -When you look up a word in a dictionary you don't start at the beginning of the dictionary, but begin with the section that starts with the first letter then followed by the second, etc., and when
  • Blame employers (Score:5, Insightful)

    by stinerman ( 812158 ) <{moc.liamg} {ta} {enits.nahtan}> on Sunday February 04, 2007 @08:48PM (#17884614) Homepage
    Too many employers look for checklists of skills rather than overall knowledge of an area. In a job interview I was once asked why I didn't ever get an A+ certification. I told them that since I had 6 years experience in the field, I didn't need it. They still pressed me to take the A+ test after I was hired.

    Similarly, the fact that I'll have a related degree in the field won't matter to a lot of HR drones. They care more about MSCE and CCNP certifications than they do a Bachelor's degree. I know the underlying concepts of networking, routing, etc., but since I haven't worked directly with Cisco routers, I'm apparently useless to them. Who cares that I can learn whatever software package they're using in a week or so?

    No wonder no one wants a degree in "CS". They just want a job in the field, and there are easier ways to get there than a 4-year degree.
    • Re:Blame employers (Score:4, Informative)

      by SkyDude ( 919251 ) on Sunday February 04, 2007 @09:20PM (#17884840)

      Too many employers look for checklists of skills rather than overall knowledge of an area.

      You couldn't be more on target if you shot it with a .357 Magnum. While any employer wants to make sure they hire the right person for a given position, far too many rely on the degrees listed on the resume rather than the practical application of the supposedly accrued knowledge. When it comes right down to it, earning a degree only shows one's ability as a student, not the real world use of that knowledge. Why else are there so many semi-competent people in various fields, programming being just one of them? Hell, anyone can probably list a dozen different CEOs who are running their companies into the ground.

      I'm not down on education or earning advanced degrees, but several years ago, I remember reading about the explosion of MBAs. In the article, the author pointed out that less than 15% of CEOs in Fortune 500 companies had advanced degrees. I don't know if that still holds true today, but it proved to me that real world knowledge was far more important than a degree in a frame.
  • by CrazyJim1 ( 809850 ) on Sunday February 04, 2007 @09:03PM (#17884726) Journal
    I've programmed as a hobby all my life and have a computing degree from Carnegie Mellon. I'll tell you what is hard: Finding a job coming out of college. Everyone looks at you like you have no idea how to code because you have no experience. It makes me mad I went to college when I coulda just coded for some startups in the mid 90s and been fine.
  • by Marcos Eliziario ( 969923 ) on Sunday February 04, 2007 @09:16PM (#17884810) Homepage Journal
    The market itself will start having to pay higher salaries for professionals desperately needed and increasingly harder to find. This will attract more people to the field.
  • A few thoughts (Score:3, Insightful)

    by plopez ( 54068 ) on Sunday February 04, 2007 @09:52PM (#17885058) Journal
    1) He cites a 39% drop in students from 2000 to 2005. I contend that the numbers in 2000 were vastly over inflated and so a drop is a good thing. Gets rid of the riff raff and gets the numbers of graduates in alignment with the actual job market.

    2) He speaks of CS, but muddles in things I would refer to as software engineering, computer infomation systems or managment information systems. CS should be research based while SE, CIS and MIS should be more vocational.

    3) There a sort of 'what are we going to do if they slash the department' aspect to the article. My answer, find another job, just like the rest of us who have been laid off. No sympathy here.

    4) He cites 100K IT graduates a year ready to do offshore support work but fails to mention that Indian companies are looking outside of India for labor. There just isn't enough labor out there to keep up with the crappy software. Hint: maybe CS departments should focus research and training on software quality. As a foot note, I wish I had the numbers or an economist would do a study, but in my gut I feel that demand for skilled IT labor is vastly outstripping supply. The US, Western Europe and India are all being depleted, or have been depleted, of skilled IT labor forcing them to look toward Vietnam, Indonesia and West Africa. And that is a huge chunk of the global population.

    5) Another research hint, most software I have seen has been brittle and required much programmer attention as business rules changed. How about focusing on making software soft and flexible? This is very much where AI techniques might be used.

    6) I agree that the best thing to do is to be cross disciplinary. That is where the most dynamic, chaotic wild and wooly problems live. The ones really fun to wrangle.
  • by the_womble ( 580291 ) on Monday February 05, 2007 @01:42AM (#17886578) Homepage Journal
    The article is written by someone who heads a computing department at an organisation that is oriented towards vocational training - until 1992 it was not even allowed to call itself a university. See their history: []

    The article a large element of "look at all the useful stuff we do here, not like the useless theory they do at places like Cambridge".

    Sadly, both government and students (not just in the UK) increasingly want two things:

    1. Vocational degrees as directly related to jobs as possible
    2. Easy degrees: the government to makes the stats look better, students because its less work

    There is nothing new about this. There are proportionately for more students far more money going into easy and "useful" subjects like media studies. De Montfort University offers a degree in lingerie design [] as well as "humanities" degress in dance, journalism and arts management [].

    There is less and less interest in hard and non-vocational subjects like maths, English, physics, classics, etc.

  • by FlyingGuy ( 989135 ) <flyingguy AT gmail DOT com> on Monday February 05, 2007 @03:07AM (#17887064)

    When i was in HS ( '73 - '77 ) being a Computer Scientest was meaningfull because they were the guys creating what today we call a "computer" along side guys with "EE" degrees. The EE guys built logic circuits that the CS guys wrote, by todays standards, primitive code that made them work. Compliers were extremely rare and we barely had "high" or "mid" level languages. Most stuff was writtin in machine code.

    Now contrast that with today. Compilers, good ones even, are really a dime a dozen. Linkers and assembler are the same. The very talented have created languages, structures and frameworks that take most of the "programming" out of what people do today. Look at Java, Delphi, C#, C++, Ruby, Python, Perl, C, VB, all of them. How much really guts low level programming to the vast majority of programmers really do?

    There are libraries and frameworks for practicaly everything. You need a database? Go download MySQL, Firebird, Oracle, DB2, Interbase etc. You want to build a UI? There is the entire MS-Windows API, Gnome, Aqua, KDE and numerous others. Need to talk TCP/IP, there are libraries for that on every platform, with simple invocations for just about every language. Almost everything low level these days has had a wrapper for your favorite dialect put around it.

    The vast majority of programmers these days are more or less scripters. Yes you use the vocabulary of your favorite language, but lets be real here for a moment. Lets say you want to represent a list of files to a user via some UI. Are you going to go out and write the very low level code that will determine, with a mathematical proof, that you are reading the file entires on the disk drive to make sure you are doing it as fast as possble? Nope. In windows you are going to use the FindFirst / FindNext API. In *nix you might just spawn off a find thread and get its results back through STDIO. Thats not what a lot of people would say is programming in its classicle sense of the word.

    A lot of the first programs i wrote that had a user interface sent me into long nights of just handeling field input, because at that time I was programming in Turbo Pascal 3.x and there were no librairies or API's that did that for you. So I was writing loops, capturing keyboard input, checking to see if was a function key that was pressed and if not then, well most of you know the drill. I had to build it all myself. But the best thing about that was that I had total control of the user expirience and I had total control of the way the software worked. There was very little in between me and the hardware.

    These days its hard to even find the hardware, much less interact with it. Everything is burried under virtual methods or its being controlled by the underlaying OS which cannot give you direct control over it, because 8 other programs are all trying to use the same bit of hardware. I used to be able to stuff the keyboard buffer, now I stuff the message queue and its harder to deal with then the keyboard buffer.

    The market forces really have not changed, as others have asserted, the nature of the beast has changed. I am 48 years old and 25 years ago there was barely a thing called a network, these days its ubiquitous. 25 years ago you had to either be one very smart mofo or you had to have a degree in Computer Science to be able to do anything other then what you got on a floppy. I was not one of the latter, and I worked HARD to understand what was happening inside tht box. I spent many many nights laerning about interrupt controllers, about drive controllers ( MFM anyone? ) about starting drive diagnostics with debug and understanding what the hell I was doing. I cursed IBM daily for dropping all the memory mapped hardware into the TOP of the address space instead of the bottom, OHHHH how I cursed them. I learned the LIM spec and how to shuffle chucks of memory around. but I digress...

    Business embraced the beast and the beast grew and matured. Todays business does not need a person with a CS d

  • Not surprising (Score:5, Interesting)

    by leabre ( 304234 ) on Monday February 05, 2007 @04:55AM (#17887464)
    The type of work I do, knowledge of data structures and algorithms isn't essential but useful. Those who are familiar with the fundamentals generally write better code (optimized and not resource-hungry). I interview people that have multiple degrees and Masters and sometimes a PH.D. that have difficulty answering questions and vectors and bubble sorts. Further, when new employees come in whom I didn't interview sometime we "chit-chat" and talk about algorithms and more often than not they don't have a clue despite their Master's degrees in computer science (I've never been able to explain why but isn't always the case but is more often than naught -- in my experience, of course, YMMV). We have had a few mathemeticians that are absolutely steller at all things math, computer science, and physics but having a "chance" mathemetician start in this company (in my 4 years there) is quite rare.

    Anyway, I don't even have a degree or certification but I do have 10 years professional experience and I very much am familiar with algorithms and data structures and can even conjure up mathematical proofs of some of them (with complete understanding). I'm just a self-study, is all. I started to get a degree in comp. sci. since I was practicing it for many years but got sick of earning crappy crades because I didn't follow things step-by-step as per the textbook but actually optimized or found more efficient ways of achieving the same -- getting ahead of the class mostly. I'm not really cut out to be a robot.

    These days I do a lot of research in things like autonomic computing (self-healing software) and nueral networks and genetic algorithms (which really are just another type of algorithm and data structure in my opinion, nothing magical). Trying to get learning into my business services and elements of healing and user-usage pattern recognition. In the self-healing and learning erea, I mostly have to decipher various doctoral theses and other scholastic publications to get any useful information; not an easy task for someone who at most has about 2 semesters of college edumacation and no industry certs (but well over 800 software programming & related book on my shelf that each have been read cover to cover mostly).

    Computer Science is often misunderstood, too, by everyone in the employment chain. Computer Science is more about research and in a sense, pioneering, and coming up with better ways to solve problems or even identifying new problems to solve at a fundamental level. Comp. Scientists will even offer "proofs" of various solutions and so on and present initial implementations.

    I view Software Engineering more as "vocational". Not necessarily research and acedemics, but more or less puting well-known practice and knowledge into implementation; designing architectures and frameworks and such. I'm not sure where the overlap is, if any. I don't picture computer scientists really creating business applications and data entry programs but I do view them creating something like photoshop and flash and operatins systems, for example. There's much research and fundatmentals in those things. I don't view software engineers proper as doing fundamental research but I woudln't rule out them doing research and coming up with creative ways to solve problems that might interfere with the duties of a scientist if requirements dictate.

    My point in all this is that most employers want programmers, coders, or developers (whatever you want to call it) but actually try to hire scientists when comp. sci. isn't about programming as much as it is about research. Most companies don't want researchers, they want people that can take known research and knowledge and put it into practice for the company.

    Most people that want to be software developers don't necessarily want to be scientists; computer science is the wrong field of study for them. MIS or Soft. Eng. is better for them. Though I agree that all programmer types should be familiar with the basics, there's a difference with being
  • by Luscious868 ( 679143 ) on Monday February 05, 2007 @09:53AM (#17888784)
    Let market forces work. Less CS students means less qualified CS grads to fill positions which means higher salaries and benefits as companies compete for workers which means that you'll have more students interested again in CS.
  • by Catbeller ( 118204 ) on Monday February 05, 2007 @01:09PM (#17891262) Homepage
    Some of this might have been covered in other posts and in "Why writing software is hard", but oh well.

    1. Calculus. Not designed for easy understanding, and arguably not necessary for CS. It may be part of programming, but is that because it is necessary, or because CS people know calculus and want to do something with all that painfully acquired knowledge? It's also a barrier that keeps out extremely intelligent people who could do great in CS, but didn't go down that particular mathematical road. Not knowing calc, I am not qualified to say whether or not it is indespensible, but it IS possible to live without it. I guess it is the old CS/CIS divide. Left and right brain, all that.

    2. CS people are perceived as supercilious, arrogant, dissmissive, know-it-all antisocial males. This is a cliche, which is synonym for "obvious truth". Not many want to hang around such a social group. They also run heavily to objectivism, which makes for strained relationships with anyone to the left of Robert Heinlein.

    3. No women. See above #2 for why.

    4. Ageism. It is obvious that anyone over the age of 35 is not really welcome at the table. Unless you are in management, teaching, or are just the very best, you are not at the front of the line when you are applying for work at CoolTech. There are exceptions, and they are growing in number, because of the sheer pressure of so many aging tech people. But the perception, based on reality, is that you have a 15 year career and then you are not welcome at the D&D table at lunchtime.

    5. The profession has been... no word for it, so let's call it "corporatized"? "Downprestiged"? "Bluecollared"? In the early 2000's, a little H1B magic and outsourcing work to cheaper countries gave employers the ability treat their formerly royal employees like janitorial temps. Wages plummetted, management grew rich, resumes were used as kindling for the boss's fireplace. People who spent a decade or more working long days found out that they were as disposable as a Bic lighter in the management's view. Wrong of course, but perception is key and they weren't about to admit they were wrong, so the bitchslapping continues. The bosses *hate* the CS people for having the upper hand for over ten years, and the payback is not going to stop.

    6. Not everyone wants to leap around the country year after year following contract jobs. Can't raise a family or grow equity in real estate that way, and it is a pain in the ass besides.

    7. No unions allowed. Rightist attitudes amongst CS people themselves and a host of labor laws gone unenforced for over 25 years have seen to it that no collective bargaining can be performed, or even be legal. A bit of elitism ("we aren't blue collar lazy union asses!") doesn't help.

    8. What the HELL kind of mess has programming become? Where do you even start anymore? It's in every direction at once.

    9. When exactly did programming become so "businesslike" we have to dress like bankers? Not everyone wants to be a suit. Especially when it's not necessary.

    10. Wages down. Manipulated to stay that way.

    11. It's a lonely profession, and if you are gregarious, the silence and enforced isolation (even if its in your own head) is wearing. Not everyone wants to be a mathematically inclined loner.

    12. No women, not many anyway. Worth repeating.

Q: How many IBM CPU's does it take to execute a job? A: Four; three to hold it down, and one to rip its head off.