In a message of Sun, 11 Nov 2007 11:09:47 EST, Jay Bloodworth writes: >On Sat, 2007-11-10 at 19:04 -0600, Michael Tobis wrote: >> I agree that the concept of a "variable" is deeply unpythonic in most c >ontexts. >> > >But it's pretty darn programmatic. I think overemphasizing python idiom >and ontology in a first programming course is a mistake. Variables, >subroutines, loops, conditionals - these are a few of my favorite >things. > >I've never really taught programming, but my intuition, based on ten >years experience teaching algebra and prealgebra to middle school >students, is that they will "get" the idea of variables with any >reasonable explanation: boxes, labels, names, whatever. Certainly, many >will have difficulty understanding scoping, reference vs. value, deep >vs. shallow copies, etc., but these are concepts that are fundamentally >more subtle and challenging, and most adults must work to wrap their >heads around them as well. > >I'm going to go a little further out on a limb here and offer a theory >and a prediction to test it, that I'd appreciate it if anyone who has >taught programming to 10-15 year old can respond to: Regardless of how >they are taught, kids first mental model of a variable is something >like: "a value the program needs to change". Hence they will be >uncomfortable and may resist understanding when a variable is used to >name a constant value. > >jay
Your limb is creaking :-) Younger ones are happy with the notion that 'a variable is a handle'. As in 'an avatar for posting to a fora is a handle'. At least the 12-13 year olds I taught were. And constants was easy, it was the opposite, that they could vary that confused them. But that may say more about how I presented the idea than anything about what is easier for 12 year olds to grasp. I think its all how I taught them. We're making online text based games. Everybody know what an avatar is. Laura _______________________________________________ Edu-sig mailing list [email protected] http://mail.python.org/mailman/listinfo/edu-sig
