Where does Computer Science Belong?

To some extent Computer Science is the red headed step child of K-12 education. It just doesn’t fit nicely in a box. Science often doesn’t want it because it doesn’t always meet their idea of what “science” is about. Math doesn’t always want it because it uses too much hardware and it doesn’t fit in their preconceived flow of math curriculum. What does it come before or after? It shows up in some business departments where it is an awkward fit at best. And CS programs that are not part of business departments have this tendency to look down on business computer courses as “too vocational.” And of course in most states (41 as I understand it) computer science can not be used to satisfy any high school graduation requirement. As a pure elective it is often very difficult to keep classes running let alone full as students tune their transcripts for college/university admissions.

As reported in Dr Dobb’s and other places:

The National Governors Association (NGA) Association Center for Best Practices and the Council of Chief State School Officers (CCSSO) have released the first official public draft of the K-12 standards as part of the Common Core State Standards Initiative, a process being led by governors and chief state school officers in 51 states, territories, and the District of Columbia. […] Interestingly, this year "computer science" is included as a senior-level high school course for students who meet the "readiness level" by grade 11 within the latest draft of the Common Core Standards for Mathematics.

And most states that do allow for CS courses for graduation credit do so as meeting a math requirement. So it’s settled right? Well not so fast. I know a number of teachers who have some concerns about this. One of them sent me email recently complaining that the AP conference this summer had computer science listed under mathematics and suggesting that it should be a stand alone section. Well so? What is the problem of including Computer Science within math? A couple of things come to mind.

One is certification. Certification for computer science teachers is a mess in the US as it is. Courses in math departments tend to require that teachers be certified in math which is not near the same thing as being certified or even qualified to teach computer science. Then there is the matter of CS not being seen as central to the mission of most math departments. First course likely to be lost in the shuffle or budget cuts or scheduling issues? Computer Science. As least in the perception of many. Then there is the loss of independence. In schools where computer science is independent of other departments teachers tend to have more flexibility in curriculum, texts, independent studies, and other options. Computer science teachers can be an independent bunch for one thing but things get more difficult when you have to “sell” changes to a department head who doesn’t understand what you are trying to do. None of this is a problem everywhere of course and there are schools where computer science fits comfortably into math departments. I think. :-)

One other factor I see is that there is a movement in the greater world of computer science to be about “computer science and” where almost anything can be the “and.” CS and Math? Obviously. CS and sciences – physics/biology/chemistry? Why not? CS and pre-engineering? Oh I hope so. Is this easier when CS is its own department? In many cases it probably is.

But the reality is that computer science needs to fit in somewhere right now. Even if run as an independent department computer science courses are only going to be accepted as graduation requirement meeting options as part of something else. The best candidate right now is Mathematics. That is the political and practical reality. We don’t have to like it but we probably have to live with it for a while. Just my opinion. What’s yours?

Edit: Related to this post, Cameron Wilson of ACM wrote a post called Computing and the Common Core that you should read. The most important part of it is his call to action.

Now the community can support this breakthrough by sending letters for support for the inclusion of computer science in the final document. The initiative is taking comments on the draft until April 2. There are two ways to comment. The first is by taking the survey, which as an additional comment area where you can express support for computer science. (Follow this link  External Linkand click on the "submit feedback" to get to the survey.) The second is by sending letters to <commonstandards@ccsso.org.>