Archive for October 19, 2009

Update on counting CS for high school graduation requirements in Georgia

I had a half-hour conversation this morning with the person in the Georgia Board of Regents who runs the science course review process.  It was her committee that put the AP CS on the rejected list.  Fortunately for us, it was never put through a full review (she and her leadership team rejected it), so there is a bureaucratic loophole through which we can ask for a re-review.  She has promised to send it out to her full faculty review committee “sometime this week,” and to cc me so that I can make an argument to that committee.  I plan also involve the University System of Georgia’s “Academic Advisory Committee on the Computing Disciplines” (representatives of every campus in the USG that has a computing department) to make one-on-one arguments to the members of the review committee.

She also promised to request that AP CS get reviewed by the mathematics committee, to see if it might count as an alternative fourth math.  We tried this a couple years ago and were rejected.  Times change, though, and we can try again.

The arguments against AP CS are predictable:  “It’s just not a science” and “It’s more of a technology class.”  When I argued that AP CS has science practices (hypothesizing, testing models, evaluating results), even if the content is the virtual world not the physical world, she explicitly said that that it’s then not a science.  She explained how her faculty review committee considers what courses count.  “These science faculty ask, ‘Will taking this class in high school make a difference when these students get to my undergraduate science classes?”  Well, that’s a really high bar, and one that we’re unlikely to meet, since all those faculty are in traditional science classes.  Why should taking AP CS make performance in undergrad biology or chemistry better?

October 19, 2009 at 11:33 am 60 comments

How do we make high school CS classes more “real”?

I started working on a reply to Alan Kay’s comment on my previous blog post, and as it got longer with more links, I realized I should just use blog-owner’s prerogative and make a new post.  The issue we were discussing was how to make the case that the AP CS should count as a course that fulfills the “science” requirement in Georgia.  I commented:

Barb and I were just talking last night about the issue you raised, that the AP CS curriculum doesn’t look like a science. In the argument that I offered to the GaDOE, Computer Science classes have a lot of science practices (even if the content is not easily recognized as science by a traditional scientist), such as developing hypotheses, experimentation, and analysis of results. However, most CS curricula (including AP CS) do not make those connections between debugging and the scientific method explicitly.

Alan replied that he’d like to see more “real science” in these classes.

While pretty much agreeing with your comments, I think the real issue is a much deeper epistemological one — and is a problem not just in computer “science” but in the teaching of most high school and many college “real sciences” which have deep models as the representations for their theories (e.g. physics, chemistry, biology).

In the “real deal” it’s not so much about “hypotheses, experiments, analysis” (the standard elementary school characterization of science) as it is about the goodness and depth of the mapping between the observations and the model (in the standard characterization of science, this could be thought of as real thresholds in what “analysis” actually should mean).

So, how do we make that happen?  How do we get the “real deal” into high school classes?

My suggestion is that this doesn’t happen by making the argument for “real” classes at the state level.  The job of the Georgia Department of Education Science Committee is, explicitly,  to ask if any individual class “aligns with the GPS science standards, and/or the national science standards.” State standards are not re-written all that often, and Georgia just rewrote theirs.  Take a look at a given set of science standards, like those for high school Chemistry.  There you see terms like “hypotheses, experiments, analysis.”  Terms like “modeling” and “mapping” don’t appear at all.

How do we get a modeling and mapping focus in these classes?  Georgia (probably like most states) takes their lead from national authorities, like the American Association for the Advancement of Science standards “Science for All Americans.”  Take a look at what AAAS says about how to teach science — it’s a pretty close match to what Georgia has in their standards.  Nothing about modeling or mapping there, either.

The suggestion that I’m making is, if you want to get science classes to change, to make them more “real,” get the National Academies, or AAAS, or similar respected body to issue a report.  Larry Snyder’s NRC report on “Information FITness” gets cited a lot when discussing what students need to know about computer science.  It’s hard to make the case at the State level, because people within the State look outside the State for evidence.  These kinds of national reports make a difference.

Now, how do you get CS classes to be more “real”?  One way is by changing the Advanced Placement class, as NSF is trying to do.  Another way might be to use the same strategy as for Science — get the recognized authorities to come out with a statement, a report that says, “Here’s what real Computing Education should look like.”

My own opinion is that radical change is not going to come out of the ACM/IEEE curriculum standards process.  I was part of the committee for the CS 2008 standards update.  It is hard to get a dramatic and powerful statement for change out of that process.  We’re in a challenging stage in our field — we’ve got lots of ideas, and few measures for determining which is better than the other.

There were easily a half dozen new approaches to teaching CS that were vying to get a mention (better yet, a recommendation) in the new curricular volume.   How do you decide?  We have no reliable and valid measures of computing knowledge that cross approaches and languages.  We as a field can’t even agree on the learning objectives.  We on the committee tried to come up with some measure about usage and peer-review, but even that was insufficient.  If three schools do kinda the same thing and the approach got mentioned in a software engineering conference article, does that count?  Maybe it should — do we have a better standard? To list everything is no recommendation or guidance at all.  One of the criticisms of CC2001 was that it recommended a half dozen approaches for CS1 already.  I pushed to get some of those off the list — don’t we have evidence that some of these aren’t really all that effective?  The push back was similar.  “How do we really know that these don’t work?” and “We know friends who use those approaches.  How can we say in this volume that they don’t work?”  The result is that the volume reflects the least common denominator curriculum, which is useful for describing current accepted best practice, but it’s not a forward-looking statement of what should be.

Seymour Papert in his book The Children’s Machine argued that part of what happened to Logo was school.  School has a process of compartmentalizing and turning new ideas into standard curricula.  We can argue that this is wrong (and Seymour did in his book), but it is the reality.  I am describing here the process (as I understand it now, incomplete as that understanding is) of how one achieves curricular change at the secondary level — you show how you can meet the existing standards, or you push to get the standards re-written, with the most leverage coming from authoritative statements at the national level.  It’s hard work, but as Seymour points out, that’s how the system keeps from thrashing.  The system is designed to make it hard to change the system.

October 19, 2009 at 10:39 am 1 comment

Enter your email address to follow this blog and receive notifications of new posts by email.

Join 10,184 other subscribers


Recent Posts

Blog Stats

  • 2,053,934 hits
October 2009

CS Teaching Tips