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/

Reply via email to