Archive for November, 2010 is up!

The new website for CSedWeek is now up and running, with over 700 pledges already.  Please do post there everything that you and your colleagues are doing for CSEdweek.  We want to show Congress widespread interest and activity.

From December 5 to 11, 2010, Computer Science Education Week (CSEdWeek) seeks to raise public awareness of the critical role computer science education has in preparing students for 21st Century careers and the transformative role computing plays in today’s society.


November 30, 2010 at 9:52 am Leave a comment

An essay is enough to narrow gender-based achievement gap

I love the reasoning behind this study.  We know that gender gaps in achievement (and enrollment?) are entirely cultural.  So the solution is cultural, and has nothing to do with the topic.  Here, an essay in Physics class narrowed the gender gap.  Could something like this work in CS, too?  (Thanks to Fred Martin for sending this to me!)

A study in last week’s Science describes a program at the University of Colorado, focused on helping to narrow the achievement gap in an introduction to physics class targeted to science majors. In past years, research had found that a strong background and preparation could account for over half the gender difference in test scores, but that still leaves other, substantial factors to explain the discrepancies.

The authors suspected that stereotypes might account for the remaining differences. “The fear of being devalued based on a group identity, such as becoming aware that one could be seen in light of a negative stereotype about one’s group, has been shown to undermine performance on difficult tests,” they explain. “For example, women’s performance on difficult math and science tests can suffer insofar as they worry that their poor performance could be seen to confirm a negative gender stereotype.”

Since the problem wasn’t physics-based, the solution wasn’t either.

via Self-affirming essay boosts coeds’ physics skills.

November 29, 2010 at 1:49 pm 5 comments

There is no “First” in CS1

Andy diSessa has a great video that he sometimes shows in his talks, where he is interviewing a Physics Senior at Berkeley.  He’s asking her what happens to ball being tossed from one hand to the other.  She tells him a story about potential and kinetic energy.  He points out that the ball traces a parabola — what happens to cause that shape?  She tells him a story about horizontal and vertical velocity, and about acceleration due to gravity impacting the vertical velocity, but not the horizontal.  He presses her further — what really happens at the very top of the arc?  What causes the ball to change direction?  Finally, she blurts out, “The air pressure! The air pressure pushes down on the ball forcing it to fall!”

Which is wrong.  It’s a common alternative conception for falling objects.  The student was certainly not taught that explanation at Berkeley.  She developed it as a novice, as an observer of the world around her.  She chose to major in physics — she must have had an interest in the physical world before coming to Berkeley.  She observed the physical world, and developed theories about how it worked.  Andy’s video shows that, despite her developing new understanding, the old belief system is still there.

Cognitive science shows that no student enters our class a blank slate.  They enter undergraduate study with nearly two decades of experience, and theories that they have developed in those decades about how the world works. Those theories have allowed them to function on a daily basis.  If they enter our computer science classroom voluntarily, then they have probably been an astute observer of computing mechanisms, and they have certainly developed theories about how the computing world works.

I have heard proponents of a wide variety of beliefs about the power of CS1:

  • “If we teach them recursion first, then iteration becomes simple.”
  • “If we teach them strong typing (or test-driven development, or functional programming), then they will have good practices of mind that will stick with them for the rest of their years.”
  • “If we teach them objects first, then objects will be natural to them.  We all can’t understand it the same way, because we learned imperative programming first.”
  • “It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration.” (You probably recognize this one.)

I don’t know if any of them were once true, but I’m quite confident that none of them are true today.  There is no first. There is no objects-first, functions-first, hardware-first, or non-Basic-first.  No, I’m not suggesting that there already is computer science in high school  — there are way too few teachers and classes for that to be true, on average.  Rather, in a world where students live with Facebook and WiFi and email and “To The Cloud,” they most certainly have theories about how computing works.  There’s no way to get them before they make up their theories.  By the time they decide to study computing, they have them.

I thought of this looking at Carsten Schulte’s ITICSE 2010 paper, on studying student perceptions of difficulty in an objects-first vs. an objects-later class.  This is a follow-up to his earlier ICER paper where he reported no learning differences between an objects-first and an objects-later class.  While I’ve heard complaints about Schulte’s analysis methods, I found his experimental set-up to be as careful as one could possibly be.  The only difference between his two classes were the order of topics.  Objects-first vs. objects-later doesn’t matter, but neither does any other -first.  His results are really not surprising.  We already know that the sequence of topics in a curriculum doesn’t really seem to make much difference in the learning — that’s how problem-based learning works.

