Teaching Computer Science: Collected Thoughts10 Jan 2015 / Paul Epps
If you recognize the person on this next slide, please raise your hand. Don’t yell out the name, just raise your hand.
About two-thirds of you recognize Derek Jeter. I thought everyone would recognize him, but still a clear majority.
I’m not a Yankees fan or a Derek Jeter fan particularly but the Captain and I are on the same page on this topic. I have to admit I was pretty competitive as a student. I didn’t want anyone to do better than me and I especially didn’t want anyone to do better than me because they worked harder than me.
This Jeter quote reminded me of a quote from another notable sports figure . . .
This is Bob Knight, college basketball coach, most notably at the University of Indiana. He won 902 games, three NCAA championships, and he coached the 1984 Olympic basketball team to a gold medal.
Notice that he says “everyone” and “no one.” He doesn’t say some people don’t want to come to practice. There’s a universal aspiration to accomplish great results without a corresponding level of effort. I recognize that in myself, definitely. As far as I can tell, this approach rarely if ever works, even for people we think of as prodigies.
Mozart used to say that anyone who thought composing music came easily to him was very much mistaken. While all the other kids were playing kickball, Mozart was in the house practicing his music lessons. In case you’re thinking that kickball wasn’t even a game at that time, you may be right. The point is that if there was kickball, Mozart wouldn’t have been playing it because he was practicing his music lessons.
One more on this topic . . .
This is a quote from Michelangelo. Nothing great seems to happen without a lot of practice.
Once again, please raise your hand if you recognize the person on this next slide.
He looks Russian.
Yes, he is Russian.
Dostoevsky? Tolstoy? Mendeleev? Pushkin? Boris Pasternak?
No . . . he’s known as an author of plays and short stories.
[A student sitting next to a smart but quiet young man from Russia points to the Russian boy and says, “He knows.”]
Who is it? Chekhov.
Right . . . this is Anton Chekhov. He wasn’t a programmer but his advice is relevant to many different endeavors.
Don’t overcomplicate things. A good heuristic – which is a fancy way of saying “rule of thumb” – is to do the simplest thing that could possibly work. Method A could work, Method B could work — which one should we try first? Try the simplest one first.
Note that the heuristic doesn’t say to do the simplest thing. If the simplest thing couldn’t possibly work, don’t do it. Do the simplest thing that might actually work.
One final slide. I don’t think anyone will know these people so I’m not asking for a show of hands.
I saw an article last week about a man and a woman who were “trapped” in a janitor’s closet at the Daytona State College Marine and Environmental Science Center for two days. They got themselves in the closet last Sunday and finally on Tuesday, the gentleman on the right got the idea to call 911. Why that idea took two days to incubate is unclear. Police showed up to let them out and found out the closet was not locked. They could have opened the door themselves.
Maybe the lock was meth’d up, like the woman. “Meth’d” up, get it?
Are they students at Daytona State College? The article doesn’t say. Do any of you have Daytona State College on your college wish list? If so, you may want to take it off. Or just keep it as a safety school in case Harvard and the Sorbonne don’t come through for you.
What can we learn from this story? I don’t want to say “don’t make assumptions” but don’t make unwarranted assumptions. Don’t make assumptions about things that you can easily verify. If you’re in a closet, don’t assume the door is locked. Try it and see. A lot of uncertainty can be dispelled by trying things out.
Assumptions can hurt you as a programmer. You might be stuck because you’re assuming some condition is true that isn’t true. Or you’re assuming that some condition can never be true when it really can be true. Don’t make unwarranted assumptions.
I couldn’t help noticing that a lot more people recognized Derek Jeter than recognized Anton Chekhov. If you want to achieve great renown, if you want to be part of the public consciousness, entertain people in a simple-minded way, like hitting a ball with a stick and running around in a park. People can be entertained by Derek Jeter without expending any effort.
Where Chekhov went wrong is that he failed to anticipate a world where nobody reads anymore. Furthermore, he believed that the role of an artist was to ask questions, not to answer them. His plays and stories don’t have a traditional structure where everything is tied up neatly at the end, so you not only have to put in the time to read them, you have to go into overtime to ponder the moral ambiguities. Who has time for that in their busy lives?