Introducing YippieMove '09. Easy email transfers. Now open for all destinations.

The other day I wrote about how much trouble highly educated programmers had solving a simple problem. I have long harbored a suspicion that part of the problem is the way universities work. Universities almost invariably produce inflexible text book memorizing victims rather than people prepared for real life work. This is exactly the people I don’t want to hire. Here’s where the universities go wrong:

  1. Universities encourage detail memorization. Anyone who has been to a university remembers the strain of memorizing arcane mathematical formulas or scientific tidbits. In most problem solving fields (e.g. any field unless your career plan is Jeopardy), this is a horrible mistake. Anything you memorize today is liable to be old news and wrong within a couple of years. And even if you could memorize timeless data, a university is likely to promote memorization of details rather than concepts. At the end of the day, details are easy: you can look them up. Concepts are not. They involve understanding.
  2. Universities are out of touch with reality. Rarely do universities start with real life problems and show you the way to a real life applicable solution. Rather they begin with an academic description of a solution, and once in a while – if they feel adventurous – they might actually present a problem that can be solved with the given solution. You get problem solving tools but no use for them – no wonder your brain feels inclined to get rid of them as soon as possible! It’s like a tailor buying expensive power tools for woodworking. Might be cool to have but damn they take a lot of space without doing much good.
  3. Universities make easy things seem hard. This relates to the previous point. Solutions without problems are inherently hard to understand. Every kid learns to walk by understanding the desired outcome, studying peers and parents and concurrently by experimentation. A typical ‘academic’ study of the same subject would perhaps be titled A method for locomotion by lower limb movement. This is not at all useful by comparison. Not even if the method is described with beautiful mathematical proofs. A person who was taught to walk at a university would be naturally inclined to think it very complicated, while in reality it’s easy. It is worthwhile to note that from the university’s point of view, making things seem harder than they are is a good thing. That justifies the existence of the university.
  4. Universities encourage intra group competition. Even to this day, many American universities do not have clearly defined grading standards and rather rely on arbitrary tests like bell curves. This forces the students in every class to battle it out with each other to get that elusive A they unfortunately need for future success. But in real life, fighting with your group members is the worst thing you can do.
  5. And finally, perhaps the greatest reason. Universities do not respect their customers. Most state funded universities do not usually consider themselves service providers in a free market. For a university, the paying customer is not a customer: the customer is a ‘student’. Rather than adapting to the demands of the customer, universities frequently require their customers to adapt to the universities instead. Once again, almost anyone who has been to a university has taken a class where the teacher is an affront to humanity rather than a shining example in his or her field. Alas, the students’ opinions about the teacher do not count because it is not very easy for the student to vote with their wallet.

A real life example of these shortcomings would be the programmers who came to me and couldn’t solve a simple task. Most people don’t know this, but programming turns out to be really easy. Universities are a part of the problem and every year they hinder another generation of young computer scientists from becoming the effective programmers we need for our computer based future.

Update 1: Just to clarify, this article is mostly about the field of computer science in non private schools. For private schools its more of a buyer’s market.

