Archive for August 10, 2009

Questioning the report that High School CS is declining

The T.H.E. Journal has a report on the results of the 2009 CSTA Teacher Survey.  The results are pretty dire: “not only have the number of students enrolled in computer science has dropped significantly in the last four years and so have the number of AP computer science courses offered at high schools.”  The specific numbers are stark.  “Only 65 percent [of survey respondents] reported that their schools offer introductory or pre-AP computer science classes. This compares with 73 percent in 2007 and 78 percent in 2005. Only 27 percent reported that their schools offer AP computer science. This compares with 32 percent in 2007 and 40 percent in 2005.”

I have questions about these findings, though.  It may very well be that high school CS is declining, but I suspect that the truth is a little more complicated than the T.H.E. Journal article is stating.

The 27% of schools offering APCS seems too high to be a national average.  We know from College Board data that Georgia, at 22%, has a higher percentage of high schools offering APCS than other states in the Southeast, such as Alabama, Florida, South Carolina, and North Carolina.  The rest of the country is so high that the average is 27%?

There is a seeming contraction in the article that helps to make sense of the results. The first line says, “the number of students enrolled in computer science has dropped significantly in the last four years.” Later, though, it says, “among schools that offer CS courses, enrollments have not seemed to change much over the last three years. Of those participating in the survey, 23 percent reported that CS enrollments have increased; 22 percent said CS enrollments have decreased; and 55 percent reported no real change in enrollments.”  So where’s the enrollment drop?  The inference I make is that enrollments have dropped because the number of schools offering CS has declined, while at the schools that have it, the enrollment has stayed the same.

These results lead me to more questions.  According to the College Board, the number of students taking the APCS Level A exam has risen each of the last four years. Where are those additional test-takers coming from, given the declines reported in the surveys? If the number of schools offering APCS has declined at the survey respondents’ schools, and the enrollments at those schools are flat, yet the number of test-takers has risen, then either the percent of kids going on to take the test has increased, or…there is increase where the survey is not.

According to the CSTA report, the survey was administered “to 14,000 high school teachers who defined themselves as computer science, computer programming, or AP computer science teachers.”  I wonder if that’s why the numbers aren’t quite making sense.  This explains why the percentage of APCS seems so high — we’re talking to the teachers of CS, not sampling all schools.  This may also explain why there seems to be more high school CS than is reported.  We have found in Georgia that teachers teaching computer science sometimes (maybe even “often”) define themselves as business or math teachers, not computer science teachers.  If you’re training is in mathematics education, and you only teach one or two computer science classes, it’s not surprising that you would see your identity as a math teacher, not a computer science teacher.

Given the focus of the CSTA survey, it may be that there is growth in APCS, but only in those schools that are new to teaching computer science and don’t have teachers who define themselves as computer science teachers. Further, there may be a decline in the number of high school CS classes nationwide, but the CSTA report really only reflects those schools have had high school CS in the past.  Again, high schools new to CS, or with new teachers, may not be included in these numbers.

So the survey result is not really about high school CS overall — that’s not who was surveyed. The article is making claims about “high school CS” which really can only be about “schools that have self-described CS teachers.” The survey raises important questions about why CS should be declining at the places where it used to succeed!  The real story is in the changes in survey responses over the years, not as a measure of high school CS nationwide.

We need a survey of a sampling of high schools nationwide, not just those with a teacher who claims the role of “computer teacher.”  High school CS is changing, and it may be that the action is in the new schools with the new teachers just starting to construct their own identity as teachers.

August 10, 2009 at 3:56 pm 1 comment

Defining Media Computation: Shifting levels of abstraction for fun

Bettina Bair of Ohio State University stopped me several years and asked, “If we build a course on building video games using graphical objects, is that a course on Media Computation?”  That was the first time that someone challenged me on what I meant by “Media Computation.”  I said “No,” and my reason was that Media Computation was about manipulating pixels and samples in order to create larger and more interesting artifacts.  That’s how students in MediaComp CS1 come to understand assignments, functions, arrays, loops, and conditionals, and the very important notion that these low-level computational pieces lead into larger artifacts.

When I revised the Media Computation website this summer, I posted that definition.  Beth Simon of University of California at San Diego challenged me on it.  “You’re missing the point that you only introduce ideas as you need them.  You don’t frontload the course with material that students don’t have a reason to learn yet.”  I agreed with her, and thanked her for noticing that we put that into our books.  But that’s not a critical part of what is “Media Computation.”  I think that MediaComp is a broader idea than just the pedagogy that Barb and I use in our books.  I claim that others’ books (as I do on the website) use MediaComp, too.  MediaComp is less about the order of what’s taught and more about what and how it’s taught.

In teaching three workshops in the last two weeks (whew!), I realized that my definition didn’t even encompass our own work.  Our CS2 MediaComp course has students build animations out of linked lists, trees (scene graphs), and simulations. They created music by weaving linked list nodes containing MIDI phrases.  I realized that MediaComp was more generally about creating media through manipulating computational components at lower-levels of abstraction.

I realized an important piece missing from my definition in these last weeks of workshops: the power of expressive media. Over and over again, I heard teachers talk about how excited they were about making music with MIDI, about making animations, at discovering new ways of using their own personal pictures in their computing.  Part of what MediaComp does is remind computer science faculty that the goal of the personal computer is to create “A Dynamic Medium for Creative Thought” and is meant to be “a medium for expression through drawing, painting, animating pictures, and composing and generating music” (quotes from Kay and Goldberg’s Personal Dynamic Media from IEEE Computer, March 1977).

My sense from listening to the teacher-participants is that combining CS1 with expressive medium gives them permission to be exploratory and creative. The fact that the focus was on the CS1 meant that they didn’t have to be careful, stuffy, and academic with the media. “Computer Graphics” is a serious area of study that gets presented at SIGGRAPH and leads to sophisticated CGI effects and video games.  There’s a similar concern about playing around with “computer music.” Then there’s the stuff that those “artists” do, that isn’t what many CS professors see themselves doing.  But, when the focus is on learning arrays and conditionals, then the media is just (literally) “for fun,” and the teachers did seem to have fun with it.  Check out their work on the workshop collage, sound, and video pages.

I’ve made a pass at combining all of these ideas in the definition now at  Media Computation is about shifting levels of abstraction in order to produce creative expressions, working at the low-level to create media that inspire and engage at the high-level.  I’ll probably revise that definition again after the next set of workshops — but not until next summer!

August 10, 2009 at 1:10 pm 1 comment

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

Join 9,003 other followers


Recent Posts

Blog Stats

  • 1,875,131 hits
August 2009

CS Teaching Tips