By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
439,932 Members | 1,944 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 439,932 IT Pros & Developers. It's quick & easy.

Python for a 10-14 years old?

P: n/a
Hi,

I am blessed with a *very* gifted nine-years old daughter for whom I
have recently installed an old GNU/Linux Mandrake 7.2 on an equally old
Pentium Pro box. She is enjoying it tremendously and has no problems
understanding simple desktop operations and the file system basics
(Needless to say - she has already mastered the 30 or so games I
installed for her).

Now, I would like to teach her programming basics using Python (because
I believe it is best suited for this purpose and, yes, also because it
is my favorite language). The only tutorial I have found so far is
"How to Think Like a Computer Scientist - Learning with Python" which,
while very good indeed, is geared towards adult newbie students.

Is there something out there like "Python for kids" which would explain
*basic* programming concepts in a way which is accessible and
entertaining for kids aged 10-14 (that about where her brain is right
now) and which would allow them to "play around" and have fun solving
small problems?

Many thanks in advance,

TN

Jul 18 '05 #1
Share this Question
Share on Google+
46 Replies


P: n/a
tn***@yahoo.com wrote:
Hi,

I am blessed with a *very* gifted nine-years old daughter for whom I
have recently installed an old GNU/Linux Mandrake 7.2 on an equally old
Pentium Pro box. She is enjoying it tremendously and has no problems
understanding simple desktop operations and the file system basics
(Needless to say - she has already mastered the 30 or so games I
installed for her).

Now, I would like to teach her programming basics using Python (because
I believe it is best suited for this purpose and, yes, also because it
is my favorite language). The only tutorial I have found so far is
"How to Think Like a Computer Scientist - Learning with Python" which,
while very good indeed, is geared towards adult newbie students.

Is there something out there like "Python for kids" which would explain
*basic* programming concepts in a way which is accessible and
entertaining for kids aged 10-14 (that about where her brain is right
now) and which would allow them to "play around" and have fun solving
small problems?

Many thanks in advance,

TN


Let her mess around with it on her own. I'm 15 and have been using
Python for 2-3 years and had nothing to really go on. Give her Dive Into
Python or How to Think Like a Computer Scientist and let her ask
questions if she needs help.

--
--------------------------
Lucas Raab
lvraab located at earthlink.net
dotpyFE located at gmail.com
AIM: Phoenix11890
MSN: dotpyfe "@" gmail.com
IRC: lvraab
ICQ: 324767918
Yahoo: Phoenix11890
Jul 18 '05 #2

P: n/a
tn***@yahoo.com writes:
Is there something out there like "Python for kids" which would explain
*basic* programming concepts in a way which is accessible and
entertaining for kids aged 10-14 (that about where her brain is right
now) and which would allow them to "play around" and have fun solving
small problems?


If she's a real nerd, just give her the regular Python tutorial and
turn her loose. Maybe you could give her a Logo book to go along with
it. The book I used at that age was "IBM Fortran IV with WATFOR and
WATFIV" and I don't see how any Python book could be unfriendlier than
that for a kid. But I still became computer-obsessed from it and have
stayed that way ever since.
Jul 18 '05 #3

P: n/a
On 23 Mar 2005 21:03:04 -0800, tn***@yahoo.com <tn***@yahoo.com> wrote:
Hi,

I am blessed with a *very* gifted nine-years old daughter for whom I
have recently installed an old GNU/Linux Mandrake 7.2 on an equally old
Pentium Pro box. She is enjoying it tremendously and has no problems
understanding simple desktop operations and the file system basics
(Needless to say - she has already mastered the 30 or so games I
installed for her).

Now, I would like to teach her programming basics using Python (because
I believe it is best suited for this purpose and, yes, also because it
is my favorite language). The only tutorial I have found so far is
"How to Think Like a Computer Scientist - Learning with Python" which,
while very good indeed, is geared towards adult newbie students.

Is there something out there like "Python for kids" which would explain
*basic* programming concepts in a way which is accessible and
entertaining for kids aged 10-14 (that about where her brain is right
now) and which would allow them to "play around" and have fun solving
small problems?


http://www.livewires.org.uk/ run use python to teach programming at
their camp. They have their course material on their website under a
Free license.
--
Stephen Thorne
Development Engineer
Jul 18 '05 #4

P: n/a
you may want to introduce her to programming competitions, which will
provide her with a very strong foundation of algorithm design and
programming techniques.
http://oldweb.uwp.edu/academic/mathematics/usaco/

I am blessed with a *very* gifted nine-years old daughter for whom I
have recently installed an old GNU/Linux Mandrake 7.2 on an equally old Pentium Pro box. She is enjoying it tremendously and has no problems
understanding simple desktop operations and the file system basics
(Needless to say - she has already mastered the 30 or so games I
installed for her).

Now, I would like to teach her programming basics using Python (because I believe it is best suited for this purpose and, yes, also because it is my favorite language). The only tutorial I have found so far is
"How to Think Like a Computer Scientist - Learning with Python" which, while very good indeed, is geared towards adult newbie students.

Is there something out there like "Python for kids" which would explain *basic* programming concepts in a way which is accessible and
entertaining for kids aged 10-14 (that about where her brain is right
now) and which would allow them to "play around" and have fun solving
small problems?

Many thanks in advance,

TN


Jul 18 '05 #5

P: n/a
Well i don't know of any tutorials but i thought of a cool little
"assignment" that might interest someone of that age assuming english
is her first language. Its a neat little trick with english and the way
that we proccess letter combinations (or should i say permuations). But
a program that turned proper english into this, might be neat.

"""
Aoccdrnig to a rscheearch at Cmabrigde Uinervtisy, it deosn't mttaer in
waht oredr the ltteers in a wrod are, the olny iprmoetnt tihng is taht
the frist and lsat ltteer be at the rghit pclae. The rset can be a
toatl mses and you can sitll raed it wouthit porbelm. Tihs is bcuseae
the huamn mnid deos not raed ervey lteter by istlef, but the wrod as a
wlohe.
"""
the algo whold be something like

