Warren,

Your book looks great!  I'd be interested in seeing the rest of it.  Yeah,
we ended up discussing how to represent a deck of cards in class as well.
One of the kids got inspired while creating the dice simulation and emailed
me asking how to do something like that.  So I was really glad to see this
start growing organically.  We haven't discussed classes previously, as that
would REALLY have scared them off, so I just had him continue at the level
of simple lists, thinking of cards as simple ordered pairs:

>>> suits = ['S', 'H', 'D', 'C']
>>> ranks = ['A', 2, 3, 4, 5, 6, 7, 8, 9, 10, 'J', 'Q', 'K']
>>> deck = [(rank, suit) for suit in suits for rank in ranks]
>>> shuffle(deck)
>>> hand = [deck.pop() for card in range(5)]

He played around with this and really got into it.  Good news!  It's amazing
how much you can do in a simple interactive way with Python.  I mean, this
LOOKS like what you do with a deck!  But I did try to sow some seeds by
mentioning how you could accomplish even more by thinking in terms of
functions and classes.

- Michel



On Fri, Feb 6, 2009 at 9:21 AM, Warren Sande <warren.sa...@rogers.com>wrote:

> Michel,
>
> Sounds like you caught their interest, which is great.  I have a chapter on
> probability and simulation in my book, "Hello World! Computer Programming
> for Kids and Other Beginners".  It talks about simulating dice, coins, and a
> deck of cards.  In the second half of the chapter we make a Crazy Eights
> card game (text-based).   I've attached a preview of the chapter if you want
> to have a look.  Keep in mind that this is one of the later chapters, and we
> have already covered the basics like loops, lists, objects, etc.
>
> By the way, the book has had some delays in production, but it should be
> out in the next few weeks.
>
> Regards,
> Warren Sande
>
>
> ------------------------------
> *From:* michel paul <mpaul...@gmail.com>
> *To:* "edu-sig@python.org" <edu-sig@python.org>
> *Sent:* Thursday, February 5, 2009 1:34:49 PM
> *Subject:* [Edu-sig] probability & simulation
>
> We began a unit in math called 'Probability and Simulation'.  The students
> of course have to solve many typical problems involving dice and coins.
> This provided a perfect opportunity for incorporating Python in a way that
> didn't freak the kids out.  Remember, I have been trying to weave Python
> into a math environment where programming is seen as something alien and
> scary.  Bizarre.  The 'choice' function in the random library provides an
> excellent way to create all kinds of simulations very easily.  I used this
> as an example in class:
>
> >>> coin = ['Heads - I win', 'Tails - you lose']
>
> >>> tosses = [choice(coin) for toss in range(1000)]
>
> It was great.  Very easy to understand.  This combined with the 'count'
> method in a list, and I could go ahead and assign them a little HW project
> to create a frequency table for throwing 2 dice 10,000 times.  I told them
> to just experiment, copy and paste their Shell session and email it to me.
> It worked very well.  Even a lot of the kids who have been resistant to this
> Python stuff could handle it.  Didn't require having to write functions -
> purely interactive.
>
> Then the next day we explored tetrahedral and other kinds of dice.
>
> Very simple, and it seemed to work well.  There's a section at the end of
> the chapter that describes creating simulations using BASIC.  Ha!  We did
> this on the very first day!
>
>  - Michel
>
_______________________________________________
Edu-sig mailing list
Edu-sig@python.org
http://mail.python.org/mailman/listinfo/edu-sig

Reply via email to