Beefy Boxes and Bandwidth Generously Provided by pair Networks
Keep It Simple, Stupid

Teaching Perl to Children

by SciDude (Friar)
on May 26, 2004 at 06:40 UTC ( [id://356475] : perlquestion . print w/replies, xml ) Need Help??

SciDude has asked for the wisdom of the Perl Monks concerning the following question:

Greetings Monks,

I am seeking resources to teach perl to children.

Recently, my 11yr old son picked up a long disused Texas Instruments CC-40 computer and began reading the manual - even typing in short programs from the text. In his world, this machine was nothing other then an unusual gameboy the mysteries of which he had yet to explore. The manual provided is an excellent example of an introductory text to computer programming. It was written at a time when the average user would be expected to know absolutely nothing about computer programming. The examples provided are short, often amusing, and instructive. Several "guess the animal" and "hangman" type games are included.

I would like to locate some child-oriented resources for learning computer programming. Hopefully some material in perl is available. Java seems to have some limited material in development. Does anything like this exist for perl?

I have the Learning Perl (3rd ed) by Randal L. Schwartz, Tom Phoenix. This book is good for an adult but not appropriate for the young reader.


Replies are listed 'Best First'.
Re: Teaching Perl to Children
by Abigail-II (Bishop) on May 26, 2004 at 09:25 UTC
    I've never heard of such a book, and would find it very unlikely such a book exists. The market is just too small for a publisher to contemplate a book like that - specially now the IT and internet hype is over. Of course, you could always start one at the wikibooks project. A book about Perl is already being developed.


Re: Teaching Perl to Children
by cyocum (Curate) on May 26, 2004 at 11:53 UTC

    I found this link with Google. I might be of interest to you.

Re: Teaching Perl to Children
by Fletch (Bishop) on May 26, 2004 at 15:31 UTC

    You might let him cut his teeth on something like Squeak rather than Perl. There's lots of material at geared towards kids and using Smalltalk as an educational tool. Then once he's gotten a good OOP foundation underneath he can pick up Perl next.

Re: Teaching Perl to Children
by Theo (Priest) on May 26, 2004 at 14:36 UTC
    Before 7th and 8th grade, children have a lot of trouble with abstract thinking - they are much better at concrete thinking. My wife teaches algebra to 8th graders. To get into the class, they have to pass an "Algebra Aptitude test". To see if they have the required abstract thinking ability. About 1/3 will pass the test.

    I would think that programming would require a similar abstract ability, so you'll have to be careful either with the content or with student selection.

    When you get it up and running though, I bet it will be a lot of fun!

    (so many nodes and so little time ... )

      That seems a bit crazy if you ask me. I was programming logo in 5-6th grade and i'll bet that plenty of people here where doing something similar at young ages. I understand not everyone did, but then most people still don't. Making a blanket statment like "Before 7th and 8th grade, children have a lot of trouble with abstract thinking" seems ridiculous to me. I understand you probably didn't mean "all children", but here we start algebra (exponents, variables, equations, etc) in 6th grade and i think many of us certainly could have handled it ealier than that. Hmm seems my rant lost steam somehwere in there. Anyway i think people should have more faith in our childrens ability and desire to learn and cultivate it with projects like this. That teacher who started us on algebra in 6th grade also started me on LOGO and BASIC in 5th grade and had us all going to musicals and reading books that "6th graders wouldn't understand".

      Sorry for the off topic rant, to bring it back, i think such a book would be excellent and perl is an excellent language to get your feet wet with. Oh and I hate when people say "xth grader's wouldn't understand that" in case you didn't notice.

      Eric Hodges

        LOGO is a bit of a special case. The language was specifically designed for teaching young children how to program computers. In fact, I suggest that the OP consider teaching his child some LOGO before moving to Perl. It has several traits that make it an almost ideal learning language:

        -- The immediate visual feedback provided by the turtle's movements make LOGO programs more concrete than most programming languages. A diagram on a screen is much more staisfying (to me, anyway) than a line or two of text. Even if the text says "Hello, World!"

        -- It has a Lisp-like "functional" structure which makes building a program out of re-usable pieces easy and natural.

        -- It makes math, particularly geometry, relevent and therefore interesting. Indeed, teaching mathematical concepts through programmuing was one of the design goals.

        I had instruction in LOGO for a few hours a week from 4th through 6th grade. I loved it, and I think it's a much more worthwhile use of computer time in school than word processing or (God forbid) typing lessons. There are free LOGO interpreters for just about every PC operating system in existence, and there are several excellent books for teachers. Unfortunately, very few elementry teachers seem to have heard of it, and even fewer feel competent to teach it.* LOGO deserves to be far better known than it now is.

        -- Fuzzy Frog

        *based on a limitted sample of personal conversations.
        here we start algebra (exponents, variables, equations, etc) in 6th grade

        My mom is an elementary school teacher. She's starting to teach this stuff (basic algebra concepts, e.g. variables and solving equations) to her 3rd grade class. I'm not sure how effective it is, but they're doing it. I know at least some of the kids are understanding. Just goes to reinforce your point, I guess.

        Hi, eric256.
        My wife teaches LOGO to her 7th graders. (she can't start any younger 'cause 7th grade is the first time she has them) Our school is also introducing some of the elements of algebra in the lower grades as other posters have said. The earlier that starts, the more time the children have to absorb and wrap their minds around the concepts. The statement "Before 7th and 8th grade, children have a lot of trouble with abstract thinking" was a generalization and no disrespect was intended to any age kids, some of whom are very capable. (Perhaps "they" will find that abstract thinking ability is something that can be nurtured and developed in much younger kids, if some effort is put into it.)

        The test my wife gives is intended to find those kids who are ready for the first year of high school algebra in the 8th grade. The ones who pass her "pre-algebra" test usually pass the course and do well in algebra 2 in high school.

        (so many nodes and so little time ... )

Re: Teaching Perl to Children
by dragonchild (Archbishop) on May 26, 2004 at 15:13 UTC
    This is an odd answer, but just provide the Camel book to him and leave him alone. If he's looking for projects, have him solve his homework problems using Perl. He'll come and ask you questions as he runs across them.

    This is how I plan on teaching my son, once I have a free computer to put in his room.

    We are the carpenters and bricklayers of the Information Age.

    Then there are Damian modules.... *sigh* ... that's not about being less-lazy -- that's about being on some really good drugs -- you know, there is no spoon. - flyingmoose

    I shouldn't have to say this, but any code, unless otherwise stated, is untested

Re: Teaching Perl to Children
by perrin (Chancellor) on May 26, 2004 at 20:13 UTC
Re: Teaching Perl to Children
by andyf (Pilgrim) on May 27, 2004 at 16:03 UTC
    One word about teaching littluns code. Motivation. In my generation of geeks computers were new and interesting, and the motive was self generated. Today computers are so commonplace kids have a nonchalent disinterest.

    But there is a foolproof way to engage them. Give them ownership of something. Not in a materialistic way, like their own computer, but in a virtual way, like their own home directory or website. Kids are naturally selfish, in a good way, so when they hear me talk about 'my home directory' the first thing I start hearing is "When can I have MY home directory?". Well, "right away" I say and create a user account. So now they want to add things, a custom login screen, a guestbook for their friends to visit, and so on. With these motivational hooks you have a reason and a context to teach.