openfile
for word in file
tmp=word[0]
tmp+=permut(tmp[1:-2])
tmp+=word[-1]
print word
She could enjoy sending letters like this, neat secrete codes for a
nine year old ;)
Linky http://www.mrc-cbu.cam.ac.uk/persona...vis/Cmabrigde/

G'Luck
- Haz

P.S. I just had my friend read it and his native tongue is chinese, so
might work for other languages too.

Jul 18 '05 #6

P: n/a
Your post and the following answers made me think.

It is widely held that the intellectual capabilities of children
are inferior to the capabilities of adultes. Nevertheless,
I wonder to which extent this is true.

There is no doubt that the critical sense is much less developed
in children than in adults: for instance, as a child, I would never
had thought of questioning the existence of Santa Klaus ;)

But here I am discussing other kind of intellectual capabilities,
in particular the ability to learn a programming language.

I think the problem most kids face is *not* lack of intellectual
capability, but lack of concentration. Most kids cannot keep
their concentration focused on a single topic for a long period
of time, so they start one thing and never finish it, since
they have a thousand other little things to do in the mean time.

Becoming older, the ability to discipline themselves increases,
so it is probably easier to learn a programming language for a
15 year old than for 9 year old.

This as a general rule. There are, of course, exceptions. Many
people will never have the needed discipline to learn a programming
language. On the other hand, some people are able to maintain their
concentration focused for a long period of time even in early age.

When I was 2-3 years old I was able to spend whole *days* working
on my Lego construction set. The problem was to keep me out of
my work and explain me that it was time to eat! ;)

I am pretty much convinced I could have mastered Python at the age
of nine. Of course, I cannot prove it, since when I was nine
I had no computer, I did not know English, and Python was not
yet invented. But apart for this minor circumstances, I don't
thing I was dumber as a child than as an adult.

Actually, one could even make the case that children are much better
than adults at learning new things. Adults are better at understand
things, seing the correlations between them, and the inconsistencies
(if any).

The problem teachers face when explaining computers to kids, is
to keep them interested, so they prepare courses about graphics,
videogames, etc. But if you get the right kid, he/she will be
interested even on "IBM Fortran IV with WATFOR and WATFIV" ;)

Personally, at that age I knew everything about the solar system
planets, distances from the Sun, masses, diameters, albedos, etc.
Fortunately, now I have forgot nearly everything ;)
Michele Simionato

Jul 18 '05 #7

P: n/a
Michele Simionato:
Actually, one could even make the case that children are much
better than adults at learning new things.


In the case of natural languge it has been pretty much proven that
children are (much) better/faster at learning then adults. Now it is
left to be shown if this carries over to programing languages.
- Haz

Jul 18 '05 #8

P: n/a
On 24 Mar 2005 02:35:34 -0800, rumours say that "Michele Simionato"
<mi***************@gmail.com> might have written:

<snip>
I am pretty much convinced I could have mastered Python at the age
of nine. Of course, I cannot prove it, since when I was nine
I had no computer, I did not know English, and Python was not
yet invented. But apart for this minor circumstances, I don't
thing I was dumber as a child than as an adult.
At the age of nine at school, two guys from a French computer-making
company named as "Loup" (in french) or "Lupo" (in Italian), can't
remember which --if either is correct--, came and gave us a demo of one
of their models. They wrote a simple BASIC program on the blackboard
and proceeded in explaining what the program did, and then asked for a
kid to type it. I was chosen randomly, and I managed to do that, but I
*didn't* understand a thing. See, I didn't either know English (we had
French at school), and I had no contact with computers earlier. I had a
good knowledge of how things work in the surrounding world, even knew a
lot about electricity and how it works (I had played a lot with
batteries, buttons, wires and lights in order to make some amazing
devices to use with my friends when we were playing "Galactica" or
"Space 1999" or "Star Trek"...), but *this* I couldn't grok.

This was the challenge that marked my life, I can say. Next year I
managed to get my parents into buying me a ZX Spectrum 16K, the year
after that I managed to get them into buying me the 32K RAM upgrade
(first hw upgrade I ever did!), and one year and a half later, I managed
to get the Sinclair QL, with better BASIC, multitasking capabilities,
and something more like an OS than any other home computer till then.
And man, wasn't 68k assembly a joy :)

<snip>
The problem teachers face when explaining computers to kids, is
to keep them interested, so they prepare courses about graphics,
videogames, etc. But if you get the right kid, he/she will be
interested even on "IBM Fortran IV with WATFOR and WATFIV" ;)
The second book on computers I *bought* was "Artificial Intelligence on
the Sinclair QL" (age 12 --I bought the book *before* I got the QL :).
The first was "1001 Games for the ZX Spectrum" (age 11). We had lots of
computer magazines though, with lots of source code in them to keep a
kid interested then (the age of home computers)...
Personally, at that age I knew everything about the solar system
planets, distances from the Sun, masses, diameters, albedos, etc.
Fortunately, now I have forgot nearly everything ;)


