Archive for October, 2009

Guitar Hero as a Form of Scaffolding

My daughter turned 12 on Tuesday, and unfortunately, she was ill.  Dad hung out with her, and played whatever video games she wanted.  One of those she picked was Guitar Hero, so I finally got time to play it repeatedly.  Y’know — it was kind of fun!

Back in December, when I first got Guitar Hero, I wrote a blog post where I agreed with Alan that Guitar Hero is not nearly as good as learning a real musical instrument.  At that time, I wrote:

Guitar Hero might still be fun.  But it’s just fun.  I might learn to do well with it.  But it would be learning that I don’t particularly value, that makes me better.

Now I’m thinking that I might want to eat those words.  I found Guitar Hero hard.  I own a guitar and have taken guitar lessons for two semesters.  (Even putting it in terms of “semesters” suggests how long ago it was.)  Some of my challenges in learning to play a guitar included doing two different things with my hands, and switching chords and strumming to keep the rhythm.  I noticed that that’s exactly what I was having a hard time doing with Guitar Hero.  I also noticed the guitar parts of rock songs — songs that I had heard a million times before but never had noticed all the guitar parts previously. I noticed because I missed my cues, and so those guitar parts were missing.  While I have known Foghat and Pat Benatar for literally decades, Guitar Hero had me listening in a different way.

It occurred to me that Guitar Hero could be a form of scaffolding, a reduction in cognitive load that allows one to focus on one set of skills before dealing with all the skills at once.  Cognitive scaffolding is much like the physical scaffolding, “a temporary support system used until the task is complete and the building stands without support.”  Now, Guitar Hero would only be successful as a form of scaffolding if it actually leads to the full task, that it doesn’t supplant it.  In education terms, if Guitar Hero could fade and if it doesn’t lead to negative transfer, e.g., “I’m great at Guitar Hero, but a real guitar is completely different.”

I did some hunting for studies that have explored the use of Guitar Hero to scaffold real music education.  I could not find any educational psychology or music education studies that have explored Guitar Hero as a form of scaffolding or as a tutor to reduce cognitive load.  I did find papers in music technology that hold up Guitar Hero as a model for future educational music technology! My favorite of these is a paper by Percival, Wang, and Tzanetakis that provides an overview of how multimedia technolgoies are being used to assist in music education.  They point out additional lessons that students are learning with tools like Guitar Hero that I hadn’t noticed.  For example, the physical effort of playing an instrument is more significant than non-players realize, and Guitar Hero (and similar tools) build up the right muscles in the right ways (or so they theorize — no direct studies of Guitar Hero are cited).  The paper also argues that getting students to do something daily has a huge impact on music learning and performance, even if it’s a tutorial activity.

Now here’s the critical question: Does Guitar Hero lead to real music playing, or is it a stopping point?  Nobody is arguing that playing Guitar Hero is making music, that I can see.  Does it work as scaffolding?

I don’t know, but I’m now wondering: Does it matter?  If Guitar Hero stops some people from becoming musicians, then it is a problem.  If some people, who might have pushed themselves to become musicians, decide that Guitar Hero is hard enough, then Guitar Hero is doing a disservice.  But if that’s not true, and people who never would become musicians, have a better appreciation for the music and a better understanding of the athleticism of musicians because of Guitar Hero, then Guitar Hero is providing a benefit.

These are computing education questions.  You have all heard faculty who insist on using Eclipse in their introductory classes, because that’s what real software engineers use.  We have recently read in comments on this blog that students should use “standard tools” and “learn science the way scientists understand it.”  We also know from educational psychology that engaging introductory students in the same activity as experts only works for the best students.  The bottom half of the students get frustrated and fail.

We need Guitar Hero for computer science.  We need more activities that are not what the experts do, that are fun and get students to practice more often, that are scaffolding, and that reduce cognitive load.  We have some, like Scratch and eToys.  We need more. Insisting on the experts’ tools for all students leads to the 30-50% failure rates that we’re seeing today.  We have to be doing more for the rest of the students.

October 29, 2009 at 9:52 am 13 comments

Teach a Kid to Program – Wired How-To Wiki

You don’t have to be an engineer to program a computer. In fact, programming is like learning another language, which just happens to be easier the younger you are. In many ways, learning a programming language at a young age equips youth with skills that will be very marketable in the future, no matter what profession they decide on later.

via Teach a Kid to Program – Wired How-To Wiki.

