Programming is something that should be part and parcel of a CS student life (or any computer scientist for that matter). They should LOVE programming rather than see it as a chore. I'm listening to an audible book, Hacker Ethics, and these hackers simply find a thrill in accomplishing something by programming. This is NOT the case for most CS students. Sayang!
Well then, they should be taking up something besides CS.
But maybe the problem is that the curriculum is too confined to the ivory tower of 'hardcore' CS subjects (i.e. data structures, algorithms, CS theory), of which advanced study is only suitable for a handful of minds. The field of IT is vast enough and the industry demands skills in more high level areas like Computer Graphics, GUI, OS, Database, Network protocol design which might turn out to be more appealing to others. In other words the *type* of programming involved may be what's holding certain people back from liking the subject.
Math (or CS theory or hardcore data structure and algorithm analysis) is clearly just harder or initially immensely boring for some people, and to force them to like it for its own sake will do no good. As it is possible to make a good deal of progress in most IT fields without resorting to heavy math or theory, the curriculum should not force such topics down the students throat before he is mature enough for it, otherwise you risk his totally losing interest in the field.
I can see so many examples of topics where a writer would resort to using highfalutin equations complete with greek characters to explain a certain concept, when there is a far more accessible way to do it(*). It's not being able to understand the math or knowing the fancy terms that make you a good coder, it's the code you churn out itself. But it isn't about patronizing the student with shallow explanations either, the trick is to come up with the proper order of topic exposition (with the caveat that it is almost certainly going to be different from one student to another, so perhaps a more flexible method of prerequisite selection could be provided).
------------------------------------------------------------------------------ (*) Database Design books, in particular, are very guilty of this. When I finally understood Chen ERDs and was able to see how to use them in a practical way, it was through a diagramming tool's rather short help file and not one of the three or four 500-page thick database design books I have. ------------------------------------------------------------------------------
-- Philippine Linux Users' Group (PLUG) Mailing List [EMAIL PROTECTED] (#PLUG @ irc.free.net.ph) Official Website: http://plug.linux.org.ph Searchable Archives: http://marc.free.net.ph . To leave, go to http://lists.q-linux.com/mailman/listinfo/plug . Are you a Linux newbie? To join the newbie list, go to http://lists.q-linux.com/mailman/listinfo/ph-linux-newbie