Unless you play trivial pursuit with friends, in which case such
knowledge is very useful (and doesn't get forgotten :)
--
TZOTZIOY, I speak England very best.
"Be strict when sending and tolerant when receiving." (from RFC1958)
I really should keep that in mind when talking with people, actually...
Jul 18 '05 #9

P: n/a
>>>>> "Christos" == TZOTZIOY <Christos> writes:

Christos> (first hw upgrade I ever did!), and one year and a half
Christos> later, I managed to get the Sinclair QL, with better
Christos> BASIC, multitasking capabilities, and something more
Christos> like an OS than any other home computer till then. And
Christos> man, wasn't 68k assembly a joy :)

Linus Torvalds also bought Sinclair Ql back in the day - I was
quite surprised to find out that it had a 32bit CPU (according to his
autobiography).

--
Ville Vainio http://tinyurl.com/2prnb
Jul 18 '05 #10

P: n/a
On 24 Mar 2005 14:50:39 +0200, rumours say that Ville Vainio
<vi***@spammers.com> might have written:
>> "Christos" == TZOTZIOY <Christos> writes:

Christos> (first hw upgrade I ever did!), and one year and a half
Christos> later, I managed to get the Sinclair QL, with better
Christos> BASIC, multitasking capabilities, and something more
Christos> like an OS than any other home computer till then. And
Christos> man, wasn't 68k assembly a joy :)

Linus Torvalds also bought Sinclair Ql back in the day - I was
quite surprised to find out that it had a 32bit CPU (according to his
autobiography).


68008 at 8 MHz with 32bit architecture, 16bit ALU (long operations took
2 cycles), 8bit external bus (to communicate with cheap memory and other
ICs), 20bit max address space, but with complete compatibility with
68000 machine code. For example, one could issue the following *single*
instruction:

MOVE.L ($18000), ($18004)

to copy the long from address 98304 to address 98308. Intel provided
such functionality much later; I am not sure if even the 386 could use
memory indirect on both operands...

If only IBM had chosen Motorola for its new PC, 64KiB memory segments
would be something to laugh at, not something to remember and cry
about...
--
TZOTZIOY, I speak England very best.
"Be strict when sending and tolerant when receiving." (from RFC1958)
I really should keep that in mind when talking with people, actually...
Jul 18 '05 #11

P: n/a

Hi,

On Thu, 23 Mar 2005 tn***@yahoo.com wrote:
I am blessed with a *very* gifted nine-years old daughter for whom I
have recently installed an old GNU/Linux Mandrake 7.2 on an equally old
Pentium Pro box.


FWIW. Given a reasonable amount of RAM (256MB should suffice), newer
Mandrakelinux versions (the latest being 10.1 with 10.2 almost out) will
run nicely on that Pentium Pro. The advantage would be a much more
modern user interface, security updates (important if it's connected to
the internet) and of course, a recent Python package out of the box.

regards,

--
Reinout van Schouwen student of Artifical Intelligence
email: re*****@cs.vu.nl mobile phone: +31-6-44360778

Jul 18 '05 #12

P: n/a
Jim

My kids like
http://www.alice.org
(although they run it under Windows).

Jim Hefferon

Jul 18 '05 #13

P: n/a
> Well i don't know of any tutorials but i thought of a cool little
"assignment" that might interest someone of that age assuming english
is her first language.
Good idea.

1) Have u noticed that whn yu raed that srcamled text luodly, it sounds
like spoken by a deaf person. (because severe loss of hearing makes it
hard to learn correct pronunciation).

2) Is this the same fennomena like in the (ancient Hebrew language?)
that in written form uses consonant letters only. The reader then fills
in the missing vowels (aeioy). Like: kck th bll nt wall nd ctch t bck.

hmm, maybe not!
3) Anyway, gnna love that srcmbled format simply because rerrors do not
appear, show up ;-). (having English as a foreign language)

// moma
http://www.futuredesktop.org/AsteriskPBX.html <-

http://www.futuredesktop.org/hpc_linux.html
Why run one PC obi when you can hvae a cluster ?


MyHaz wrote:
Its a neat little trick with english and the way
that we proccess letter combinations (or should i say permuations). But
a program that turned proper english into this, might be neat.

"""
Aoccdrnig to a rscheearch at Cmabrigde Uinervtisy, it deosn't mttaer in
waht oredr the ltteers in a wrod are, the olny iprmoetnt tihng is taht
the frist and lsat ltteer be at the rghit pclae. The rset can be a
toatl mses and you can sitll raed it wouthit porbelm. Tihs is bcuseae
the huamn mnid deos not raed ervey lteter by istlef, but the wrod as a
wlohe.
"""
the algo whold be something like

openfile
for word in file
tmp=word[0]
tmp+=permut(tmp[1:-2])
tmp+=word[-1]
print word
She could enjoy sending letters like this, neat secrete codes for a
nine year old ;)
Linky http://www.mrc-cbu.cam.ac.uk/persona...vis/Cmabrigde/

G'Luck
- Haz

P.S. I just had my friend read it and his native tongue is chinese, so
might work for other languages too.

Jul 18 '05 #14

P: n/a
Christos "TZOTZIOY" Georgiou <tz**@sil-tec.gr> said :
At the age of nine at school, two guys from a French computer-making
company named as "Loup" (in french) or "Lupo" (in Italian), can't
remember which --if either is correct--, came and gave us a demo of one
of their models.


OT/trivia : if it was between mid-eighties and early nineties, the company
could be "Goupil" (ancien french for "Fox").

--
YAFAP : http://www.multimania.com/fredp/
Jul 18 '05 #15

P: n/a
i think that if she starts out with HTML or something it would be
easier. I feel it is easier to learn computers when you are younger cos
I am 14 now and i started at 12 and the journey has been quite easy. If
she can handle a proper language like python then you might as well go
ahead.

Jul 18 '05 #16

P: n/a
On 23 Mar 2005 21:03:04 -0800, tn***@yahoo.com <tn***@yahoo.com> wrote:
Is there something out there like "Python for kids" which would explain
*basic* programming concepts in a way which is accessible and
entertaining for kids aged 10-14 (that about where her brain is right
now) and which would allow them to "play around" and have fun solving
small problems?


I don't know about kid's tutorials, but I can recommend that you try
the turtle module. It's great for kids. It gives really good immediate
feedback, You can start out using it interactively:
import turtle
turtle.forward(100)
turtle.left(90)
turtle.forward(100)
turtle.left(90)
turtle.forward(100)
turtle.left(90)
turtle.forward(100)
turtle.left(90)


Then you can put this into a script, and run that. Then you might
introduce loops:

import turtle

for i in range(4):
turtle.forward(100)
turtle.left(90)

Then build some simple functions, like 'square':

def square():
for i in range(4):
turtle.forward(100)
turtle.left(90)

square()

Then add arguments to your functions:

def square(size):
for i in range(4):
turtle.forward(size)
turtle.left(90)

square(100)
square(50)

And so on. At each stage, you can see what's happening.

--
Cheers,
Simon B,
si***@brunningonline.net,
http://www.brunningonline.net/simon/blog/
Jul 18 '05 #17

