Although this posting will sound political and somewhat wishy-washy, I think we need to make some important differentiations here.
There are at least four categories of people who "program": 1. "End-user" programmers who write Excel macros, Javascript, VB mini-programs, SQL commands, SAS scripts, etc. These people may be professionals in engineering or finance or other "real" disciplines, but their main job title does not include the word "programmer." 2. Application programmers who use development environments to create customized solutions to specific problems. 3. Systems programmers (at least that's what we used to call them) who /write/ those development environments, including compilers, graphics libraries, etc. 4. Computer science researchers, who investigate theoretical aspects of CS and forward their findings (via journals, etc.) to category #3 above and therefore down the line. All of these people create "real" programs. The problem that I see after years of both industry and, later, academic experience, is that many CS departments are not clear about which of these categories of "programmer" they are interested in. I don't think I need to elaborate too much -- some schools are serving students in category 2, some 3, and some 4 -- all of us probably have to also serve group 1 in service courses. I've been associated with U.S. post-secondary institutions from community colleges to a research-1 university, and I have seen this all the way up the line. Many students come to a college or university without even enough knowledge to know how to ask the question "what kinds of computer science do you teach?", let alone what the answer means. Also, many departments are loath to let any potential students walk out the door, and so attempt to be all things to all students. Thus we have the kinds of arguments posted here in curriculum meetings. Maybe we can come up with a standard nomenclature to differentiate these aspects of "programming" so we can have the opportunity to move forward in researching how best to educate each type of student. Steven C. Shaffer Assistant Professor Computer Science and Engineering Penn State University Park USA [EMAIL PROTECTED] ALSO CHECK OUT: WWW.TEACHINGPROGRAMMING.COM ---------------------------------------------------------------------- PPIG Discuss List (discuss@ppig.org) Discuss admin: http://limitlessmail.net/mailman/listinfo/discuss Announce admin: http://limitlessmail.net/mailman/listinfo/announce PPIG Discuss archive: http://www.mail-archive.com/discuss%40ppig.org/