quote: Original post by Anonymous Poster
You misrepresent my thoughts -- perhaps I wasn't clear enough. I still believe the majority of the curriculum should be "fundamentals" and "theory", yes. But I don't think that is enough. I also think everyone's snide assumption that someone that just learns how to program on their own is just a monkey using syntax is a gross oversimplification. You can't just keep ignoring the number of CS grad's who don't get it. They bare some responsibility to be sure, but I think there should be some kind of transistioning demonstration of application of theory in relevant technologies somewhere in the mix. Does no one here think there is a whole volume of "theory" behind UI design? Nobody thinks there is a common "theory" behind the usage of D3D and OGL, or are those just lowly API's that any monkey with syntax can make use of? I'm NOT advocating specific API's -- I'm advocating relevant areas of application. And believe it or not there a few Ph.D's out there in CS who agree with me.
I'm sorry if I misunderstood you. I've heard similar arguments so many times during my time in consulting (where it seems like theres a 70/30 split in favor of the self taught certificate holders in my area) they all blend together.
I'm also not trying to belittle people who are more application than theory. I'm just trying to argue that they have a distinct set of skills that Computer Science isn't intended to teach.
I've had all my courses on UI design and I did learn a few languages and API's in college. But I'm happy we didn't spend any class time on these things, because they were largely irrelevant to the core ideas we were discussing. When we learned 3d graphics theory, we used nothing but putpixel. When we learned network programming, we implemented TCP from the ground up using nothing but open, read, and write. My school had two classes on C++ (which you didn't even count toward a Comp Sci major) and that was it. If you couldn't figure out C based on that, you tended to flunk out or change majors as the course assignments went on.
Yeah, there are plenty of CS graduates who aren't even qualified to be computer scientists, let alone software engineers. But this is a result of the administrative pressure to get everyone to graduate on time, because that has a direct effect on how many students you can attract in the future. I've been on the teaching side myself enough to know this. But that's a seperate problem. Programming knowledge and API training should be nothing more than a *byproduct* of a Comp Sci program. It's not in the curriculum to teach those skills.
I've been trying to point out that applied technology is engineering, not pure science. When Software Eng. graduates can't program, I get worried. Computer Scientists can spend all their time with a blackboard and a bit of chalk and still be productively working on the science.
This is the difference between a trained physist and a trained mechanical or civil engineer. One's great for discussing the theory of pressure and of material stress, one's great for building bridges that won't fall over.
[edited by - cheesegrater on April 12, 2002 11:30:08 AM]