Sign In

Communications of the ACM


A Stable Future For Computing Education Requires Collaboration Beyond CS

View as: Print Mobile App Share:
Mark Guzdial

Georgia Institute of Technology professor Mark Guzdial

Imagine it's thirty years in the future, 2043, and computer science is taught in every high school in the United States. Maybe students choose CS as a science option alongside biology, chemistry, or physics. Maybe students can choose between calculus and CS for their fourth year mathematics requirement. What has to happen between now and then for this stable future for computing education?

One significant difference from today is that computer science will have to be taught to future teachers. Our current practice focuses on converting existing teachers. Everything taught in today's high schools appear in a teacher's pre-service education (before they start teaching in a school, in contrast with in-service professional development). Pre-service education is where methods for teaching are introduced.

We have to have computer science in pre-service education for a reliable stream of new teachers. If you were a superintendent of a big city school district, would you require every school in your district to teach computer science without reliable production of new teachers? Pre-service education is based in schools and departments of education, not in computer science.

Today, we develop new high school computer science teachers in the United States (and similarly in England and Denmark) through in-service professional development. We work with teachers who were originally certified in science, mathematics, or business (where the last is the most common in most states) and teach them both computer science and how to teach computer science. We're "converting" them to computer science. The in-service professional development being offered today in the US is coming mostly from university computer science departments.

In these early days of establishing computing education in schools, the computer scientists have to be involved. The education faculty don't have the expertise yet. More importantly, the job of making CS for everyone changes how we see our own field and its relationship with society. What is so valuable about computer science that it's important to have in every high school? How much computer science do non-programmers need? What tools and notations are appropriate for general use, as opposed to practitioner use? These are useful questions to answer, and it's our job to answer them.

But at some point, we will have to start institutionalizing the process of developing new high school computer science teachers. The first step will be in creating and offering endorsements. An endorsement (in most states) is an add-on to an existing teaching certification. It's a credential showing that a teacher who is moving to computer science has had additional professional development. Several states already have computer science endorsements. Offering an endorsement will require collaboration between computer scientists and education faculty. All endorsements that I know require a methods course (see the ISTE/NCATE standards for a CS endorsement) that help teachers learn how to teach computer science well? Computer scientists can contribute to that, but in the end, it's education faculty who know how to describe, evaluate, and teach methods.

We're just starting on this path. Endorsements are not (yet) having much of an influence. In Georgia, endorsement programs are shutting down because they've not had students enroll in several years. Last I heard from him, Aman Yadav at Purdue has had no more than one student in his program in any year. Teachers won't seek the endorsement until they see that there's value in it.

After the endorsement, we will need certifications. We will need teachers to be able to go to school to become "Computer Science Teachers," just as they become "Biology Teachers" or "Mathematics Teachers" today. The Computer Science Teachers Association (CSTA) has just released their report on CS teacher certifications in the United States. "Bugs in the System reveals that only two states (Arizona and Wisconsin) require teachers to be certified/licensed in Computer Science and in many states there are no requirements for teaching Computer Science at all, meaning teachers with little or even no Computer Science knowledge can teach it and teacher preparation institutions are unlikely to offer programs for new Computer Science teachers." We have a long way to go, and we can only get there in collaboration with education faculty. Computer scientists don't want to be in the business of certifying teachers, and we shouldn't be. We don't know how to prepare teachers for a career in education.

I talked to Michelle Friend, past president of CSTA (and a PhD student at Stanford) about establishing pre-service computing education programs. She agreed that we need education faculty to help prepare future CS teachers, but she suggested that the first step isn't creating a Computing Education Program or Department (as there are Science Education and Mathematics Education Departments today). She thought that we would first see faculty who have a focus in computing education hired into either Mathematics or Science Education faculty. From there, courses could be taught and pre-service computing programs established.

How do we get to computing education in all US high schools in 30 years? We have to be able to produce computing education teachers. To do that:

  • We need to get education faculty to teach future CS teachers. They'll probably start out in mathematics or science education.
  • We need endorsements, in collaboration between CS and education faculty, so that teachers who move to CS can get a credential for their effort. And the endorsement has to be worth something.
  • We need certifications so that undergraduate students can pursue a career as a CS teacher.


Shuchi Grover

Hi Mark,

I have often wondered about trying to engage with the Teacher Ed program here at Stanford and at least talk to them about giving interested teachers some exposure to CS Ed. As with so many things on our wish lists, this one too has always fallen victim to more pressing demands on time.

Your blog post today touched a nerve. I can't help but think there'll be forces that'll help push for this from various fronts - as people on the policy end start to make headway in bringing CS into schools. Teacher preparation/certification is going to be the 1st and most crucial item on the agenda.

When I gave the keynote at the Scratch conference earlier this summer, I made a point of sharing many ideas that the learning sciences and computing ed research have taught us about how to teach CS (even though we're it's a work in progress, no doubt), and teachers were most keen to talk to me more about these helpful ideas and tips that come from the world of research.

I believe the onus is on those of us uniquely positioned on that bridge between CS and learning sciences/education to play an active role in engaging with established teacher ed programs. There will be questions, there may be some resistance; or it will be slow to get off the blocks (Aman Yadav's experience is telling), but that should not be a deterrent. I'm not sure about starting via Science/Math, they may well be the entry points. but there should be no waiting or couching this anymore. Computer Science Teachers is what we need and it should be recognized and dealt with as us.

Shuchi Grover

Oops, typos..."Computer Science Teachers" are what we need and that should be recognized and dealt with as such.

Aman Yadav

Mark, I totally agree with your post on what we need to do to produce more computing education teachers. Recently, we have had interest from CS majors to complete our supplemental licensure to teach CS. The students typically participate in our CS K-12 outreach and realize that teaching is a viable career choice. This is exciting, but also brings challenges in terms of working within the teaching licensing requirements. We've just begun exploring how we can provide these students opportunities to get our supplemental licensure. I'll update you once we have a mechanism to do so. I also agree with Michelle that we need Computing Education programs/departments that include faculty who focus their research/teaching in that area. As a first step, we are in the process of developing an Interdisciplinary program in Computing Education through our Office of Interdisciplinary Graduate Program. We are hoping that in future we could expand this into a full fledged program of it's own.

Displaying all 3 comments