Mayor Bill de Blasio announced last month that NYC will offer computer science to all students in all schools within ten years. NYC is joining San Francisco (see article), Chicago (see article), and the entire state of Arkansas (see article) in mandating access to CS education for all school children. A recent Gallup-Google poll shows that there is even more interest in CS education among parents than there is among administrators (see article here). To have this much demand for CS education in the US is terrific. Providing access to CS education to a diverse range of students will likely have a big impact on broadening participation in computing.
The trick is meeting that demand with supply. The NYTimes article laid out some of the challenges to reaching that goal (see article here).
Meeting that goal will present major challenges, mostly in training enough teachers. There is no state teacher certification in computer science, and no pipeline of computer science teachers coming out of college. Fewer than 10 percent of city schools currently offer any form of computer science education, and only 1 percent of students receive it, according to estimates by the city’s Department of Education.
The NYTimes was underestimating the problem. The lack of certification is a problem -- why should a teacher learn CS if there's no credential for it? The lack of a pipeline of CS teachers coming out of college (what educators call per-service teacher development) is a huge problem. But there are more, even larger problems.
Attrition: In the United States, we lose 50% of all teachers in the first five years of teaching (see article here). Some early results in the efforts to grow computing education in the United States suggest that we lose CS teachers even faster (see report from ECS). Code.org just released an excellent evaluation of their work over the last year (see link here), and they expect CS teachers to only remain in the classroom for three years (see report here).
For each school and grade where they want a computing teacher, NYC will likely have to develop several teachers during their ten year ramp-up period. Then, they have to keep producing new CS teachers, for as long as they want to have computing education in their schools.
Limits of In-Service Professional Development: Since there are only a handful of pre-service CS teacher education programs in the United States (and none in New York), the new CS teachers will have to come from in-service teacher professional development, e.g., helping an existing teacher in some other subject to learn CS. There are limits to growing CS in-service. As NYC, Chicago, or San Francisco offer CS professional development each year, they will get fewer and fewer senior teachers. The population of teachers who want to bail from their existing subject is not growing. Increasingly, in-service professional development will draw in teachers in their first five years -- 50% of whom we will lose.
In-service teacher professional development is more expensive than pre-service teacher professional development. Code.org estimates that it costs about $4,400 per new CS high school teachers in their in-service program. Pre-service teacher development costs are born by the undergraduate program. The students pay tuition for their education in the US, as compared to paying teachers for their time spent in in-service professional development.
Computing at School (CAS) in the UK (see webpage) has been successful at establishing their new CS curriculum. They have a huge advantage over these US efforts. Schools in the UK already had an Information and Communication Technologies (ICT) curriculum in all their schools. ICT was replaced by CS, so there was an obvious teacher already in place at every school. They didn't have to grow their teacher pool to cover the new subject in the new schools. Even then, they have not been immune to attrition problems. CAS-Scotland found that they had fewer CS teachers in schools after the move from ICT to CS (see article here).
Lack of Interest: The biggest problem facing all of these efforts is incentivizing teachers to learn CS. In-service teacher professional development in the US is woefully under-subscribed. In Arkansas, only 10% of their 295 high schools have CS teachers now. During the summer, only 15 teachers attended the in-service CS teacher professional development sessions. It will take many years to get CS into every high school in Arkansas at that rate.
It's not just in-service that's undersubscribed. Wisconsin is one of the few states in the US to offer pre-service CS teacher development. Two campuses offer the certification program, and combined, they have only graduated three new CS teachers in the last five years (see article here). Both in-service and pre-service programs CS teacher professional development programs have far more capacity than students (see post on Purdue and Columbus State).
Unblocking the Bottleneck: What We Can Do
It's hard to decrease teacher attrition. The factors influencing the decline in the number of teachers are complex (see great article at 538). Perhaps we might increase CS teacher retention by making their jobs more attractive, more enjoyable, or better paying. We can more easily influence other factors.
Incentivizing CS Teachers: An excellent CS teacher can also be an excellent IT worker -- and get much higher pay outside of teaching. It's difficult in the United States to pay CS teachers more than, say, reading or history teachers. Teacher pay in the United States is tied to seniority or quality, but not discipline.
Pay is only one way to incentivize CS teachers. Texas has a program where they forgive student loans if students become teachers in areas of severe shortage (see article here). Other states are considering similar programs to incentivize students to become CS teachers. If we can't pay CS teachers more, perhaps we can incentivize them by forgiving some of their student debt.
Offering more pre-service CS teacher programs: While each pre-service CS teacher development program may have few students, we might produce more CS teachers if we had more pre-service CS teacher programs. If every one of the nearly 200 CS programs in the Taulbee Survey (see link here) produced only two or three new CS teachers annually, we would have 400-600 new CS teachers per year. While CS departments are busting at the seams, a handful of new students is not going to break anyone.
There is an advantage for CS departments to grow CS teacher pre-service programs. I have spoken to a few departments who were trying to get CS teacher programs started. The students who expressed interest were mostly female. Creating CS teacher pre-service programs may be a way to increase the gender diversity in our classes. Some of those students who start in CS teacher development undergraduate programs may decide to switch to a CS major, which could help with increasing diversity in the field, too. Growing CS teacher pre-service programs can be doing good for the field in several different ways.
CS departments can't do this alone. CS faculty are not experts in developing CS teachers. We need to partner with education departments and schools. We need education faculty who focus on CS education. That's how Germany is growing CS education -- by funding chairs of CS education who develop in-service and pre-service programs, in partnership between CS and education (see blog post here).
We have a good problem, to have such enormous demand for CS teachers. We need to meet the demand with steady (consistent and reliable) supply of CS teachers. It's the only way to provide access to computing education to every student who wants it and every school district that chooses to offer it.
The Bootstrap project (http://www.bootstrapworld.org/) is addressing this problem by training math teachers to teach computer science. We have already had success teaching hundreds of teachers, who in turn have taught thousands of students, an engaging and rigorous computing course. The key is that Bootstrap demonstrably helps improve _mathematical skills_, giving math teachers an incentive to learn and apply the curriculum, so this approach is not generally applicable. However, given that math teachers are already present in all schools and working with all students, and likely do not suffer the same churn as computing teachers (many of whom transition to industry), being able to have math teachers teach computing gives us a relatively easy, lightweight, already-deployed channel to help us get a head start on this problem.