Author: Tags:


  1. Ok, Alex might be able to raise an interesting point when it comes to Computer Science. I have however, experienced the complete opposite in my field (Business). Here professors do certainly respect the students’ opinions, and is in many cases willing to change to fulfill the students’ needs and wishes. I would also disagree on the fact that professors have no connection to the real life. At schools such as Leavey School of Business at Santa Clara University and Stanford Business School, most of the professors is currently involved in the business-world, or are recently retired from it. Who could be better at teaching Business than a retired CEO from a multi-national corporation?

  2. It’s true that some private schools actually do consider their students their clients. These schools are shining beacons for other, lesser, universities to follow.

  3. Ledow says:

    Although what you are saying may be correct if a given university IS doing all of these things, I have yet to see a university that does any of them (although I don’t doubt that they would exist somewhere and I’m not in the US).

    Maybe we just do stuff different over here but in the university I went to (which is primarily reknowned for its medicine and astronomy rather than its mathematics or its computing, the two areas that I studied) it was the exact opposite.

    A university is where “textbook memorisation” ends. That can get you through your lower exams and INTO university but it wouldn’t get you far in a British uni… if you can’t think for yourself, you won’t make it, or you’ll only scrape through by the skin of your teeth.

    CS classes (when I was there) consisted of nothing more than “this is how you use the programming language”, “this is a highly abstract programming concept”, “you put the two together and solve this real-world problem which may require you to do an awful lot of further background work, method-finding, lateral thinking AND ingenuity”. The problem was that those three parts of the puzzle could be described months or even years apart from each other!

    It wasn’t unusual to get praise for a particularly effective solution that happened to draw on methods that even the lecturers hadn’t envisaged could be relevant. There was no “right answer”.

    In fact, that was WHY I struggled at uni – so much of the work harked back to some method described in textbooks not even mentioned in the course, combinations of many existing methods in distinct fields, piecing together across massive gaps in knowledge to arrive at an answer. I could make the leaps, I could do the research, but boy was it a shock after just walking through my previous year’s of testing by purely having a memory “tuned” to mathematics and CS.

    Most people in university who did “note-taking” and reliance on the lecturer previously covering a mentioned topic in full were sadly disappointed come exam-time. “Recommended reading” lists didn’t cover most of the course unless you were able to fill up the massive “knowledge gaps” with your own ingenuity. That’s where I learned the most in uni – not for anything to do with the course itself but something TRIGGERED by such ideas and problems.

    I did one course on a topic called Graph Theory and one on Coding theory (out of about 30-odd courses over three years). Those two courses occupied ninety-percent of my brain time because they were perfectly suited to me – they “worked” with my brain, they interested me, they showed me the basics of where the subject could go. I’ve never worked so hard on a subject in my life, researching those two in my own time, sometimes at the expense of other courses! I could have done three whole years on just those two courses and still I wouldn’t have been able to learn quite as much as I did just from my own interest in the two subjects.

    As for being “out of touch”, university itself is supposed to be a very abstract concept. University is not there to show you how to program today’s computers or yesterday’s, or even tomorrow’s (there is quite a famous quote, I forget by whom, “Computer Science is as much about computers as Astronomy is about telescopes”) – it’s to show you how to consider all available methods and devise your own. Historical references (and therefore “learn-this-fact” teaching) were, in my experience, only ever made to truly-genius insights that literally introduced new ways of thinking into the subject.

    This is also why “easy things seem hard” – you’re learning WHERE they come from. Scientists (which is what CS is, a science) don’t just suddenly “invent” any theory from bare basics and instantly transport it into the minds of all their students. The inspiration and proofs for even quite minor and “obvious” mathematical solutions is quite often deeply embedded in very high level mathematics. Other similar subjects (CS included) are no different.

    Mathematics is the best subject to demonstrate this – when the proof for a theory is given to you it’s obvious and fantastic. Where that proof comes from may have taken hundreds of years of the best minds. Any idiot can recite, use and even appreciate a proof but it would take a great mind (even if only that of a great student) to UNDERSTAND it’s derivation.

    You can teach all your kids that electrons whizz around a central nucleus and if you want them to grow up to be blind-believers who don’t ask questions, that’s fine. If you want them to THINK and therefore become scientists, the whys, wherefores, discoveries, proofs, alternative conjectures and even history of the theory MUST be discussed at length. Only then can the massive logical leap in the mind of the scientist be displayed and analysed.

    Universities (in the UK at least) rarely encourage intra-group “competition” in any other way than simple statistics. You can’t pass everyone (where’s the challenge, where’s the point?) and you can’t fail everyone (where’s the recognition, where’s the point?) so inevitably, as minds progress and get more complex at younger ages, any type of “scoring” must change. There’s little you can do to stop that.

    Additionally, where is the harm in encouraging “friendly” competition (which was always present in my university for those who wanted it) – that’s a real-world skill that all students will need experience of – it encourages diversity, rewards effort. In the real-world, scientists are all competing with each other but rather than war, it’s evolution – they all know that they are all playing a small part in contributing to advancement of the whole. Read the back-story behind the proof of Fermat’s Last Theorem – multiple competing mathematicians trying to arrive at a common ground and only through a meld of all their various methods and competitive theories could the real proof be found – call it “theft”, call it “co-operation”, it was absolutely necessary to obtain the final proof.

    Universities are there to breed, by natural selection, the next generation of scientists (be they computer scientists or physicists). That cannot be done by rote-learning (which merely generates mindless zombies), it can only be done by challenging the human mind to “join the dots” that nobody else has yet managed to join. There are many stories of universities setting students puzzles (such as previously-unsolved theories) and actually getting un-expected answers (such as the solution!) back from ordinary students. That’s what only a university can do.

    Teaching Java or whatever-other language to a CS student in order to make programming “easy” so that they can knock up a few million lines of saleable code is not what the universities are for. Any idiot can do that with a few hours and a “For Dummies” book. Universities are there to stay on the cutting-edge, leading fresh minds into unexplored areas, generating the next new quantum leap in every subject.

    A university (or a degree) is not designed to be a career-booster. It’s designed to produce the next leap in thinking, and the thinker to do it. Postgrad or undergrad, students are there to exercise their brains, not become good programmers or good financial analysts or good civil engineers – those are purely professions.

    I agree with most of your points (and must state that I haven’t seen a university that does any of them) but you do seem to have a misplaced idea of the role of a student within a university, and the role of the university itself.

    For the record, I have a (not excellent but not scraped-through) Mathematics and Computer Science degree from a UK university. I didn’t pay a bean to go to the univerisity – I got the (for the time) bog standard government grant to go to a quite ordinary non-private university.

  4. Ledow,

    I like your university as well. Indeed it seems a bit different from what I have experienced here in the US.

    Computer Science is, just like you say, a science. Most people don’t consider it a science though. Most computer scientists I have spoken to view the computer science program as just what you described it not to be: a way to learn how to “knock up a few million lines of salable code.” The ‘science’ part, they envision, gives them the theoretical background that gives them that extra ‘edge’, nothing else.

    I think your university’s focus is on creating great scientists. My article was written from the point of view of someone who has to hire programmers to solve real life problems. And the standard way to do that these days is to look for the 4-year program computer scientists. Thus my point: it should be easy to find these kinds of programmers because, daunting as it might sound, writing salable code is child’s play.

    I think for the four year program the focus should be on the child’s play part. The real science might be better suited for those select few who actually wish to go into theoretical research.

© 2006-2009 WireLoad, LLC.
Logo photo by William Picard. Theme based on BlueMod © 2005 - 2009, based on blueblog_DE by Oliver Wunder.