« CSTA 2014 Administration Impact Award Nominations Open | Main | Lessons Learned While Implementing a Dual Credit Course. »

Why Counting CS as a Foreign Language Credit is a Bad Idea

Sometimes what seems like a very good idea in principle, even a good idea put forward with the best intensions, can turn out to be a very bad idea in practice. This is definitely the case with the idea of allowing students to count a computer science course as a foreign language credit.

If you have not been living under a rock for the last year, you know that there is an incredible amount of discussion concerning the need for all students to have access to computer science knowledge and computer science courses in schools. There are lots of different words being used to describe this knowledge (coding, programming, computing, computer science) but the intention is the same and CSTA has been one of the organizations pushing hard since it was created in 2004 to get this message across.

And now people are listening, especially politicians who see the job projections (more than half of the jobs in STEM by 2020 will be in computing), who see that other countries are far ahead of us in preparing their students for these jobs, and see people in their own constituencies struggling with unemployment and underemployment.

When these policy makers look at schools, they see that computer science is not part of the "common core" of prescribed learning for students. And then they hear that Texas has just passed legislation to enable students to count a computer science course as a foreign language credit and it seems like a great idea.

But all we have to do is to look at Texas to see how this idea could, at the implementation level, turn out to be an unfortunate choice for computer science education. Here are the unintended consequences

1. If a course counts as a foreign language course, it will be suggested that a new course must be created.
2. If a new course is created, chances are that it won't fit well into any of the already existing course pathways for college-prep or CTE.
3. This new course will be added to the current confusing array of "computing" courses which students and their parents already find difficult to navigate.
4. There will be pressure brought to ensure that that course focuses somehow on a "language". For the last ten years we have been trying to help people understand that computer science is more than programming. Programming/coding is to computer science as the multiplication table is to mathematics, a critical tool but certainly not the entire discipline.
5. If this new course is going to be a "language" course, we have to pick a language (just one). And so the programming language wars begin.

This cascading set of ramifications happen because counting computer science as a "language credit" completely obscures the fact that computer science is a complex discipline with deep roots in both mathematics and science.

It is critical to point out that there are no bad guys here. The people proposing and supporting these legislative initiatives are just trying to figure out how to make computer science more accessible to students. There are, however, better solutions that will, in the end, be far better for computer science education and, more importantly, for our students.

The best ways to ensure that more students have the opportunity to take richly rigorous computer science courses in their schools are to:

  • Make computer science count as a math or science graduation credit in every state
  • Fix the broken computer science teacher certification system that makes it twice as difficult and sometimes impossible for computer science teachers to be certified as computer science teachers, and in this way increase the number of well-prepared computer science teachers in our schools
  • Support the Computer Science Education Act at the federal level
  • Please reach out to your political representatives and help them understand why what may seem like good legislation goes very wrong at the implementation level. Encourage them to focus their good intentions and energy on solutions that really will help us achieve what we are trying to achieve.

    Chris Stephenson
    CSTA Executive Director


    I agree that computer science should count as a math or science credit, not a foreign language credit. CS and foreign language use different mental skills.

    I think that the claim "Programming/coding is to computer science as the multiplication table is to mathematics" is a bad analogy. Closer would be "Programming/coding is to computer science as *algebra* is to mathematics". Programming is a much larger and more complicated skill than multiplication, and it underlies most of the rest of computer science.

    One could make the same case against CS counting as FL but substituting Math for FL. We don't count Physics as a Math credit, trying to shoehorn CS into Math is basically the same thing.

    Science is a little more open since students study a number of disciplines, often separately so counting CS along with Bio, Chem, Physics would allow it to maintain its identity while also fulfilling a graduation requirement.

    Now, it can easily be argued that our Math and Science requirements are totally out of whack -- many math people argue that much of what we teach is a waste of time, but that's another story.

    The truth is that the real goal should be CS as CS and that CS has equal footing as Math or Science in terms of graduation.

    I have the same opinion that computer science should count as a math or science credit, not a foreign language credit. CS and foreign language exercise different mental skills. For one thing, the grammar taught in programming languages is intentionally very much simpler as compared to natural language grammars so much so that there is modest devolution flanked by learning on and learning the other.

    Post a comment

    (If you haven't left a comment here before, you may need to be approved by the site owner before your comment will appear. Until then, it won't appear on the entry. Thanks for waiting.)