Interesting thread this, about LISP, encoding data structures and so on.  I
know Python has a separate module for queues, so I'll have to revisit why
i.e. what're its capabilities over and above
appending-to-end/popping-from-front of a list.

Back to my math thread, in my opinion kids are beset with sets, to the
exclusion of other data structures, and this is a mistake.  Except with the
rollback of SMSG (aka "new math") even the union and intersection of sets is
less dwelt upon, and that isn't right either (Venn Diagrams and SQL remain
in the queue as deserving of repeated encounter).

The exalted status of sets in 1960s USA grade school math traces back to
Ivory Tower innovations by Russell/Whitehead et al in the UK, and their
attempt to put arithmetic on a "secure footing" using set concepts.  This
footing became even more convoluted with Cantor.

Wittgenstein, a hero of mine, was always in the dissenting camp, thinking
set theory "underpins" arithmetic the way a painted foundation supports a
painted tower, i.e. it doesn't really.  I mean, one can always come up with
elaborate new games, but to suppose you've gotten "under" 2 + 2 = 4 is just
a metaphor gone haywire.  Real life underwrites basic arithmetic, not the
Ivory Tower.

So it's not surprising, given all the Wittgenstein worship that seems to
emanate from my corner, that I'm eager to make sets just one more data
structure among many, and to use their unions and intersections as a lead-in
to *other* significant and interesting data structures:  queues, stacks,
lists (linked and contiguous), trees and networks (hypertoons are networks).

Purists might complain that I'm trying to ruin the basic math curriculum, by
polluting it with CS concepts.  But I say I'm trying to *rescue* set
concepts from obscurity and neglect, by integrating them into a nutritious
and wholesome diet featuring a wider variety of data structures.

This is healthy stuff because: 

(a) we want kids from an early age to get in the habit of applying (general)
abstractions to (special case) concrete situations [1] and 

(b) if you do this with Python, you get to make the experiences interactive,
which tends to up the fun factor.

Most kids can think of queues from their concrete experiences of waiting in
line.  "First come first serve" is another name for it.  

But then there's giving cuts.  The kid in front of you is friends with this
other kid, and so a kind of linked list thing happens, where you insert
elements because of a pre-existing relationship.  

In a more formal/public arena, "giving cuts" isn't cool, e.g. at the bank or
supermarket.  So already we're into sociology and anthropology here.

Kirby

[1] Bucky's influence evident in this sentence -- another philosopher-hero I
tend to lionize.

_______________________________________________
Edu-sig mailing list
Edu-sig@python.org
http://mail.python.org/mailman/listinfo/edu-sig

Reply via email to