There are some interesting suggestions on this page.  I hadn’t thought about Basic on a TI calculator as a syntax-light intro to computing.

October 27, 2009 at 11:55 am 3 comments

Do we need to improve tenure?

In opposition to this trend, a new consensus is emerging that it is time to stabilize the crumbling faculty infrastructure. Concerned legislators and some academic administrators have joined faculty associations in calling for dramatic reductions in the reliance on contingent appointments, commonly urging a maximum of 25 percent. Across the country, various forms of stabilization have been attempted by administrators and legislators, proposed by faculty associations, or negotiated at the bargaining table.

via AAUP: Conversion of Appointments to the Tenure Track (2009).

I suspect that IS/IT/CS departments are particularly heavy with “contingent” appointments.  Is it a problem?  I understand that these adjunct faculty are not paid well and do not have many benefits, and many departments are relying on them more heavily.  Do we need to heed AAUP’s call for an improvement in tenure?


October 27, 2009 at 8:02 am 4 comments

How to Fix Our Education System

We have to compete at quality. The way that’s going to happen is if we have leadership at the top and a real fear through this society that if we don’t compete better by educating our best students—which means getting the best teachers, which means rewarding them for results—we’re going to fall behind.

via How to Fix Our Education System –

Interesting that the first heading in this story is, “It’s the teachers.”  This is a different take than Friedman (or I) am taking — they’re emphasizing “the best.”

October 26, 2009 at 12:41 pm 4 comments

Scratch and more CS Ed in this month’s CACM

The November 2009 Communications of the ACM is a great one for computing education folks.  The cover article is on Scratch (with a hypothetical and cool “Minority Report” inspired interface on the cover).  The editor-in-chief, Moshe Vardi, asks the question, “Is the Image Crisis Over?”  Has the undergraduate enrollment crisis ended?  In the BLOG@CACM section, Ramana Rao talks about how MIT’s computer science curriculum has developed over the years and how that should influence high school CS curriculum.

(Folks, I’m preparing for my trip to Informatics Education Europe this week, and will be at the conference next week, so please excuse a paucity of posts.)

October 26, 2009 at 11:11 am Leave a comment

Great Recession caused by sub-standard public education?

Thomas Friedman has a really interesting NYTimes column about education and the cause of the Great Recession this week:

Now that we are picking up the pieces, we need to understand that it is not only our financial system that needs a reboot and an upgrade, but also our public school system. Otherwise, the jobless recovery won’t be just a passing phase, but our future.“Our education failure is the largest contributing factor to the decline of the American worker’s global competitiveness, particularly at the middle and bottom ranges,” argued Martin, a former global executive with PepsiCo and Kraft Europe and now an international investor.

This theme, that we’re particularly ignoring the bottom half (2/3’s?) of our population, occurs again later in the column:

“…the bottom half of the top, those engineers and programmers working on more routine tasks and not actively engaged in developing new ideas or recombining existing technologies or thinking about what new customers want, have done poorly. They’ve been much more exposed to global competitors that make them easily substitutable.”

I have been exploring this theme, that we’re ignoring all-but-the-best students, in my recent blog posts, about how we choose exciting the top students instead of educating all, and about how the movement to on-line education tends to wipe out the bottom half of the student body.  The top students don’t need the phonics of computing education, but those lessons that help students move farther and progress faster could do a lot for the bottom half.

Friedman is also saying that what we are teaching has to change, too.  That’s probably right.  But with 30-50% failure rates in CS1, we are currently not teaching much of anything about computer science to the students in the lower half.  Maybe we should start by helping them succeed in those first classes, so we can get to the entrepeneurship and global thinking that Friedman wants, too.

October 23, 2009 at 12:58 pm 13 comments

Hooray for CS Education Week

ACM (the Association for Computing Machinery) joins with several partners from the computing community to commend the U.S. House of Representatives’ passage of a resolution to raise the profile of computer science as a transforming industry that drives technology innovation and bolsters economic productivity.  The resolution, H. RES. 558, sponsored by Congressmen Vernon Ehlers (R-MI) and Jared Polis (D-CO), designates the week of December 7 as “National Computer Science Education Week.”

via Congress Endorses Computer Science Education as Driver of Innovation, Economic Growth — Association for Computing Machinery.

October 22, 2009 at 10:29 am Leave a comment

Judy Robertson says to Take Heart

In her Blog@CACM posting, Introductory Computer Science Lessons–Take Heart!, Judy Robertson responds to my blog about how we don’t teach CS well according to educational psychology literature.  She argues that Kirchner, Seller, and Clark are not directly speaking to our CS practices and goals (which may be true).  She also suggests that the practices that KSC recommends are those we already practice in CS education, e.g., use of worksheets and multiple worked examples.  That may be true at Judy’s institution, but is certainly not the case in most US institutions that I visit.

October 21, 2009 at 8:51 pm Leave a comment

Systems Software Research is Dead

Beki and I continue to have a conversation through our blog posts.  (Normally, Beki is down the hall from me, but this semester, she is teaching at Georgia Tech’s campus in Metz, France.  Barb and I are visiting Beki and her husband, Keith Edwards, when I go to speak at Informatics Education Europe the first week of November.  Perhaps we should do a joint blog post that day…)  Today, Beki is talking about Rob Pike and his concerns about “science” taking over what’s interesting about “Computer Science.”

Measurement as a “misguided” focus on science, but then he adds:

“By contrast, a new language or OS can make the machine feel different, give excitement, novelty. But today that’s done by a cool Web site or a higher CPU clock rate or some cute little device that should be a computer but isn’t.

The art is gone.

But art is not science, and that’s part of the point. Systems research cannot be just science; there must be engineering, design, and art.”

October 20, 2009 at 8:50 am 3 comments

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

“Constant Vigilance!”: Working for Computing Education in Georgia

It’s been a rough week for “Georgia Computes!” and our work to promote computing education in Georgia.

One of the things that Barb Ericson (a co-PI on our project, the Director of CS Outreach for the College of Computing, my co-author, and my wife) helped establish is an endorsement (a kind of certification) in computer science for high school teachers. Last week, Barb got bad news from one of the teachers she works with. The Georgia Professional Standards Commission website had been updated to explain that the endorsement does not allow a high school teacher to teach computer science classes, but to “run computer labs.”  Barb talked to her contacts at Georgia PSC all this week, trying to get that corrected.  Finally, they agreed that it was a mistake, and it would get fixed.  No word on how the erroneous information got posted.

Then, two days ago, Barb got word from one of her high school teachers that the Georgia Department of Education had announced that AP Computer Science would no longer count towards high school graduation requirements.  Until last month, Georgia and Texas were the only two states in the US who let students use AP CS credit towards graduation, a significant incentive to take AP CS.  Both Barb and I have working with our contacts in all the various organizations the last two days trying to find out what happened.

Here’s the story, best as we can tell so-far.  Georgia has one public University System, with one Board of Regents.  The Board of Regents recently refined their standards for admission to the system, and worked with the Georgia Department of Education to make sure that what GaDoE required for graduation met what the BoR was requiring for admission.  One of the particular areas of focus was the Career, Technical, and Agricultural Education (CTAE) Division classes.  There was some serious concern in both the BoR and GaDoE that some of those classes shouldn’t really count as a “Science” course for the “fourth science class requirement” of graduation and admissions.  For better or worse, computer science in Georgia is part of CTAE.  It was CTAE that announced that AP CS would no longer count towards meeting that requirement.

Now, the Board of Regents is telling us that AP CS was never even brought up for review.  They are willing to review it, and they are investigating this next week.  We just heard today from a contact with the Science Committee of the Georgia Dept of Ed that “Computer Science is only a ‘science’ in that the word is in its name.”  The Department of Education may not have brought AP CS up for review, because their Science Committee didn’t want it to count as a science towards graduation.  We’ll learn more this week, as the BoR checks to see if AP CS was on its review list, and then starts their own review of AP CS curricula to decide if it should count.

For right now, it doesn’t count.  As of October 1, only Texas counts any computer science towards high school graduation requirements.  Georgia has backslid.

I keep thinking about Mad Eye Moody in the Harry Potter series of books by J.K. Rowling.  “Vigilance! Constant Vigilance!” he would demand of all those fighting against the Dark Wizards. It feels like that’s what we have to do in “Georgia Computes!” to make sure that computing education keeps progressing, and doesn’t backslide.  Fortunately, Barb has her own “Order of the Phoenix,” in her network of teachers who let her know of any sign of trouble.  It really shouldn’t be this hard, should it?

October 16, 2009 at 8:57 pm 7 comments

Is CS or Computing a discipline?

