A number of recent articles and comments have discussed the imbalance between enrollment and opportunities in computer science and the under-enrollments by minorities and women. An ongoing thread in Peter Denning's Communications columns and elsewhere concerns the identity of the discipline to which we belong. As the national representative from universities to the board of the Computer Science Teachers Association (CSTA), I continually see the question of the identity of our discipline both within and external to our field.
The identity of computer science is nowhere more important to the discipline of computer science than in the K12 school system. We can instruct our own students in the nature of the discipline, but those we so instruct will only be those who first choose to come to us. If we want more students, and if we want to be understood for what we are, we must clarify the message about computer science that all students will receive as part of their K12 education.
Even if one does not believe that "computer science" should be taught in the K12 system (and I know there are those who hold that opinion), it is nonetheless necessary for us to be involved in defining for the schools that which is called "computer science." There will be courses in Photoshop, Web design, office tools, A+ certification, networking, and such, and there will be (a smaller number of) courses in Visual Basic, C++, or even Java. The simple fact is that these courses will exist in the schools, and there is nothing fundamentally wrong with that. What is a problem is for students to be misled into thinking that these are all indistinguishable and all equally describable as "computer science." The burden rests with us in the discipline to educate those who administer the schools and to urge the adoption by the schools of a relevant curriculum that meets the needs of the K12 system but that is computer science as seen by computer scientists.
There are efforts in this direction, and we should be giving them active support. The CSTA has a model curriculum for high school and is developing curricula for the lower grades. CSTA and ACM have sponsored, with NSF funding, a "leadership cohort" of teachers in all the states as a way to bootstrap a network of teachers who can, among other things, speak as a group with a coherent voice about policy. And the ACM Education Policy Committee provides a voice from ACM in which all of us in the discipline have a stake. We have come more recently to this than, say, biology or mathematics, but the machinery now exists for computing practitioners and teachers to speak to those whose administrative decisions outside our discipline have a major impact on us. A Communications Viewpoints contribution by Wilson and Harsha (September 2009) provides a summary of status and progress.
The debate on the identity of computer science has been going on for years, and I am sure it will continue forever. To the extent that it is a philosophical debate among futurists, we can participate in and enjoy the discussion. At the K-12 level, however, this is not a philosophical debate but a substantive matter, and if we have been unhappy about a popular perception that "computer science = programming," we should be even less happy about institutional decisions to tell K-12 students that "computer science = Photoshop."
If we want more students and a long-term systemic fix to what is wrong with the message delivered in the high schools, we must take up the challenge to modify that message. We must make the distinction between "computer applications" in the form of using tools, and real computer science or information systems. Many teachers are clearly aware of this, but it is not clear that the K-12 administrative hierarchy yet understands. South Carolina, for example, has a "computer science, including keyboarding" requirement for high school graduation. At present, this requirement can be satisfied by any course for which 90%100% of the course provides "hands-on instruction in the operation and manipulation of the computer"; one course that satisfies the requirement is "Agribusiness and Marketing."
Although I believe the situation to be especially troublesome in my own state (South Carolina), I don't know that we are much different from a number of other states. The problem is that "computer science" as we know it has to a great extent disappeared from the K-12 system, and the use of computer software and tools is all that many students see of what we do. For the most part, what students see as "the IT industry" is tools, applications, technicians, and certificationsnot data center managers, CIOs, software entrepreneurs, or builders of innovative computing systems. This is nowhere more stereotyped than at an out-of-state magnet high school I visited a year ago. The biotechnology program targeted medicine and health care, with a heavy emphasis on producing eventual MDs. The pre-engineering program targeted the engineering profession. In contrast, the third program, computer technology, graduated two classes of students before a course in programming was ever offered, and the message on the Web site seemed to point students to jobs as Best Buy computer repair technicians. Students who want a challenge will not choose computer science if they think that using software is synonymous with computer science. Students who think these are synonymous will transfer to other majors when they discover their mistake.
The problem is that "computer science" as we know it has to a great extent disappeared from the K-12 system, and the use of computer software is all that many students see of what we do.
Universities have a diverse array of academic programs, and computer science is invariably one of those programs. In a nutshell, the problem is that we do not have an automatic "fit" in the less-diverse academic structure of the K-12 system. Mathematics and science are "core" academic disciplines. We, unfortunately, are rarely part of that core and are often grouped with vocational and not with college-preparatory programs.
If this is the analysis, what then is the therapy? I believe we in the discipline of computer science must collectively work to educate school systems, teachers, and most importantly parents and students, about our discipline. This is no small task, because computer science is a moving target, replete with neologisms and buzzwords, easily misunderstood. The industry that calls itself "IT" is not the same as the undergraduate program called "IT." The skills that garner an entry-level job in a marketplace desperate for talent are not a sufficient education to advance beyond that entry-level job. The changes that take place at Internet speed make computer science vibrant and vital, and they make it difficult to explain to laypeople. I think it is not difficult for most of us to lay out career options for students with certifications, with associate degrees, with four-year degrees, and beyond, but it seems that we in the discipline must be the group to communicate that Consumer-Reports-like truth in advertising to the K-12 system.
To a large extent the curriculum work has already been done by CSTA and there are many exciting projects and programs under way that are proving effective in making the teaching of computer science more engaging for a broader range of students (Alice, Scratch, Computer Science Unplugged, media computation, computational thinking, the Exploring Computer Science course, to name just a few). But we must also work to create serious computer science courses in the schools and to get them accepted as math or science credit. The simple truth is that if computer science does not count for somethinga required graduation or college preparation creditit will likely cease to exist. I do not want to underestimate the difficulty in creating a place in the core for computer science. The curriculum is already seriously overcrowded and every discipline is asking for a greater piece of the curriculum pie. In order to succeed at this effort, therefore, we must make it clear that students must have access to rigorous computer science courses in high school, that these courses must be taught and considered as math or science and not vocational education, and that there is a direct link between computer science knowledge and skills and long-term career prospects.
I have until now left out the role of industry in setting policy. In truth, there are three pillars for a rational approach to computer science in the schools. We in the colleges and universities probably know best the curricular options that should be implemented at the post-secondary level. The teachers in the schools and the administrators will know how to implement K-12 policy and curricula that are both feasible and in line with state standards. The third pillar is to enlist the help of industry, which is well aware of the problem of a small talent pipeline, because it is industry that will have the ear of policymakers and legislators.
The situation is by no means hopeless. There are a great many dedicated high school and middle school teachers doing the best they can. Most of what is being taught is perfectly reasonable to be taught. But just as other disciplines in science and mathematics work to organize school curricula, so must we if we are to expect a proper result. The opportunities and the challenges of computer science are, I think, sufficient to get us back the enrollments we want and need, but it is up to us to present to students the information about those opportunities and challenges. If we believe we know what we are doing as suppliers of talent to the computing industry, then it is incumbent on us to communicate our beliefs to the public at large.
Figure. Computing Sciences hosted 14 local high school students as part of an outreach program to introduce students to various career options in scientific computing and networking. The sessions include presentations, hands-on activities, and tours of facilities. The program was developed with input from computer science teachers at Berkeley High, Albany High, Richmond's Kennedy High, and Oakland Tech. Computing Staff present a wide range of topics including assembling a desktop computer, cyber security war stories, algorithms for combustion and astrophysics and the role of applied math.
The Digital Library is published by the Association for Computing Machinery. Copyright © 2010 ACM, Inc.