P: n/a
Lucas Raab wrote:
tn***@yahoo.com wrote:
I am blessed with a *very* gifted nine-years old daughter...
Now, I would like to teach her programming basics using Python
Let her mess around with it on her own. I'm 15 and have been using
Python for 2-3 years and had nothing to really go on. Give her Dive

Into Python or How to Think Like a Computer Scientist and let her ask
questions if she needs help.


In the chess world, people have long learnt to take young prodigies
seriously. Most of the grandmasters start to play chess at age 4 or
earlier. Bobby Fisher became the US chess champion at age 14, and a
grandmaster at 15. And that's considered old by modern standard: Sergei
Karjakin became grandmaster at age 12.

http://www.chessbase.com/newsdetail.asp?newsid=310
http://members.lycos.co.uk/csarchive/gilbert.htm

Sure, programming's skill set is a bit broader than chess playing or
ice-skating, but young hackers have plenty of contacts and resources
through internet, and many of them live (will be living) in Brazil,
Russia, India and China (the so-called BRIC countries.) So, a thorny
question for matured programmers is: what's your value in face of this
competition? :)

Jul 18 '05 #18

P: n/a
Christos TZOTZIOY Georgiou wrote:
For example, one could issue the following *single* instruction:
MOVE.L ($18000), ($18004)

But the cost of that design is that the machine state becomes more
complicated -- the instruction has to have two distinct memory ops.
Usually this means there is a "secret register" for the moving data,
and a "first part done" part of executing the opcode.

Modern RISC-structured machines have at most one memory operation,
so the instruction is simply completed or not, and can safely be
re-executed if it is not complete.

--Scott David Daniels
Sc***********@Acm.Org
Jul 18 '05 #19

P: n/a
Simon Brunning wrote:
On 23 Mar 2005 21:03:04 -0800, tn***@yahoo.com <tn***@yahoo.com> wrote:
Is there something out there like "Python for kids" which would explain
*basic* programming concepts in a way which is accessible and
entertaining for kids aged 10-14 (that about where her brain is right
now) and which would allow them to "play around" and have fun solving
small problems?

I don't know about kid's tutorials, but I can recommend that you try
the turtle module. It's great for kids. It gives really good immediate
feedback, You can start out using it interactively:

Great suggestion, Simon, thanks

Michael

Jul 18 '05 #20

P: n/a
Jot
tn***@yahoo.com wrote:
Hi,

I am blessed with a *very* gifted nine-years old daughter for whom I
have recently installed an old GNU/Linux Mandrake 7.2


If she's really gifted i hope she dumps that obsolete monolithic kernel
as soon as she realizes that such beautiful language as python shouldn't
be used on top of ugly, badly designed software.
Jul 18 '05 #21

P: n/a
Jot <jot <at> nad.com> writes:

tnozh <at> yahoo.com wrote:
Hi,

I am blessed with a *very* gifted nine-years old daughter for whom I
have recently installed an old GNU/Linux Mandrake 7.2


If she's really gifted i hope she dumps that obsolete monolithic kernel
as soon as she realizes that such beautiful language as python shouldn't
be used on top of ugly, badly designed software.

Did somebody say off-topic?

Anyway, I myself am 14 years old and I can make simple python scripts already by
learning it off the official tutorial that comes with it. My tip: let her take
her time with a normal adult tutorial, and give her small assignments every few
chapters just so she gets it.

Jul 18 '05 #22

P: n/a
On 24 Mar 2005 07:21:33 -0800, "El Pitonero" <pi******@gmail.com> wrote:
Lucas Raab wrote:
tn***@yahoo.com wrote:
> I am blessed with a *very* gifted nine-years old daughter...
> Now, I would like to teach her programming basics using Python


Let her mess around with it on her own. I'm 15 and have been using
Python for 2-3 years and had nothing to really go on. Give her Dive

Into
Python or How to Think Like a Computer Scientist and let her ask
questions if she needs help.


In the chess world, people have long learnt to take young prodigies
seriously. Most of the grandmasters start to play chess at age 4 or
earlier. Bobby Fisher became the US chess champion at age 14, and a
grandmaster at 15. And that's considered old by modern standard: Sergei
Karjakin became grandmaster at age 12.

http://www.chessbase.com/newsdetail.asp?newsid=310
http://members.lycos.co.uk/csarchive/gilbert.htm

Sure, programming's skill set is a bit broader than chess playing or
ice-skating, but young hackers have plenty of contacts and resources
through internet, and many of them live (will be living) in Brazil,
Russia, India and China (the so-called BRIC countries.) So, a thorny
question for matured programmers is: what's your value in face of this
competition? :)


I guess that depends on how you measure value of human beings and competition ;-)
What is best to teach children about that?

If you imply that any child's "value" is measured only by their competitive
performance rank in some arena, or that their OWN value as a human being
is insignificant compared to the value of their prodigious talent,
that may be an effective motivational framework for some of them,
but I'm not sure it's not ultimately cruel to celebrate the gift if
ignoring whose burden or blessing it actually is.

Emotionally, they may grow to see themselves as ugly, with their own gift
being a stunningly beautiful sister who gets all the attention.

Or they may identify with their gift and become insufferable narcissistic
egotists as a refuge from human isolation and emotional starvation.

Or they may become wonderful human beings after all, happy stewards of
what becomes a gift to humanity, not just an advantage to exploit meanly.

Regards,
Bengt Richter
Jul 18 '05 #23

P: n/a
R.Meijer wrote:
Jot <jot <at> nad.com> writes:
If she's really gifted i hope she dumps that obsolete monolithic
kernel as soon as she realizes that such beautiful language as python
shouldn't be used on top of ugly, badly designed software.
Did somebody say off-topic?


I'd say it's a "Troll -1". Anyway, that'd be my moderator response over
at Slashdot. As had been said so many times; GNU/Hurd is still a
pipe-dream. Those who think that the Linux kernel is based on faulty
concepts should really get their act together and produce their own
microkernel. Personally, I don't care about the kernel architecture as
long as I've got a system that works right here, now.
Anyway, I myself am 14 years old and I can make simple python scripts
already by learning it off the official tutorial that comes with it.
My tip: let her take her time with a normal adult tutorial, and give
her small assignments every few chapters just so she gets it.


