Are we teaching the right stuff in Computer Science?

I read all these articles talking about lots of CS people will be needed by year X and only a few will be available by year X.  But what branch of CS will those people be experts in?  Most articles talk about the number of programmers.  But is that really what will be needed?  I look out from my little Montana world and I do not see a need for only programmers, I see a need for systems specialists; people who can manage a network, can do more than spell DHCP and IP, who understand virtualization, who know what a router does, who know the ins and outs of a wireless network.  There will definitely be a need for programmers but it seems that the high school CS curriculum pundits are totally focused on programming.  Programming and Computer Science seem to have become interchangeable and synonymous.  I suspect this is a bad idea.  I have had the idea presented to me that the tech side of computers; hardware, networking, system management, etc. is a tech school subject not really suitable for a true Computer Science department.  I suspect this is a really bad idea.  The skills required to troubleshoot a system are easily at the level of writing a program.  For a while I taught a networking and hardware course here.  All my graduates seemed to find instant jobs as help desk people at the universities they went to.   All my programmers were just programmers and did not really have the hardware skills needed to do anything other than plug the computer in to the wall.  Are we really teaching enough “Computer Science” in school?  Perhaps we need to spread the focus and start teaching “here is how to set it up and fix it” type subjects.  Talk about a shortage of teachers!  EEK!

Advertisements

2 Responses to “Are we teaching the right stuff in Computer Science?”

  1. Fact-checker Says:

    From a higher-ed perspective, the intellectual foundations for operational careers (sys admin, net admin, database admin, etc) are regarded by ACM curriculum structure as belonging mainly to the field of “Information Technology” rather than to “Computer Science”. See the discussion in “Computing Curricula 2005: The Overview Report” (which also defines other adjacent and partially overlapping fields of “Computer Engineering”, “Software Engineering” and “Information Systems”). The documents are at http://www.acm.org/education follow the link to curricula recommendations.

    In the USA, a number of universities have a major in Information Technology, that matches the content you are advocating, and there is a specific ACM curriculum document “IT 2008” to characterize the syllabus for these areas.

  2. gflint Says:

    Good point. I may have to rename my department to IT as opposed to CS. I think I will start looking for a sylabus shell I can modify to fit my available assets. When I did this course a few years ago I sort of ran out of things I know enough about to teach. I now understand a lot more but have less time to plan a course around it.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s


%d bloggers like this: