TITLE: Some Lessons from the Ruby Iteration AUTHOR: Eugene Wallingford DATE: May 01, 2008 7:11 PM DESC: ----- BODY: I am not a web guy. If I intend to teach languages (PHP) or frameworks (Rails) with the web as their natural home, I need to do a lot more practice myself. It's too easy to know how to do something and still not know it well enough to teach it well. Unexpected results under time pressure create too much trouble. MySQL, no. PostgreSQL, yes. This, twenty years after cutting my database teeth on Ingres. Ruby's dynamic features are so, so nice. Still, I occasionally find myself wishing for Smalltalk. First love never dies. Fifteen hours of instruction -- 5 weeks at 3 hours per week -- is plenty of time to teach most or all of the ideas in a language like bash, PHP, or Ruby. But the instructor still needs to select specific examples and parts of the class library carefully. It's too easy to start down a path of "Now look at this [class, method, primitive]..." When I succeeded in selecting carefully, I suffered from persistent omitter's resource. "But I wish I could have covered that... Sometimes that is what students wanted to see. But most of the time they can figure that out. What they want is some insight. What insight could I have shared had I covered that instead of this? If you want to know what students want, ask them. Easy to say, hard to do unless I slow down occasionally to reflect. Practice, practice, practice. That's where students learn. It's also where students who don't learn don't learn. Oh, and professor: That "Practice, practice, practice" thing -- it applies to you, too. You'll remember just how much fun programming can be. -----