Gas station without pumps

2014 February 2

CS is not a foreign language

Filed under: Uncategorized — gasstationwithoutpumps @ 07:40
Tags: , ,

The Computer Science Teachers Association recently had a blog post about a recent development in high school CS teaching, Why Counting CS as a Foreign Language Credit is a Bad Idea.

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.

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. For one thing, the “grammar” taught in programming languages is deliberately very much simpler than natural language grammars—so much so that there is little transference between learning on and learning the other.  Also, foreign language courses include a lot of memory work (particularly vocabulary, but also conjugation and declension patterns in many languages), while beginning computer science courses are more about learning how to design and debug—that is, to develop problem-solving skills, not memory skills.

Foreign language instruction is also very important, and replacing it with computer science would not be helpful for the cultural understanding and ease of relations between different countries that is an important reason for teaching foreign languages. Decreasing foreign language to make room for computer science is short-sighted.

The most sensible classification for CS (if it needs to be classified in the narrow categories that guide secondary school administrators) is with math.  The reasons for learning CS are much the same as the reasons for learning algebra, both in terms of the underlying set of mental skills that one hopes would transfer to other fields (but usually don’t) and the usefulness as a base for future study in STEM fields.

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. Multiplication is primarily a memory skill (multiplication tables and a simple algorithm), while programming is primarily a problem-solving skill.

I also agree with the concern that making CS a “foreign language” skill will put even more pressure on high schools to adopt a common programming language.  The College Board AP test has already blessed Java, which I think is a poor choice for a first teaching language (though I know that many computer science professors like it as a first language, for many of the same reasons I dislike it).  I prefer Scratch followed by Python, as I’ve explained before on this blog.

Standardizing the way computer science is taught would be a moderately bad thing, as there is no “one true path” that produces great programmers and computer scientists. I see value in having a variety of different pedagogical approaches to teaching programming (and computer science), as the first few programming languages one learns tends to color the way one things about programs for several years.  I believe that a diversity of different approaches to programming is important to the health of the computer science both as an academic pursuit and as an industry—and different initial programming experiences is as important to that diversity as different people are.


Note: I tried to post a comment on the original post, but I kept getting

Server error!

The server encountered an internal error and was unable to complete your request.

Error message:
Premature end of script headers: mt-comments.cgi

If you think this is a server error, please contact the webmaster.

Error 500

You’d think that the Association for Computing Machinery could keep a blog running, but I guess their disdain for mere “programming” extends to the programmers who set up their website.

2012 March 24

Paralytic monolingualism

Filed under: Uncategorized — gasstationwithoutpumps @ 17:22
Tags: , , , ,

Reading a NY Times opinion piece from last week’s Sunday Review, Why Bilinguals Are Smarter, I was reminded of a button I used to own (and may, in fact, still have).  Thanks to the magic of Google search, I found a picture of someone else’s copy of the button faster than I could possibly have found the physical object itself.

I have long been a believer in the value of learning and speaking more than one language, though I’ve not been very good at retaining languages.  In addition to my native English, I have studied 3 other languages: German, Russian, and Japanese.

I studied German in high school, because it was the native language of my father and my paternal grandparents.  I had four years of German in high school, and spent a few years after that in correspondence with my grandmother (Oma).  I even learned Kurrentschrift, an almost illegible handwriting style that was banned in Germany in 1941.

Unfortunately, Oma had bad handwriting, particularly after her stroke, so deciphering her Kurrentschrift was always a problem.  Once or twice I had to ask my Dad’s help.  He couldn’t read her handwriting any better than I could (perhaps even less than me), but he could tell which of two readings sounded more like his mother. (From looking at the chart, you would not expect “so” and “zu” to be indistinguishable, but in Oma’s handwriting, they sometimes were.)

To get an idea how illegible this script is, try writing out common words like “meinem”.  You’ll see an almost undistinguished sawtooth waveform with 13 peaks.  To add some disambiguation, a lot of writers (including Oma) added a horizontal line over the lower case m’s.  Of course, her horizontal lines were often two or three peaks off from where they should be, as were the strokes that served as dots for i’s, so they may have hurt as much as they helped.

I still retain some of my German—I can read a German newspaper and get most of the meaning (I lack some of the financial and political vocabulary to really claim to understand the newspaper, though). My accent in German is close enough to native that people don’t immediately realize that I’m American (though I can’t do the proper uvular rolled-r), but I’ve lost almost all knowledge of the gender of nouns.

I had two years of Russian in college, but I never had occasion to practice it, and I lost almost all of it within another 2–3 years.  In grad school, I had 2 years of Japanese, but lost it quickly again.  I retook first-year Japanese as an assistant professor, but again failed to retain it.

I found it fairly easy to learn German when I was 11–16 years old, and I retained a fair amount of it with only very occasional practice.  I found it almost as easy to learn Russian and Japanese a few years later, but retained almost none of it. It really is important to teach children a second language early, if you you want them to be even close to bilingual.

%d bloggers like this: