I think you make some sweeping generalisations, but I also share your concern about the education system.
But the system is also due in part to the students; if all they want is a piece of paper that will get them a bigger salary, if they sleep through lectures and do poorly on homework assignments, it's demoralising to a professor. And if occasionally the professor slips, or tries to cater to students to reach them in any way possible, I think it's understandable but regrettable.
What is your ideal education system? Mine is a system that is more self-paced and customised to each student, but in an environment that still encourages social interaction. But you're right, it is an incredibly huge task. Technology may make it easier, but it's too easy to misuse technology, or use it in a fluffy way.
I admit to being somewhat partial to the thinking of Seymour Papert, who teaches at MIT (the "GeorgiaTech of the North") where I go to school. His testimony to Congress is fairly interesting, and makes
the point that education has not advanced as
much as other institutions because of lack of
technology and lack of fundamental research
into improving education.
So while I once believed that an easy way to
improve education is to increases salaries
and attract better teachers, I now think a
better solution is to invest that money into
education research instead.
Although you bring up a valid point that many new programmers still treat it as a dark art shrouded in mysticism. Random debugging, not using source control, etc. I guess this is where certification would be useful, but as a badge of pride or mark of excellence (like a TopCoder ranking) rather than a shock collar to electrocute you when things go wrong.
Interestingly enough, the "certifications" that are currently out there, like MCSE, are prohibitively expensive and are meant to be eye candy on your C.V. rather than make you accountable for your software.
An engineering discipline also entails a systematic approach to solving problems and a way of codifying best practises; I think software engineering does both of these things. Perhaps not as well as they could be done, but good attempts are being made.
Are you British? Where do you get Mountain Dew in this country?
Ahhhhh!
I think you make some sweeping generalisations, but I also share your concern about the education system.
But the system is also due in part to the students; if all they want is a piece of paper that will get them a bigger salary, if they sleep through lectures and do poorly on homework assignments, it's demoralising to a professor. And if occasionally the professor slips, or tries to cater to students to reach them in any way possible, I think it's understandable but regrettable.
What is your ideal education system? Mine is a system that is more self-paced and customised to each student, but in an environment that still encourages social interaction. But you're right, it is an incredibly huge task. Technology may make it easier, but it's too easy to misuse technology, or use it in a fluffy way.
I admit to being somewhat partial to the thinking of Seymour Papert, who teaches at MIT (the "GeorgiaTech of the North") where I go to school. His testimony to Congress is fairly interesting, and makes the point that education has not advanced as much as other institutions because of lack of technology and lack of fundamental research into improving education.
So while I once believed that an easy way to improve education is to increases salaries and attract better teachers, I now think a better solution is to invest that money into education research instead.
I think there is considerably more literature and research going into software engineering than 12th century medicine.
f t.com/foundations
http://xprogramming.com
A few examples:
http://sdg.lcs.mit.edu
http://research.microso
http://hillside.net/patterns/
Although you bring up a valid point that many new programmers still treat it as a dark art shrouded in mysticism. Random debugging, not using source control, etc. I guess this is where certification would be useful, but as a badge of pride or mark of excellence (like a TopCoder ranking) rather than a shock collar to electrocute you when things go wrong.
Interestingly enough, the "certifications" that are currently out there, like MCSE, are prohibitively expensive and are meant to be eye candy on your C.V. rather than make you accountable for your software.
An engineering discipline also entails a systematic approach to solving problems and a way of codifying best practises; I think software engineering does both of these things. Perhaps not as well as they could be done, but good attempts are being made.