Seems like a simple question, but there are lots of factors that prevent US high school students from getting access to computer science.
A colleague that I hadn't seen in awhile asked me, "How's your work going? Why isn't there more computer science in high schools?" I paused for a minute wondering, "Where do I start?"
First, my colleague is right: there is very little computer science in US high schools. Depending on how you count, there are between 24-30K high schools in the US (e.g., do you count K-12 schools, or just 9-12 or 10-12 schools? Private vs. public? Charter?). There are approximately 2K teachers of Advanced Placement Computer Science (AP CS) in the United States, and they are not distributed evenly. The "Running on Empty" report describes how many states have no computer science in their curricula at all. I would estimate that less than 10% of US high schools offer computer science.
So why is that?
If it helps at all, the US isn't alone in these problems. The UK's Computing at Schools effort is tackling many of the same issues of developing a CS curriculum and helping teachers to learn CS. New Zealand and Denmark have both just launched new national CS curricula and are struggling with issues of professional development. Worldwide, there is growing recognition that we need more computer science in secondary schools. That's an important first step, but making it happen is challenging.
There are also local funding issues to contend with in the United States. For example, in Ohio, school districts are funded through property taxes, income taxes, or both. In my school district they primarily use a school district income tax (1%, separate from other local or state income taxes) supplemented by a small property tax (relative to most other districts). Needless to say during these hard economic times, there is very little stomach to advanced curriculum subjects. There are many districts in Ohio teaching at the state mandated minimums in light of the public's inability/unwillingness to pay higher taxes.
Many years ago, I was one of the first to teach the Advanced Placement Computer Science curriculum. In those days, students were excited about the possibilities and future of CS. I can't see how they could be less excited today. CS is a field which offers a variety of career paths that provide excellent financial as well as intellectual opportunities.
District involvement and support and passion on the part of the students and teachers are critical. In my case, all three were there for a while. While my passion did not wane, the district began losing enthusiasm and student interest dropped to the point where it was possible for the program to be allowed to fade away.
Today, there are many more AP courses available in the science and math departments which gives potential students more choice than they may be able to handle. Nevertheless, my high school still has many students who finish AP Calculus BC as juniors. These are people for whom CS might be very attractive. At present the only AP math option is statistics.
The financial aspect is where I see many problems. If I were graduating today with any kind of CS background, it would be hard to see teaching high school as attractive. Of course, there must be some math, physics, or CS graduates with a passion for teaching regardless of the sacrifices in the areas of remuneration and professional respect.
I am retired now. One thing that has caught my attention is the NAND to Tetris program (www.nand2tetris.org). I wonder if this sort of work could not be introduced as an after school club with students working independently and getting together formally once a week to share ideas, problems and solutions.
I have always been enthusiastic about computers and computing. I hope there is way to expand interest in CS at the high school level. Such involvement on the part of our high school students has a multitude of of potential benefits for everyone.
I'm lucky to go to one of the few high schools (The Charter School of Wilmington) where computer science is taught well.
It is neither a science class or a vocational elective, but a whole department with a half dozen courses, included a required "Introduction to Computer Science" for freshman. Although not everyone in my school is interested in the subject, it really helped me to be exposed to computer science so early.
Displaying all 3 comments