Andy Bernat writes:  “A recurring theme at this meeting was the concern that the European scientific research community still does not fully appreciate computing as an intellectually vibrant research discipline in its own right; instead the field is often viewed as an enabler of research in other disciplines.”

via Computing Community Consortium, “A View from the 2009 European Computer Science Summit

October 14, 2009 at 4:05 pm 2 comments

What’s worse: Boredom or failure?

I’m continuing to dig into the literature on design of instruction, informed by cognitive load theory and worked examples research.  One of the analyses that these researchers often perform is to split the subject pool by performance on a pre-test, then look at how the high-scoring (sometimes called “high-ability” and sometimes just called “more knowledge” group) students compared to the low-scoring students.  A good example is Mimi Recker and Pete Pirolli’s paper teaching recursion using a worked example approach.

The results are fairly predictable.  High-ability students tend to prefer more bells-and-whistles, more flexibility, more learner control.  Low-ability students don’t do as well with all the bells-and-whistles, and sometimes just downright fail.  We just read a paper in educational technology this last week about how highly-flexible simulations simply frustrate low-ability students, and another paper about how interesting dynamic visualizations actually impeded learning in the low-ability students. On the other hand, in the less sophisticated, more directed instruction, high-ability students are bored — but importantly, everyone learns.  High-ability students do learn when bored.

As an instructional designer, how do you choose?  Lots of people say, “Don’t choose! Give students a choice!”  I tried that in Emile — low-ability students often choose the environment that they are worse at.  Metacognition is hard.  And it’s really hard for the designer to build in such flexibility.  Thus, designers typically have to choose: Do you bore your best students?  Or do you fail more students?  What’s particularly hard is that this burden is falling on different students — you’re comparing boredom of one group with failure of another.

Of course, squelching student creativity is an awful thing.  It’s also an awful thing to live out life as a high-school or college drop-out.  I think it’s particularly hard because we as teachers (at high-school or college) tend to empathize more with the best students.  We were good students, or we wouldn’t be here now.  We remember what it was like to be bored, to feel like your imagination was being leached away by mindless activity.  We may not have had that experience of flunking out of activities that the smart kids did well at, while we were frustrated and deciding to give up.

What’s better for society, if we were to choose all-discovery (for high-ability) or all-structured (for low-ability)? Choose highly structured instruction, and you bore some students (but still teach them), and decrease your number of drop-outs.  Choose open-ended, exploratory instruction, and you increase the number of drop-outs, but perhaps (it’s a gamble) dramatically inspire your high-ability students and they become great scientists and inventors.  Both are tough choices, somewhat like Pascal’s argument for the belief in God.  What helps society more, to be pretty sure that you’ll have fewer people on the dole, or to have a chance at more great discoveries and inventions?

October 14, 2009 at 10:43 am 13 comments

Computer Science is not Engineering (and it is, too)

Beki Grinter has just written a couple of nice blog posts on a theme that we’ve touched on here, too: What is computer science?  Lots of people are asking this question in various forms. Peter Denning has been answering this question in his CACM column, in December’s Computing’s Paradigm and in September’s Computing: The Fourth Great Domain of Science. I just finished doing my meta-reviewing (50 papers!) for SIGCSE 2010, and I can’t tell you how many people are devising definitions of “computer science” or “computational thinking” these days.

Beki’s posts are particularly striking because it’s very personal for her.  If I described her to you as, “a PhD in CS, who worked at Xerox PARC and Bell Labs,” you’d most likely see her as a “computer scientist.”  Yet, when some people see her publications about things like how mega-churches use technology and about how people use iTunes’ publicly shared playlists to influence others’ perception of them, they have their doubts.

Why?  Does computing have to be about building things?  Can’t it be about analysis and understanding — even of humans in their interactions with computing, not computers?  Of course, there are computer scientists who are engineers!  There are also computer scientists who use their knowledge of computing to learn about something more.

If what Beki does is not “computer science,” then could someone please pull up a new wagon with a new name on it?  I’ll also be ready to get off this one and find a new one.  Because if computer science is just engineering, just inward looking at the machine, and the careful, rigorous, interesting study of everything else associated with computing informed by deep knowledge of computing is “some other field,” then please sign me up for that new field.  Because that’s where the important, world-changing insights are going to come from, and that’s where I want to work.

October 14, 2009 at 10:22 am 1 comment

Older Posts

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

Join 10,185 other subscribers


Recent Posts

Blog Stats

  • 2,060,394 hits
October 2009

CS Teaching Tips