If I may ask, do you think that the "How to think like a Computer
Scientist" is a good starter? I'm 52 years old and learned my basics
with Swan's "Mastering Turbo Pascal 5.5" way back when, but I'm
sincerely wondering what your generation think are hi-class tutorials.

I've got a thirteen-year old daughter to whom I have recently taught the
HTML basics, but she doesn't readily take to actual programming. If
you've got any idea what I should push to her to get her fascinated
about _real_ programming, I'd be obliged. Or maybe her head isn't
screwed together that way, what do I know.
--
Leif Biberg Kristensen
http://solumslekt.org/
Jul 18 '05 #24

P: n/a
>>>>> "Bengt" == Bengt Richter <bo**@oz.net> writes:

Bengt> Or they may identify with their gift and become
Bengt> insufferable narcissistic egotists as a refuge from human
Bengt> isolation and emotional starvation.

Bengt> Or they may become wonderful human beings after all, happy
Bengt> stewards of what becomes a gift to humanity, not just an
Bengt> advantage to exploit meanly.

Or they may determine to be exactly what they feel like being at the
moment, independent of what their parents or the surrounding world
feel they should be.

(urgh, way too serious to be pythonic, but it's 5:14am here)

--
Ville Vainio http://tinyurl.com/2prnb
Jul 18 '05 #25

P: n/a
"Leif B. Kristensen" <ab***@solumslekt.org> writes:
I've got a thirteen-year old daughter to whom I have recently taught the
HTML basics, but she doesn't readily take to actual programming. If
you've got any idea what I should push to her to get her fascinated
about _real_ programming, I'd be obliged. Or maybe her head isn't
screwed together that way, what do I know.


I wouldn't push. She can figure out for herself what fascinates her.
Jul 18 '05 #26

P: n/a
On Wednesday 23 March 2005 22:03, tn***@yahoo.com <tn***@yahoo.com>
(<11**********************@l41g2000cwc.googlegroup s.com>) wrote:
Is there something out there like "Python for kids" which would explain
*basic* programming concepts in a way which is accessible and
entertaining for kids aged 10-14


It's not what you asked for, but you should consider Squeak Smalltalk and
eToys. The GUIs that we use today are largely the work of Alan Kays's
group at Xerox in the 1970s. Dr. Kay has spent the last 35 years trying to
make computers educational and fun for children. If you're interested, see

http://www.squeak.org/ (The Squeak Smalltalk site)
http://www.squeakland.org/ (The eToys site)

Squeak runs on Linux, MacOS, and even Windows, and it's free.
Jul 18 '05 #27

P: n/a
Jules Dubois <32*******@sneakemail.com> writes:
It's not what you asked for, but you should consider Squeak Smalltalk and
eToys. The GUIs that we use today are largely the work of Alan Kays's
group at Xerox in the 1970s. Dr. Kay has spent the last 35 years trying to
make computers educational and fun for children. If you're interested, see


Speaking of which, I should have mentioned the book "Mindstorms" (for
TN, not his daughter), by Seymour Papert. The intro is online:

http://www.papert.org/articles/GearsOfMyChildhood.html
Jul 18 '05 #28

P: n/a
You might like the book "Mindstorms", by Seymour Papert. The intro
is here:

http://www.papert.org/articles/GearsOfMyChildhood.html
Jul 18 '05 #29

P: n/a
Leif B. Kristensen wrote:
R.Meijer wrote:

Jot <jot <at> nad.com> writes:

If she's really gifted i hope she dumps that obsolete monolithic
kernel as soon as she realizes that such beautiful language as python
shouldn't be used on top of ugly, badly designed software.


Did somebody say off-topic?

I'd say it's a "Troll -1". Anyway, that'd be my moderator response over
at Slashdot. As had been said so many times; GNU/Hurd is still a
pipe-dream. Those who think that the Linux kernel is based on faulty
concepts should really get their act together and produce their own
microkernel. Personally, I don't care about the kernel architecture as
long as I've got a system that works right here, now.

Anyway, I myself am 14 years old and I can make simple python scripts
already by learning it off the official tutorial that comes with it.
My tip: let her take her time with a normal adult tutorial, and give
her small assignments every few chapters just so she gets it.

If I may ask, do you think that the "How to think like a Computer
Scientist" is a good starter? I'm 52 years old and learned my basics
with Swan's "Mastering Turbo Pascal 5.5" way back when, but I'm
sincerely wondering what your generation think are hi-class tutorials.

I've got a thirteen-year old daughter to whom I have recently taught the
HTML basics, but she doesn't readily take to actual programming. If
you've got any idea what I should push to her to get her fascinated
about _real_ programming, I'd be obliged. Or maybe her head isn't
screwed together that way, what do I know.


I found "How to Think Like a Computer Scientist" a very good book. It
was very well written and didn't push too many things onto you at once.

--
--------------------------
Lucas Raab
lvraab located at earthlink.net
dotpyFE located at gmail.com
AIM: Phoenix11890
MSN: dotpyfe "@" gmail.com
IRC: lvraab
ICQ: 324767918
Yahoo: Phoenix11890
Jul 18 '05 #30

P: n/a
Simon Brunning wrote:
I don't know about kid's tutorials, but I can recommend that you try
the turtle module. It's great for kids. It gives really good immediate feedback, You can start out using it interactively:

FWIW there is a German Book called called "Python fr Kids" by Gregor
Lingl which is mostly based on the turtle module. My little brother (13
then) actually learned Python with it.

Carl Friedrich Bolz

Jul 18 '05 #31

P: n/a
Simon Brunning wrote:
On 23 Mar 2005 21:03:04 -0800, tn***@yahoo.com <tn***@yahoo.com> wrote:
Is there something out there like "Python for kids" which would explain
*basic* programming concepts in a way which is accessible and
entertaining for kids aged 10-14 (that about where her brain is right
now) and which would allow them to "play around" and have fun solving
small problems?

I don't know about kid's tutorials, but I can recommend that you try
the turtle module. It's great for kids. It gives really good immediate
feedback, You can start out using it interactively:

import turtle
turtle.forward(100)
turtle.left(90)
turtle.forward(100)
turtle.left(90)
turtle.forward(100)
turtle.left(90)
turtle.forward(100)
turtle.left(90)


Aaarrrrggggghhh. I've been using python on and off for six years now,
and I didn't even know that it had a turtle module. :)

Turtle was the first experience I had with programming!

Joal
Jul 18 '05 #32

P: n/a

Simon Brunning wrote:
On 23 Mar 2005 21:03:04 -0800, tn***@yahoo.com <tn***@yahoo.com> wrote:
Is there something out there like "Python for kids" which would explain
*basic* programming concepts in a way which is accessible and
entertaining for kids aged 10-14 (that about where her brain is right
now) and which would allow them to "play around" and have fun solving
small problems?


I don't know about kid's tutorials, but I can recommend that you try
the turtle module. It's great for kids. It gives really good immediate
feedback, You can start out using it interactively:


<snip>

Couldn't help myself. I had to write the Dragon Fractal in python.turtle
:)


