> Date: Thu, 23 Jul 2009 14:05:36 +0800
> From: ld...@gmx.net
> To: Tutor@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
_______________________________________________
Tutor maillist - Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor