Google is great. I used to live in a remote area by a lake. Well, Google now gives me a high resolution satellite photo of the spot!

Thanks to Downes, I found this paper on how business value qualifications (as in “university degree”) over experience.

Employers regard qualifications as a signal of potential for future learning and skills acquisition, not as a signal of immediate competence. Overall, employers drew a strong distinction between qualifications and experience, and favoured and valued the latter more in regard to many of their business decisions. The higher the level of enterprise change and innovation, the lower the level of value and use made of qualifications by employers.

This is bad news for universities at many level. First of all, for employers, qualifications are not a sign of competence: this makes sense since, in many cases, universities don’t, can’t and won’t train students in practical skills. This reminds me of the claim some make that many CS students can’t program even if their life depends on it. It may explain why many graduates are having a hard time finding a decent job even when the industry complains about shortages. Second of all, the more innovative and fast paced a company is, the less likely it is to value qualifications. Again, this makes sense: a degree is important for a public sector job or for a large, well-established company, because they have more of a long term thinking, but less so for a start-up or small company who needs competence now. However, most jobs these days are created by small companies. This means that recent graduates face a job market where jobs are created exactly where people don’t value their degrees. The net result is that the market value of a degree is not rising (my claim). Again, bad news all around for universities.

Anyone got good news for universities?

Thanks to Downes, I found this beautiful post on why asking for a NDA is like screaming that you are clueless. This comes back to the unnecessary lack of openess I complain about. For every guy willing to implement an idea, you have a thousand ideas out there if not more. Ideas are simply not that valuable.

What was Microsoft idea? You think it was to create DOS and sell it to IBM’s customer. No way! This only came onto them. Take any successful venture, look at the idea behind it and you’ll notice that it was either wrong or not that brilliant.

Good idea are not important, good people are. An idea without the brain holding it is nothing.

This is why we have universities and not merely libraries, btw.

Moving things up on the skill ladder, going to higher level skills and discarding lower level skills where “higher” means “more abstract”, doesn’t necessarily lead to a better education, but to a worse one. You should not discard lower level skills, you should value them: they are our foundation. If you can’t use a broom, don’t use a computer.

Here are a few things you may hear on your campus about CS education:

  • Since this is not a community college, we should not teach more than one OOP language.

    Yes, of course. But even community colleges probably choose either Java or C++ or C# or (gasp!) VB. I have no problem with a school teaching only rudimentary Java as long as the students really know Java. I don’t mean knowing the syntax well or the API well… I mean, being able to do non trivial programming in it. And just generally being fluent with programming: if things go wrong, know how to debug them even when a debugger can’t be used; understand how to do research on newsgroups to help you out; know how to file a proper bug report.

    Either we are saying that a student who knows Java can pick up C++ on his own easily, or else there is something fundamental different about C++. You can’t get around it: it is one or the other. So, can the students who graduate from your program learn C++ easily on their own? If not, you failed to teach them about modern class-based OO. Can they recognize the STL data structures and understand their characteristics immediately, or are they stuck trying to reinvent the wheel?

    In short, teaching only one language is fine, as long as you do it because picking up other languages will be easy for your students, not because programming in various languages is not important.

  • Now that we are using Java, there is no obvious excuse why we have tons of students who cannot program well… before, I thought I knew why!

    Part of the answer is what you value and what society values.

    University professors, generally, don’t know how to write industrial-strength software. They don’t know because they never had to do it and were never involved in real projects. So, they cannot teach it. Period. Note to self: I just made a lot ennemies.

    They have the same problem in the humanities or in business. Several managers can’t write 10 lines of English or French without filling it up with childish sentences. We don’t know about it because these people never really write anything beyond a note. Why should it matter? All they need to do is sign paperwork and attend meetings.

    So, if CS graduates are just supposed to attend meetings and sign papers, then why should they know how to program or how to write in English for that matter?

    The next logical step is… why do you need a degree at all? Oh… you need the degree for the resume… but why do you need the education that comes with the degree?

    We are back at what society values… If all that matters is to direct and manage, then fine, but I don’t think this is a safe road. It will certainly lead to a commercialization of university degrees.

    Of course, the really good students already know programming by the time they get to university, or at least, they can pick it up on their own. Others will never learn programming because it is too hard. But most students won’t learn about data structures and algorithms on their own so a university degree can really take the best students to a higher level. What to do about the students who can’t pick up programming (and in some places, it seems like very sizeable fraction)? Please don’t water down the education for their sake. Help them the best you can and then, let them sink.

Harold reminds us that sharing knowledge is not part of everyone’s culture:

One interesting observation I made this week is that not everyone is as open to sharing their thoughts and opinions in a public way as my fellow bloggers are. Coming from a community of practice that shares ideas and uses sharing mechanisms like Creative Commons, public Furl and Bloglines archives, you sometimes take for granted that everyone has this outlook. I came across some strong opinions that knowledge is power and it must be kept to oneself or a small circle of people.

I keep being surprised at how such a large fraction of people around me want to hoard knowledge as if it was food. It is wrong on many levels. Your knowledge is more valuable when you share it. We are not competing for knowledge because knowledge is not scarce. In a global economy, if you don’t share your knowledge, someone else will, you will simply be put out of the loop. You have to think yourself as an information node. Information nodes where data comes in but not out are broken and of little value.

« Previous PageNext Page »

Powered by WordPress