[Tutor] How to teach Python

Danny Yoo dyoo at hkn.eecs.berkeley.edu
Sun Aug 13 06:59:33 CEST 2006


>> 2) Since this is an introductory class, I am tempted to leave out 
>> "optional" topics like argument matching modes, walk, map, filter, 
>> reduce, apply. Do you think these are required for any Python 
>> programmer?
>>
> Since many of there will disappear in Python 3 it might be OK to omit 
> them. OTOH for those of us who come from languages like APL, these 
> constructs are dear to our hearts.

Hi Elaine,

More generally: the "function is as first-class value" is a fundamental 
concept.  I'm not sure when that concept should be introduced, but it 
definitely belongs in an introductory programming course.  If one looks 
at code like this:

     if input == 'a': doA()
     elif input == 'b': doB()
     ...

if we know that functions are avlues, we can reconsider it as:

     dispatchTable = { 'a' : doA,
                       'b' : doB,
                       ... }
     dispatchTable[input]()


Other textbooks have covered this ground; you may want to look at them for 
inspriation.  Here's my favorite one now (it's not Python, but it's good 
stuff.):

     http://www.htdp.org/


More information about the Tutor mailing list