TITLE: I Got Nowhere Else To Go
AUTHOR: Eugene Wallingford
DATE: October 09, 2008 5:53 PM
things go well,
beyond expectation. Enjoy them! Today was one for me.
I've been thinking a lot about how students learn a new
style of programming or a language that is quite different
from their experience. Every class has its
which includes interaction style, interest in Big Ideas,
and curiosity. Last night it occurred to me that another
important part of that personality is trust.
I was grading a quiz and suddenly felt a powerful personal
Gunnery Sergeant Foley
from one of my favorite movies,
An Officer and a Gentleman.
There is a scene halfway through the film when he catches
the protagonist, Zack Mayo, running an illegal contraband
operation out of his barracks. The soldiers are in their
room one afternoon when Foley walks in and declaims, "In
every class, there's always one guy who thinks he's smarter
than me. In this class, that's you, Mayo." He then
dislodges a ceiling tile to reveal Mayo's stash of
contraband and lets everyone know the jig is up.
Beyond the occasional irrational desire I have to be
breaking the spirits of cocky kids and building them back
up from scratch, while grading solutions to a particular
exam problem I couldn't help but think, "In every class,
there's always one guy who thinks he's smarter than me..."
Some of the students seemed to be going out of their ways
not to use the technique we had learned
in class, which resulted in them writing complex, often
incorrect code. More practically for them, they ended up
writing more code than they needed, which spent
extra time they didn't have the luxury of spending. I
felt bad for them grade-wise, but also a little sad that
they seemed to have missed out on the beautiful idea
beyond the programming pattern they were not using.
(Don't worry, class. This irrational desire of mine is
fleeting. I don't want your DOR. Quite the contrary;
I am looking for ways help you succeed!)
Sometimes, I wonder if the problem is that students don't
really trust me. Why should they? Sure, I'm the teacher,
but they feel pretty good about their programming skills,
and the patterns I show them may be different and complex
enough that they'd rather trust their own skills than
my claim that, say, mutual recursion makes life better.
They'll learn that with enough experience, and then they
may realize that they can trust me after all.
In many ways, though, a bigger part of the problem may be
a failure of storytelling. On my side are the stories I
tell to engage students in an idea and its use. To
paraphrase Merlin Mann
paraphrasing Cliff Atkinson, I need to tell a story that
makes the students feel like an character with a problem
they care about and then show how our new way of solving
their problem -- their problem -- makes them
winners in the end. I think I do a better job of this now
than I did ten years ago in this course, but I always
wonder how I can do better.
On their side is, perhaps, a failure of
their own storytelling
-- not just about bugs, as Guzdial writes, but about the
problem domain itself, the data types at play, and the
kind of problem they are solving. I suspect writing code
over nested symbolic lists that represent programs is so
different from the students' experience that many of them
have a hard time getting a real sense of what is going on.
As long as the domain and task remain completely abstract
in the mind, the problems look almost like random markings
on the page. Where to start? That disorientation may
account for not starting in what seems to me to be the
As a teacher, failures in their storytelling become
failures in my storytelling. I need to reconsider how I
communicate the "big picture" behind my course. Asking
create their own examples
is one micro-step in this direction. But I also need to
think about the macro-level -- something like XP's
That practice has proved to be a
stumbling block for XP,
and I expect that it will remain a challenge for me.