"""Generates the L-System for the Dragon Fractal, using
the turtle module."""

import re, turtle
from math import sin, pi

"""The default L-System rules for the dragon fractal are:
Angle 45 degrees
Starting Axiom FX
F =
Y = +FX--FY+
X = -FX++FY-

I've optimised them a little bit the following ways:
Take out all occurances of F.
Replace Y with +FN--FY+
Replace X with -FX++FY-
Replace N with X
Take out all occurances of -+
Take out all occurances of +- """

def rules(instring):
"""I originally had this as a series of nested re.sub expressions.
Once the rule list got long though, I split it up to make it more
"pythonic". """
newstring, subs = re.subn("F", "", instring)
# Use N as a placeholder for X
newstring, subs = re.subn("Y", "+FN--FY+", newstring)
# So that we don't get double substitution.
newstring, subs = re.subn("X", "-FX++FY-", newstring)
# Now we replace the placeholder with X
newstring, subs = re.subn("N", "X", newstring)
# And optimise the string in regard to left/right turns.
subs = 1
while subs:
newstring, first = re.subn("-\+", "", newstring)
newstring, second = re.subn("\+-", "", newstring)
subs = first + second
return newstring

def colorator(value):
# Makes the colour of the cursor cycle.
range, fract = divmod(value*6, 1)
if range == 0:
red = 1.0
green = fract
blue = 0.0
elif range == 1:
red = 1.0 - fract
green = 1.0
blue = 0.0
elif range == 2:
red = 0.0
green = 1.0
blue = fract
elif range == 3:
red = 0.0
green = 1.0 - fract
blue = 1.0
elif range == 4:
red = fract
green = 0.0
blue = 1.0
elif range >= 5:
red = 1.0
green = 0.0
blue = 1.0 - fract
return red, green, blue

# The default is that the turtle will only move one pixel
def parser(parsestring, distance=1, angle=45):
# First we clean up the parsestring
newstring = re.sub("X", "", parsestring)
newstring = re.sub("Y", "", newstring)
# Clear the screen
turtle.clear()
strlen = len(newstring)
colorinc = 1.0 / float(strlen)
turtle.color(colorator(0))
for i in range(strlen):
value = newstring[i]
turtle.color(colorator(float(i) * colorinc))
if value == "+":
turtle.right(angle)
elif value == "-":
turtle.left(angle)
elif value == "F":
turtle.forward(distance)
# Hide the cursor
turtle.color(1.0,1.0,1.0)

def run(count=15, distance=1, angle=45, width=1):
string = "FX"
while count > 0:
string = rules(string)
count -= 1
# "Hide" the cursor while we are moving it.
## print string
turtle.width(width)
turtle.color(1.0,1.0,1.0)
# Move the cursor so the turtle won't go off the screen.
# You might want to resize the turtle screen while the program is doing this
turtle.setx(100)
turtle.sety(-200)
parser(string, distance=distance, angle=angle)
if __name__ == "__main__":
run(15)

Jul 18 '05 #33

P: n/a
In article <11*********************@f14g2000cwb.googlegroups. com>,
Michele Simionato <mi***************@gmail.com> wrote:

But here I am discussing other kind of intellectual capabilities,
in particular the ability to learn a programming language.

I think the problem most kids face is *not* lack of intellectual
capability, but lack of concentration. Most kids cannot keep
their concentration focused on a single topic for a long period
of time, so they start one thing and never finish it, since
they have a thousand other little things to do in the mean time.


That's part of it. Another issue is that general problem-solving skills
do increase with experience. I also think that programming ability
tracks reading/writing ability to at least some extent, and while there
are child prodigies with language, they seem to be rarer than smaller
skillsets.
--
Aahz (aa**@pythoncraft.com) <*> http://www.pythoncraft.com/

"The joy of coding Python should be in seeing short, concise, readable
classes that express a lot of action in a small amount of clear code --
not in reams of trivial code that bores the reader to death." --GvR
Jul 18 '05 #34

P: n/a
In article <11**********************@l41g2000cwc.googlegroups .com>,
<tn***@yahoo.com> wrote:

Is there something out there like "Python for kids" which would explain
*basic* programming concepts in a way which is accessible and
entertaining for kids aged 10-14 (that about where her brain is right
now) and which would allow them to "play around" and have fun solving
small problems?


Take a look at http://www.python.org/moin/Beginners...NonProgrammers
where there are a couple of bits oriented toward younger people and lots
of bits oriented toward adults. I'm sure something there will strike
your daughter's fancy.
--
Aahz (aa**@pythoncraft.com) <*> http://www.pythoncraft.com/

"The joy of coding Python should be in seeing short, concise, readable
classes that express a lot of action in a small amount of clear code --
not in reams of trivial code that bores the reader to death." --GvR
Jul 18 '05 #35