It’s an important open research question: How do students understand the computing around them?  What theories do they have?

  • How do students explain how a router box works, that my daughters get Wikipedia when they ask for it and I get WordPress when I ask for it, though there’s only one DSL connection and one router box in the house?
  • How do the Chinese characters appear on my screen when I get an email from China — were the characters in the email, or in my computer?
  • How is it that I can run Windows on my MacBook?
  • What is on that CD that I put into my Wii, and how is it different from what’s on a DVD or a CD that works on my Mac or PC?

We know something about how novices develop naive theories of computing.  John Pane’s research shows us that novices tend to develop declarative explanations of software that is driven by events, and don’t seem to develop notions of objects at all. The “Commonsense Computing” group has shown us that novices can create algorithms for a variety of problems, though that doesn’t really tell us how they think software and software development works in the world around them.

One problem that we have as educators is that this is a constantly open research question.  Every new technological doohickey that students meet will lead to new theories about how technology works, sometimes requiring changes to old theories.  Our students will have different theories depending on their computing experiences.  That’s how all learning works — we meet a new situation, that we either assimilate into our understanding, or that we accommodate with a new theory.  Over 50 years of cognitive science tells us that this is happening with every student who is paying attention to computing. If they enter into our CS classes, they are paying attention, they are making sense of the world around them, and they already have theories about how their computing technology works, how software works, and how software is developed.

We are in the same position as physics (or biology, or chemistry, or other science) educators.  Students have theories about how Wii controllers, voicemail menu systems driven by spoken voice commands, touch screens, and Google/Bing search work.  If these novice theories “mutilate” their minds, then it’s done, it’s happened to everyone, and we’d best just get on dealing with it.  There is no chance to place a theory in their minds before they learn anything else.  We have to start from where the students are, and help them develop better theories which are more consistent and more correct theories.  There is no first, but we can influence next.


November 27, 2010 at 5:10 pm 29 comments

Constructivism is to memorization, as RSS is to TIFF

I’ve been wandering around Jon Udell’s blog recently (after a recommendation from Greg Wilson) and found this story from Jon.  He’s complaining that his local high school doesn’t realize that a scanned page, while “soft” copy that can be sent by email, is completely different than an easily parsed form of the same information.  He uses a quote about school reform to make his point, which is actually about constructivist learning, thus suggesting (implicitly) that school administrators who don’t see the difference between a scanned page and an RSS feed, may not also see a difference between constructivist learning and memorization.

It irks me the school publishes this data without acknowledging that it is data, or providing it in a way that’s appropriate for the kind of data it is. In 2010, one of the “tools to succeed in a diverse and interdependent world” has to be a basic working knowledge of information chemistry. The quotation about learning that appears at the top of that image speaks to the underlying principle:

“Treat it as an active process of constructing ideas, rather than a passive process of absorbing information.” – Daniel J. Boorstin

via The laws of information chemistry – O’Reilly Radar.

November 26, 2010 at 6:56 pm Leave a comment

CSTA resources for CSed Week

CSTA just shared this with its members, some great resources for CSed Week:

CSEdWeek 2010 is a call to action to raise awareness of computer science education and computing careers among students, educators, and the public. CSEdWeek (December 5-11, 2010) has been endorsed by Congress in recognition of Admiral Grace Murray Hopper’s birthday, December 9, 1906, and her extraordinary contributions to the field of Computer Science.

CSTA is delighted to announce its new CS Ed Week resource, now available on the CSTA website at:

As part of their commitment to support CS Ed Week (Dec. 5-11th) activities, the Donald Bren School of Information & Computer Sciences at the University of California, Irvine and CSTA have created a series of announcements that schools and teachers can use for morning announcements or in the classroom. These audio and video files are intended to inform and engage students and to help them understand the many opportunities computer science provides.

Audio Announcement: Listen live or download and play for morning announcements!
This 45-second audio announcement by a high school senior points to a broad spectrum of career opportunities and encourages students to celebrate Computer Science Education Week.

Videos: Watch live or download and play for announcements or in the classroom!
This series of five two-minute videos celebrates the contributions that computer science makes in four fields and encourages students to pursue computer science as an educational pathway and a career. They cover entertainment, the environment, communications, medicine, and empowerment.

