[Tutor] mnemonics to better learn Python

Che M pine508 at hotmail.com
Thu Jul 23 21:24:28 CEST 2009




> Date: Thu, 23 Jul 2009 14:05:36 +0800
> From: ldl08 at gmx.net
> To: Tutor at python.org
> Subject: [Tutor] mnemonics to better learn Python
> 
> Dear List,
> 
> in order to memorize which Python sequences are mutable or immutable, I
> focused on the SHAPE of the brackets that are associated with each type
> of sequence.
> 
> For instance, a *list* is characterised by square brackets, [].
> My mnemonic device to memorize that lists are mutable is this: "the
> brackets have sharp edges, they could be trimmed, taking their edges off".
> 
> The same thing happens with *dictionaries* (which, okay, are not
> sequences). Anyway, their brackets, {}, have sharp edges, hence they are
> mutable.
> 
> *Tuples*, in turn, have perfectly 'round' brackets, (), and these
> brackets obviously can't be improved upon by taking anything off them.
> Hence: tuples are immutable.
> 
> That leaves us with *strings*, which are also not mutable. Here we have
> no brackets, and this particular mnemonic device breaks down.
> 
> What I am interested in is finding out whether you use similar
> techniques, and if so, which ones? How, for examples, do you make sense
> of all those special characters that make regular expressions powerful?
> Do you rely on rote learning, or do you employ some other technique?
> 
> I reckon that if we could come up with some tips and techniques as to
> how to uncloud the thick information fog that any beginning programmer
> has to wade through, the very first steps in learning Python could be
> made more easy.
> 
> What insights can you share?

I am all for mnemonics and have used them to good effect in learning and teaching; students' abilities to memorize large lists of biological terms and such are greatly increased this way.  But so far it hadn't occurred to me to apply mnemonics to learning Python.  This is because I have seen learning Python as less about memorizing content and more about understanding concepts.  Others may see it differently, but that is how it has seemed to me.  Compared to biology, where words are based on Greek or Latin (e.g. "postzygopophysis"), and there may be many such odd terms per topic, Python is mostly based in simple English words like random, string, open, etc.  What was harder, coming from a cold start, was how to use the language, "grokking" things like self, list comprehensions, namespaces, = vs ==, Boolean stuff, exceptions, lambdas, decorators, etc.  Also, importantly, I tend to have ready access to the web to look things up if I forget them, like whether it is .split() or .join() that I want to use.  But your idea to mnemonicize some of your learning could no doubt be helpful to speed you along, since looking things up does slow one down (and can derail one's thought stream as one is trying to figure out why the program is not working as expected).  

_________________________________________________________________
Windows Live™ SkyDrive™: Store, access, and share your photos. See how.
http://windowslive.com/Online/SkyDrive?ocid=TXT_TAGLM_WL_CS_SD_photos_072009
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/tutor/attachments/20090723/f025a4ba/attachment.htm>


More information about the Tutor mailing list