P: n/a
On Fri, 25 Mar 2005 00:50:36 -0700, Jules Dubois
<32*******@sneakemail.com> wrote:
On Wednesday 23 March 2005 22:03, tn***@yahoo.com <tn***@yahoo.com>
(<11**********************@l41g2000cwc.googlegrou ps.com>) wrote:
Is there something out there like "Python for kids" which would explain
*basic* programming concepts in a way which is accessible and
entertaining for kids aged 10-14


It's not what you asked for, but you should consider Squeak Smalltalk and
eToys. The GUIs that we use today are largely the work of Alan Kays's
group at Xerox in the 1970s. Dr. Kay has spent the last 35 years trying to
make computers educational and fun for children. If you're interested, see

http://www.squeak.org/ (The Squeak Smalltalk site)
http://www.squeakland.org/ (The eToys site)

Squeak runs on Linux, MacOS, and even Windows, and it's free.


I again take the opportunity to raise a hand in protest.

Going to these sites I learn that Kay is the "Father of the Personal
Computer" working from "a deep understanding of how children learn".

He also may be someone who married himself to a bad idea 30 years ago,
in which he has invested too much, thereby crippling his ability to
confront scientific evidnce in an evenhanded manner.

He is also someone ex of Disney, now of HP, who lectures us on the
destructive infleunce of the profit motive on the development of
computer science and its capacity to enhance our world.

I understand better how Xah Lee got to be Xah Lee when confronted with
the cult of Kay.

Art
Jul 18 '05 #36

P: n/a
On 2005-03-27, Joal Heagney <jo**@bigpond.net.au> wrote:
Couldn't help myself. I had to write the Dragon Fractal in python.turtle
:)


That's nice. I ported it to use the pygsear Turtle class.
http://www.nongnu.org/pygsear/
--- Dragon.py 2005-03-27 08:48:13.000000000 -0500
+++ pDragon.py 2005-03-27 16:33:48.000000000 -0500
@@ -1,9 +1,14 @@
"""Generates the L-System for the Dragon Fractal, using
-the turtle module."""
+the pygsear.Drawable.Turtle class."""

-import re, turtle
+import re
+#import turtle
+from pygsear.Drawable import Turtle
from math import sin, pi

+turtle = Turtle()
+#turtle.visible = False
+
"""The default L-System rules for the dragon fractal are:
Angle 45 degrees
Starting Axiom FX
@@ -65,7 +70,7 @@
red = 1.0
green = 0.0
blue = 1.0 - fract
- return red, green, blue
+ return red*255, green*255, blue*255

# The default is that the turtle will only move one pixel
def parser(parsestring, distance=1, angle=45):
@@ -73,13 +78,14 @@
newstring = re.sub("X", "", parsestring)
newstring = re.sub("Y", "", newstring)
# Clear the screen
- turtle.clear()
+ #turtle.clear()
strlen = len(newstring)
colorinc = 1.0 / float(strlen)
- turtle.color(colorator(0))
+ turtle.set_color(colorator(0))
for i in range(strlen):
value = newstring[i]
- turtle.color(colorator(float(i) * colorinc))
+ color = colorator(float(i) * colorinc)
+ turtle.set_color(color)
if value == "+":
turtle.right(angle)
elif value == "-":
@@ -87,7 +93,7 @@
elif value == "F":
turtle.forward(distance)
# Hide the cursor
- turtle.color(1.0,1.0,1.0)
+ turtle.uclear()

def run(count=15, distance=1, angle=45, width=1):
string = "FX"
@@ -96,14 +102,15 @@
count -= 1
# "Hide" the cursor while we are moving it.
## print string
- turtle.width(width)
- turtle.color(1.0,1.0,1.0)
+ turtle.set_width(width)
+ #turtle.color(1.0,1.0,1.0)
# Move the cursor so the turtle won't go off the screen.
# You might want to resize the turtle screen while the program is doing this
- turtle.setx(100)
- turtle.sety(-200)
+ #turtle.setx(100)
+ #turtle.sety(-200)
parser(string, distance=distance, angle=angle)
if __name__ == "__main__":
run(15)
+ raw_input()

Jul 18 '05 #37

P: n/a
On 24 Mar 2005 13:33:58 GMT, rumours say that Fred Pacquier
<xn****@fredp.lautre.net> might have written:
Christos "TZOTZIOY" Georgiou <tz**@sil-tec.gr> said :
At the age of nine at school, two guys from a French computer-making
company named as "Loup" (in french) or "Lupo" (in Italian), can't
remember which --if either is correct--, came and gave us a demo of one
of their models.
OT/trivia : if it was between mid-eighties and early nineties, the company
could be "Goupil" (ancien french for "Fox").


Exactly! That was it... it was October or November 1981, though (early
eighties).
--
TZOTZIOY, I speak England very best.
"Be strict when sending and tolerant when receiving." (from RFC1958)
I really should keep that in mind when talking with people, actually...
Jul 18 '05 #38

P: n/a
Christos "TZOTZIOY" Georgiou <tz**@sil-tec.gr> said :
OT/trivia : if it was between mid-eighties and early nineties, the
company could be "Goupil" (ancien french for "Fox").


Exactly! That was it... it was October or November 1981, though (early
eighties).


Oh... probably a "G2" model then, with a 68000 CPU from pre-IBM-PC days..
(http://www.silicium.org/france/goupil/goupil2.htm)

--
YAFAP : http://www.multimania.com/fredp/
Jul 18 '05 #39

P: n/a
On 2005-03-27, Joal Heagney <jo**@bigpond.net.au> wrote:
Couldn't help myself. I had to write the Dragon Fractal in python.turtle
:)


That's nice. I ported it to use the pygsear Turtle class.
http://www.nongnu.org/pygsear/
--- Dragon.py 2005-03-27 08:48:13.000000000 -0500
+++ pDragon.py 2005-03-27 16:33:48.000000000 -0500
@@ -1,9 +1,14 @@
"""Generates the L-System for the Dragon Fractal, using
-the turtle module."""
+the pygsear.Drawable.Turtle class."""

-import re, turtle
+import re
+#import turtle
+from pygsear.Drawable import Turtle
from math import sin, pi

+turtle = Turtle()
+#turtle.visible = False
+
"""The default L-System rules for the dragon fractal are:
Angle 45 degrees
Starting Axiom FX
@@ -65,7 +70,7 @@
red = 1.0
green = 0.0
blue = 1.0 - fract
- return red, green, blue
+ return red*255, green*255, blue*255

