Archive for July 7, 2009

I am a nearly-50 year old curmudgeon: Kids today are like kids yesterday

Despite the fact that my wife and I work on the same campus, we don’t often get the chance to travel in together.  She’s got off-campus work (like visiting high school teachers), and our schedules don’t always align, and there are the activities of three kids to juggle. This morning we did get to drive in together, and I exposed my curmudgeon-ness.

“I think there is something to the claim that this generation is different.  They’re more into immediate feedback, like Twitter. They’re less interested in more complex activities that require sustained effort and are sometimes tedious.”  My wife then went on to explain, in great detail, all the ways that kids today do engage in complex and even tedious actitivies.

  • Our son is in his high school’s marching band and orchestra.  Over 1/3 of the school is in the music program–public high school, and that’s not really that unusual (at least around Atlanta).  Learning to play an instrument well is really complex, requires sustained effort, and is frequently painfully tedious.  Yet, lots of kids do it, and from watching the marching bands around here, they’re really putting in the time.
  • The Harry Potter books are long and are the best-selling book series ever.  Kids today don’t read?
  • Ever watched kids playing video games?  Talk about complex!  Ever seen a kid decide to beat a game?  Starting and restarting the game, making the same mistakes over and over.  Tedious, complex, and sustained effort.
  • How do kids text so fast on those normal numeric-keyboard cellphones?  That’s a serious study in tediousness.  Typing semi-colons in Java is childs play in comparison!

“Then,” I asked, “how do you explain the decline of interest in the Western world in science, mathematics, engineering, and computing?”  “Fads,” she replied.  Our parents thought that we were uninterested in tedious, complex, sustained effort, too — just because we weren’t interested in their activities.  We had our own activities.  Our kid’s have their own.  Things become popular, and less popular.  Motivation rises and falls.  In the end, getting more kids into STEM disciplines is about motivating them, showing them why these fields are valuable, interesting, and worth the effort.

Good teaching helps.  Our daughter is a natural scientist.  She is forever “trying this out,” and even setting up comparison cases.  Her bedroom is filled with dead bugs, rocks, and solutions that I pitch out when I find them.  Yet, she claims that she “hates science.”  Science for her is filling out worksheets.  The teachers aren’t comfortable doing any of the real experiments, the real science, that are in the textbook.  The teachers don’t like science, so they teach it poorly.

Computing is fading from students’ interests because, in the end, it’s about student interests.  No, they may not be our “customers,” but they are certainly our “audience.”  Gaining and sustaining student interest is a critical factor in students pursuing computing education and careers, and good teaching by teachers who themselves like and know computing is a critical factor in gaining and sustaining student interest.

I’ve got a really smart wife.  I need to ride in with her more often.  And I probably need to be less of a curmudgeon.

(I’m doing two posts today because I won’t be able to post for the next week or so.  I’m giving a plenary talk at the Microsoft Research faculty summit next Monday.)

July 7, 2009 at 8:08 pm 3 comments

Aligning Computer Science with Mathematics by Felleisen and Krishnamurthi

The July 2009 Communications of the ACM has an interesting article by Matthias Felleisen and Shriram Krishnamurthi Why Computer Science Doesn’t Matter with the great subtitle “Aligning computer science with high school mathematics can help turn it into an essential subject for all students.”  The argument that Matthias and Shriram are making is that we can use programming to teach mathematics better, and help students learn both.  In so doing, we prevent marginalization of computer science and support an important goal of the American education system, the teaching of “‘rithmetic.”

It’s a good argument and one that I support.  I am dubious about some of the education claims made in the argument, like “we have already seen our curricular approach…help students raise their alebra scores” and “Formal evaluation shows the extremely positive impact this curriculum has…”  (I’ve been searching through the sites given in the article, but can’t find peer-reviewed, published papers that support these claims.)  But these are really minor quibbles.  Having written one of these pieces, I know that the tyrany of 1800 words is severe, and the authors can be excused for not providing background citations to the studies supporting their claims.  Instead, I’d like to provide some of the background literature that supports their claim.

Can we use programming to help students learn mathematics?  Absolutely!  Probably the most famous study supporting this argument is Idit Harel’s dissertation work on Instructional Software Development Project (ISDP). Idit had fourth graders write software in Logo to teach fractions to third graders.  She found that a real synergy occurred between the concepts of programming and the concepts of mathematics, and her students ended up learning more about both compared to another class.  Yasmin Kafai (who just moved to Penn from UCLA this last year) continued this project, exploring novel collaboration models (e.g., the fourth graders become fifth grade “consultants” as another cohort of fourth graders helps another cohort of third graders) and expanding from mathematics into science.  My own dissertation explored the synergy between physics and programming.  My results weren’t as strong — I had good physics learning, but not good computer science learning.  I suspect the problems were the challenge of making real learning in only a three week summer workshop, and not having the kinds of IDE’s that Matthias and Shriram are calling for.

“Our community must realize that minor tweaks of currently dominant approaches to programming won’t suffice.”  Completely agreed, and the best argument for this point came from Bruce Sherin’s powerful dissertation (with Andy diSessa at Berkeley).  Bruce taught two groups of students lessons in physics, one using programming and one using algebra.  (Andy would probably argue with Matthias and Shriram, “The ideal language and the IDE for imaginative programming are still to be designed.”  Over 20 years ago, Boxer implemented much of what they’re calling for.)  Bruce found some really interesting differences between what was learned via each form of notation.  For example, programming was better for figuring out causality and sequencing. An algebraic formula like x = x0 + vt leaves invisible to the novice that the t is what will typically vary in that equation.  On the other hand, algebra was better for understanding balance and equilibria.  A formula like F=ma works in both directions:  increase the mass or acceleration and the force increases, or if the force declines, then either the mass or the acceleration must have declined.  Most programming languages do not make evident how constraints work in the world.  The media extensions that Matthias and Shriram describe help address some of the challenges Bruce found when students had a single physics concept (e.g., an object moving because it’s location changed) being represented by multiple lines of code.

“As computer science educators, we must also demand a smooth, continuous path from imaginative programming to the engineering of large programs.”  Alan Kay has been making this argument for years.  He refers to the concept of Omniuser who can move from scripting in E-Toys, to changing how the levels close to the metal of the machine work, all with a single system and (hopefully) a single notation.  His STEPS effort is seeking to build such systems. In particular, Alan and his team are exploring “systems math” which is a kind of powerful mathematics that can only really exist in the powerful medium of programming.  Thus, STEPS gives us a way to go beyond just support “‘rithmetic” to support powerful new kinds of mathematics learning.

I’m a big fan of Scheme and consider DrScheme to be one of the finest pedagogical IDE’s ever created.  TeachScheme is a brilliant curriculum.  My guess is that careful studies of the effort would support many of the claims being made by Matthias and Shriram.  More importantly, though, I believe that they’re right that programming could actually improve mathematics learning.  Doing it in such a way that students’ mathaphobia doesn’t drive even more students from computer science is a real challenge.  An even bigger challenge is doing it in such a way that can gain the support of organizations like NCTM and that meets the mathematics standards in our schools. As they say, “Any attempt to align programming with mathematics will fail unless the programming language is as close to school mathematics as possible.”  It’s more than just the programming language — the whole package (curriculum, IDE, language) has to look and feel like mathematics to make it successful with the mathematics education community.

July 7, 2009 at 7:44 pm 4 comments

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,716 hits
July 2009

CS Teaching Tips