Neil Fraser on CS in Vietnam and (unfortunately) in US
I read with great interest Neil Fraser’s fascinating account of computer science education in Vietnam. The efforts going on in Vietnam are really terrific, and Neil does a good job of describing what he saw there.
Then a colleague sent me a link to the Slashdot discussion about Neil’s blog post. The focus of the discussion was on Neil’s description of the state of computer science education in the United States, which is not nearly as accurate or as well-informed as his descriptions of the state of Vietnamese CS education.
Here’s what Neil says, with my responses interspersed. His original is more detailed than the bits I’m grabbing here.
The state of American computer science education is striking in comparison.
School boards fight to keep CS out of schools, since every minute spent on CS is one less minute spent on core subjects like English and math. The students’ test scores in these core subjects determine next year’s funding, so CS is a threat.
I have never heard of a school board fighting to keep CS out of their schools. Describing it like that paints a picture of a poor group of School Board members fighting against the hoards of computer scientists. A more accurate analogy is School Board members riding on the backs of lumbering elephants, and every once in awhile, a pesky computer scientist mosquito tries to annoy the elephant. If there ever was a massive battle for the schools’ curriculum, the CS army would have lost, because it never showed up!
Computer science does not count toward Annual Yearly Progress, but that doesn’t mean that it couldn’t. It’s absolutely true that computer science is not part of the Common Core — that’s the goal of the “Computing in the Core” group. Computer science does count towards high school graduation in nine states now. It could be more, but it hasn’t happened yet. There’s a big effort going on in Washington and in Massachusetts now. I don’t know of any organized effort anywhere to keep CS out of schools. Rather, there’s not enough effort to get CS into schools yet. (There is no school suffering the problem of too many hours and too few things to teach!)
There’s an implicit assumption here that School Boards make the decision on what gets taught and what doesn’t. I keep learning how different each and every state is. Decisions about what gets taught (and what doesn’t get made) at the State level, the district level, and the individual school/teacher level, and what gets decided at what level differs from state to state.
Teachers often refuse to teach real CS because more often than not they don’t understand it. Instead, they end up teaching word processing and website construction, while calling it CS.
I have been involved several studies of high school teachers (e.g., DCCE and Lijun Ni’s work and through GaComputes). Teachers want to teach what they know and what their students need and want. Absolutely, they are unlikely to know real CS, but not knowing something isn’t the same as “refusing to teach” it. Professional development to prepare high school teachers in computer science is a huge international problem. Absolutely, applications and keyboarding skills often get misclassified as computer science. I recommend the CSTA report Running on Empty to see where this is happening and about the efforts to explain what is real computer science.
Parents often oppose CS classes since the grade has no direct benefit on their child’s academic prospects. This is compounded by a lack of understanding of the difference between their child playing video games and their child writing video games.
Absolutely, I believe this happens. I have heard similar stories. I don’t know how widespread it is. I have not seen any data showing that parents oppose CS classes in enough numbers to influence participation in a significant way. I have never seen any data that parents are confused about the difference between playing video games and writing video games. In general, we know that parents influence students’ educational decision-making processes, but we don’t know that parental recommendations away from computing prevent computing education from growing.
Students intentionally tune out of CS class since there are few things worse in American high school than being labelled a nerd.
Studies like the ACM-WGBH image of computing, Stuck in the Shallow End, and Betsy DiSalvo’s work with Glitch all say that students value computing and want computing courses, but rarely get access to it. Agreed that nobody wants to be labelled a “nerd,” and Betsy’s work shows that “face-saving” is an important part of her efforts. But that’s not the main reason why students aren’t taking computer science. The real problem is a lack of access. Remember that there are 2K AP CS teachers for 24K high schools in the United States. If students WANTED to be “labelled a nerd” and take a CS course, they are unlikely to get a chance.
The result in America is a prefect storm of opposition from every level. Effecting meaningful change is virtually impossible. I work for the education department at Google and the stories our external educators return with are as shocking as they are unpublishable. We’ve been spending enormous resources with frankly minimal impact.
I am absolutely sure that Neil is hearing all kinds of awful stories, but that’s not the same as careful studies. Those are anecdotes. Efforts to measure what’s going on paint a somewhat different picture.
At the ACM Education Council meeting last month, we learned that China is spending $25 BILLION per year on computer science education. Those are enormous resources. The United States has barely started.