November 25, 2010 at 1:43 pm Leave a comment

Computing Education Research vs Real Education Research

Occasionally, I have been told that I made a mistake in my career, by focusing on computing education research rather than “real” computer science research.  My first CS advisor at Michigan (before Elliot Soloway got there) told me that I shouldn’t do a joint CS-Education degree, because no CS department would hire me.  (Maybe he was right — I was hired into the College of Computing.)  Yesterday was the first time I was hit from the other side.

An Education school professor asked me why I was bothering with this computer science education stuff rather than doing “real” education research.  The things I’m working on have already been done in education research. His point was well-taken.  My contextualized computing education is a variation of situated learning, which is well-known among education researchers.  Much of the work we’re doing (e.g., in developing assessments, in investigating teacher identity or student misperceptions) is work that has already happened in other fields, so doing this work doesn’t advance our understanding of education.  Frankly, he thought I was wasting my time.

I had two answers for him.  First, pedagogical content knowledge (PCK) differs from domain-to-domain, by definition.  PCK is the knowledge that a teacher has on how to teach for a given domain.  It’s more than knowing the domain — it’s knowing what problems students encounter and what approaches have worked best to explain concepts and skills in that domain.  Developing PCK is a domain-by-domain activity, and it’s necessary for creating methods courses to teach new teachers.  Second, I suggested that I had a practical lever in computer science.  I am a computer science teacher, and I know how to talk to computer science teachers.  I don’t have any particular insight into how to express education ideas to humanities or social studies teachers, for example. So, I have greater opportunity to create change in computer science education.

As always happens, I thought of my best answer after we parted ways.  Somebody has to interpret general findings for a given domain.  I don’t read medical journals to figure out how best to feed my family.  I don’t read satellite imagery to figure out what tomorrow’s weather is going to be.  Some computer scientist had to read the general education literature to explain (and explore — since it’s not always obvious) how a particular insight or finding applies to CS teaching, and then try it so that others could be convinced.  That’s part of what I do.  I’m not inventing as much as I’m interpreting and applying.  That, too, is scholarship.

I should point out that I don’t completely agree with his point.  Yes, most of what I do is neither education research (in general) or computer science research (in general), but it does happen from time-to-time.  Our paper on developing an educational Wiki in the 2000 CSCW is (I believe) the first report on the Wikis in the ACM digital library.  Sometimes work at the edge of disciplines can advance or influence the work within the discipline.

Work in domain-specific educational research is typically disliked by many practitioners’ of the domain.  That’s been true in physics, chemistry, biology, and engineering.  It’s also the case that domain-specific educational research is sometimes rejected by those in education.  This was just my first time experiencing it.


November 23, 2010 at 8:16 am 17 comments

In Toronto, Talking About CS Ed and CS4All

I’m writing this from a hotel room in Toronto, Ontario.  (This year, it seems like I can’t stay in the US for too long.)  I’m visiting the University of Toronto for the next couple of days.

Tomorrow, I’m giving an informal talk on my view of the State of CS Education Research.  I’m excited about this talk.  It’s not a well-practiced, well-groomed talk, e.g., it has the most slides with just bulleted text of any talk I’ve given in years.  They scheduled a couple hour block for me to tell stories of my recent students’ work, and about the work that I want to do next, which is not something I do in my standard DLS/keynote talk.  For you who read this blog, you already know what I’m going to say — it’s about my students’ work, about worked examples and phonics, and about why textbooks are bad for CS Ed, and why distance education is important for CS10K.

On Tuesday, I’ll give my talk on “Meeting Everyone’s Need for Computing” where I’ll argue that teaching everyone on campus about computer science is an old but good idea.  I’ll update a version of the talk that I gave in Jinan — various versions of the talk are at if you’re interested.

When I get back (somewhere in the boundary of very late Tuesday and very early Wednesday), I’ll be recovering, and then it’ll be the American Thanksgiving holiday.  (I understand Toronto had its “Santa Claus Parade” this morning, so it’s officially already the Christmas season here.)  I expect to spend less time blogging this week than usual.  Happy Thanksgiving!


November 21, 2010 at 10:01 pm Leave a comment

Older Posts

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

Join 4,377 other followers


Recent Posts

Blog Stats

  • 1,597,119 hits
November 2010
« Oct   Dec »

CS Teaching Tips