An ACM committee has constructed a Model Curriculum for K-12 computer science education – not a programming curriculm and not just at the high school level (the report is a pdf available off that page). The “Grade-Level Breakdowns” section summarizing the skills to learn at each level is the most interesting to me – there’s a strong and early focus on using technology, with education about computer science as a problem-solving field being secondary to my eye. The only items listed for K-2 that seem like computer science, instead of computer proficiency, are the last two out of twelve – understanding binary and sorting information as in a telephone book. There’s lots of mention of graphics, multimedia, and web programming throughout – great tools for getting students interested and providing examples, but computer science education should go beyond that. The games/activities in the appendix get a little closer to what I think of as elementary computer science education, but the tone of the report as a whole surprises me. The fact that “proficiency using the keyboard with correct fingering” is even listed as the first Grades 3-5 skill seems off. I think that even at a very young age you can start to introduce the concepts of algorithms and logic. A further advantage is that teaching those concepts requires significantly less sophisiticated equipment (if any). On the positive side, I was very happy to see instruction in computer ethics, responsible usage, selection of appropriate technology, and social impact topics included.