On December 3, 2015 10:24:44 AM Karin Lagesen wrote:
> The more I teach, the more I realize that I am not really able to convey what 
> a for loop does to everybody. Do any of you have a metaphor or something that 
> you use for teaching it? I explain about variables and collections, and the 
> body of the loop, and I show examples, but I am still not able to get through 
> all the time.

How about starting with the unrolled version and then introducing for as a 
better way to write it.  For example

  print "hi there, "bill"

  print "hi there, "sue"

  print "hi there", "bob"

Ask what is similar about all these?  What is the underlying "template"?  Try 
and get them to identify something like

  print "hi there", name

Then, in terms of this template, the above is

  name="bill"
  print "hi there", name

  name="sue"
  print "hi there", name

  name="bob"
  print "hi there", name

>From there perhaps it isn't such a big stretch to go to

  for name in ["bill","sue","bob"]:
    print "hi there",name

especially if there is some way to step through this last one in a debug mode 
so they can literally see what it is doing.

Cheers!  -Tyson


_______________________________________________
Discuss mailing list
[email protected]
http://lists.software-carpentry.org/mailman/listinfo/discuss_lists.software-carpentry.org

Reply via email to