Python for a 10-14 years old?

T

tnozh

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
 
L

Lucas Raab

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
 
P

Paul Rubin

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.
 
S

Stephen Thorne

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.
 
M

MyHaz

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/personal/matt.davis/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.
 
M

Michele Simionato

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
 
M

MyHaz

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
 
C

Christos TZOTZIOY Georgiou

On 24 Mar 2005 02:35:34 -0800, rumours say that "Michele Simionato"
<[email protected]> might have written:

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 :)

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 :)
 
V

Ville Vainio

"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).
 
C

Christos TZOTZIOY Georgiou

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...
 
R

Reinout van Schouwen

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.

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,
 
M

moma

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 ?



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/personal/matt.davis/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.
 
F

Fred Pacquier

Christos "TZOTZIOY" Georgiou 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").
 
N

nsm.nikhil

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.
 
S

Simon Brunning

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:

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.
 
E

El Pitonero

Lucas said:
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? :)
 
S

Scott David Daniels

Christos said:
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
(e-mail address removed)
 
M

Michael Spencer

Simon said:
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
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,769
Messages
2,569,581
Members
45,056
Latest member
GlycogenSupporthealth

Latest Threads

Top