# The default is that the turtle will only move one pixel
def parser(parsestring, distance=1, angle=45):
@@ -73,13 +78,14 @@
newstring = re.sub("X", "", parsestring)
newstring = re.sub("Y", "", newstring)
# Clear the screen
- turtle.clear()
+ #turtle.clear()
strlen = len(newstring)
colorinc = 1.0 / float(strlen)
- turtle.color(colorator(0))
+ turtle.set_color(colorator(0))
for i in range(strlen):
value = newstring[i]
- turtle.color(colorator(float(i) * colorinc))
+ color = colorator(float(i) * colorinc)
+ turtle.set_color(color)
if value == "+":
turtle.right(angle)
elif value == "-":
@@ -87,7 +93,7 @@
elif value == "F":
turtle.forward(distance)
# Hide the cursor
- turtle.color(1.0,1.0,1.0)
+ turtle.uclear()

def run(count=15, distance=1, angle=45, width=1):
string = "FX"
@@ -96,14 +102,15 @@
count -= 1
# "Hide" the cursor while we are moving it.
## print string
- turtle.width(width)
- turtle.color(1.0,1.0,1.0)
+ turtle.set_width(width)
+ #turtle.color(1.0,1.0,1.0)
# Move the cursor so the turtle won't go off the screen.
# You might want to resize the turtle screen while the program is doing this
- turtle.setx(100)
- turtle.sety(-200)
+ #turtle.setx(100)
+ #turtle.sety(-200)
parser(string, distance=distance, angle=angle)
if __name__ == "__main__":
run(15)
+ raw_input()

Jul 18 '05 #40

P: n/a
Lee Harr wrote:
On 2005-03-27, Joal Heagney <jo**@bigpond.net.au> wrote:
Couldn't help myself. I had to write the Dragon Fractal in python.turtle
:)

That's nice. I ported it to use the pygsear Turtle class.
http://www.nongnu.org/pygsear/


Nice. I still have to download a version of pygame to try this out, but
the fact that you can't hide the turtle in python.turtle was bugging me
out with my version. (A fair bit of copy/paste in gimp, I can tell you!)

Joal
Jul 18 '05 #41

P: n/a
Joal Heagney wrote:
Nice. I still have to download a version of pygame to try this out, but
the fact that you can't hide the turtle in python.turtle was bugging me
out with my version. (A fair bit of copy/paste in gimp, I can tell you!)


What was wrong with hiding the turtle? 'turtle.tracer(False)' usually does
it nicely and speeds things up a lot.
Jul 18 '05 #42

P: n/a
Jot wrote:

If she's really gifted i hope she dumps that obsolete monolithic kernel
as soon as she realizes that such beautiful language as python shouldn't
be used on top of ugly, badly designed software.


Maybe she'll go on to write that oft-proposed pure Python
operating system, and give us a computing environment
that's truly elegant from the ground up! :-)

--
Greg Ewing, Computer Science Dept,
University of Canterbury,
Christchurch, New Zealand
http://www.cosc.canterbury.ac.nz/~greg
Jul 18 '05 #43

P: n/a
Duncan Booth wrote:
Joal Heagney wrote:

Nice. I still have to download a version of pygame to try this out, but
the fact that you can't hide the turtle in python.turtle was bugging me
out with my version. (A fair bit of copy/paste in gimp, I can tell you!)

What was wrong with hiding the turtle? 'turtle.tracer(False)' usually does
it nicely and speeds things up a lot.


Ahhah! Thanks for that.

I also noticed that I got severe speed hits if the Xwindows mouse was
over the turtle tk window while the program was running.

BTW. How do I move the turtle to a new location without drawing anything?

Joal
Jul 18 '05 #44

P: n/a
Joal Heagney wrote:
Duncan Booth wrote:
Joal Heagney wrote:

Nice. I still have to download a version of pygame to try this out,
but the fact that you can't hide the turtle in python.turtle was
bugging me out with my version. (A fair bit of copy/paste in gimp, I
can tell you!)


What was wrong with hiding the turtle? 'turtle.tracer(False)' usually
does it nicely and speeds things up a lot.

Ahhah! Thanks for that.

I also noticed that I got severe speed hits if the Xwindows mouse was
over the turtle tk window while the program was running.

BTW. How do I move the turtle to a new location without drawing anything?

Joal


Whoop. That WAS a speedup!!! :)

Joal
Jul 18 '05 #45

P: n/a
Leif B. Kristensen wrote:
I've got a thirteen-year old daughter to whom I have recently taught the
HTML basics, but she doesn't readily take to actual programming. If
you've got any idea what I should push to her to get her fascinated
about _real_ programming, I'd be obliged.


If she's interested in creating web sites, maybe you could
introduce her to some simple CGI programming?

--
Greg Ewing, Computer Science Dept,
University of Canterbury,
Christchurch, New Zealand
http://www.cosc.canterbury.ac.nz/~greg
Jul 18 '05 #46

P: n/a
Joal Heagney wrote:
Joal Heagney wrote:
Duncan Booth wrote:
Joal Heagney wrote:
Nice. I still have to download a version of pygame to try this out,
but the fact that you can't hide the turtle in python.turtle was
bugging me out with my version. (A fair bit of copy/paste in gimp, I
can tell you!)


What was wrong with hiding the turtle? 'turtle.tracer(False)' usually
does it nicely and speeds things up a lot.


Ahhah! Thanks for that.

I also noticed that I got severe speed hits if the Xwindows mouse was
over the turtle tk window while the program was running.

BTW. How do I move the turtle to a new location without drawing anything?

Joal

Whoop. That WAS a speedup!!! :)

Joal


Now, is there a way to embed the turtle window into a scrollable canvas,
preferably with arbitrary runtime size?

Joal
Jul 18 '05 #47

This discussion thread is closed

Replies have been disabled for this discussion.