I was going to post an article just like this. Exactly the same meaning. I haven't had time to write it up yet though, I'm taking a heavy courseload this semester, as well as working.
I've been wondering about this for a little while now. I'm noticing that in my University, which is nationally accredited in CS, the professors, all but one, just really don't show any zeal for teaching. They regularly skip classes, and only give notice by calling the department secretary after the class has started, who has to hustle over and tell us about it, and so we've wasted our time by even showing up. I'm paying these professors, and they can't even show up to class. Heaven forbid, however, that you should ever skip one of their classes, attendance is mandatory... for us.
At the same time, I see freshmen taking intro to CS courses, who are having a very hard time with the concepts. Initially I thought, "We're accredited, it must be that they're just having a hard time with the subject," until a couple of students came to me to help them. I look over their labs, and can easily take half an hour reading a 1 page lab writeup, just to try and understand what all is required. I ask them what they understand about the subject matter, and it ammounts to practically nothing. I look over their class notes, and the handouts that they're being given by their professor, and it's tripe. It's worthless. Their professors are doing a terrible job of explaining the concepts. I even went so far as to sit in on a couple of lectures to verify that the students were not just unorganized. It is definately the professors' fault.
The result of this, then, is that these students become depressed. These are students who had a zeal of their own for Computer Science, which is being destroyed by bad professors. I see many first semester or first year students drop CS. For some of them, it's just not the right major, but for others, it could have been.
A perpetuator of this problem are the students in each class that have already had the particular subject matter in the past. These students "throw the curve," because the class is already review for them, and no matter how poorly explained in lecture, they still would understand the material. These same students correct the professors of CS in lecture. The professor will say something like "The constructor function is used to deallocate memory of a class," and the brown nosing kid who already knows the material from having had it before, or possibly even does it as a job, immediately corrects them, and so the professor is able to deliver a technically accurate lecture, although it's broken and difficult to follow, because the professor is constantly being corrected.
I wondered how it is that my University, accredited as it is, could have such terrible professors. Then it occurred to me that accredidation does not measure the effectiveness of the teaching staff, only the particular course material covered.
Recently, my school obtained a new professor. This guy is a computer science zealot. He obviously loves the material he's teaching. He's always willing to meet with students even if it's outside of his office hours, he's able to explain the concepts clearly and concisely, and he rarely makes a mistake during his lecture. It was his appearance at the school that really made me wonder about the other profs here.
It appears that students who make it through the intro courses do well after that, not, I think, because the material gets easier, or that it's better explained, but I think, rather, that it's due to these students taking the learning into their own hands. These are the students who were the curve throwers before, and (I being one of those) we still correct the professor in class. I'm very fortunate that I already knew how to program before entering college, otherwise, I'd probably be a philosophy major now.
I wonder whether there are any schools, aside from MIT, et. al. which have good professors in CS. Even dedicated, if not good. We have one dedicated/good professor, and the rest are neither. No one I've asked knows of a school that has very many good profs. What does this bode for the future of Computer Science? Can only those who are predisposed to CS make it through the education system? Would there be more exceptionally competent students if they could more easily get through the intro courses? Will this perpetuate the deficit in the CS graduates to CS jobs? How can we better get competent professors into the field? Is there a good solution to this at all? I'm not sure.
here's my sig