Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl: the Markov chain saw
 
PerlMonks  

Comment on

( #3333=superdoc: print w/ replies, xml ) Need Help??
First off, congratulations on taking on the greatest challenge there is. Before 'No Child Left Behind' wiped out most opportunities for free-form education, I spent almost three years of happy afternoons figuring out how to open up the field for ten year olds. See the 8-yr olds thread already posted for my previous commentary and a link to an article with a lot of ideas we tried.

Plan to spend 4-6 hours prepping for every hour in the classroom. There are two ways to proceed, depending on the crucial question of whether the kids have access to computers at home. If they do, then plan on getting them set up at home as one of your first big pushes. Why? Once you have them going with a simple program, they will want to build confidence by changing colors, sizes, wording, etc. You will need to prep the parents for what's going to happen and make it as easy as possible. {USE FREEWARE!!!!} Once this hurdle has been surmounted, you will have a much easier time of it because, as GrandFather and Panda show, the child will start contributing on his own.

If the kids are not set up at home, which was the challenge we faced, you will need to set up classroom time for such un-directed exploration. It is critical not to just drive forward to teach new things and ignore the need for student-driven exploration. The ultimate goal of education is to get kids to cut loose and explore on their own, so set this as a more important goal than teaching Perl. The result will be that the group takes longer to get started but ends up taking off and flying.

I can see that you've put some good thought into your progression. This is good. We spent a lot of time setting up donated BSD/Linux machines in the classroom, and that was a mistake because it was too much to explain and, because they were so different, we had to set them up and explain them over and over every year. If I were to do it over, I'd spend more time on programming, as you are doing, and -- at most -- create access to a net-resident FreeBSD web/database/programming server somewhere with PuTTY.

Definitely spend time creating a library of modules to make it easier. When you're in the classroom, you want to have a simple series of steps that end up creating a result: action. It doesn't need to be graphics-based; we got a lot of good mileage from the tried and true Bourne shell. Two things are important: an easy path to success, and changeability. This will suffice for most of your learners; you can take the brighter bulbs aside and point them to the source of your modules for insight into reuse and levels of interface development. If Internet access is allowed, DO set them up as Perl Monks members. The use of Interent communities is every bit as important a development as programming, and their questions won't be any more dumb than some I myself have posted here. ;-]

Your idea to start with a game is a good one. Be prepared for it to be a bigger project than you think, though. Again, the more you can pre-program as libraries, the better. If you get that accomplished, I'd suggest that you take the students who are still with you to a place where you start to create analogues of computers: simple "little language" interpreters, models of a CPU, logic demonstrators, and state machines. Adventure games and MUDs are a great entree into this world.

Finally, look for help. In my case, the New Mexico BSD and Linux Users' Group provided motivated bright bulbs and computer hardware to the cause. I sparked the plug, but they all provided a lot of gas to make a pretty big bang for a lot of students who would never have had a chance to see beyond keypunching as a job. Just remember that everything you do will be stretching your students' experience in a good way, and resolve to have everybody have fun no matter how much actually gets done. If you can get them to move forward and explore on their own, you're ahead of the game. At the end of the day, THIS is what counts, because most of the problems our society faces today can be traced to kids being conditioned to accept that somebody else's answers are more important than their own.

:D

In reply to Re: Teaching Children How to Program by samizdat
in thread Teaching Children How to Program by Sandy

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • Outside of code tags, you may need to use entities for some characters:
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.
  • Log In?
    Username:
    Password:

    What's my password?
    Create A New User
    Chatterbox?
    and the web crawler heard nothing...

    How do I use this? | Other CB clients
    Other Users?
    Others rifling through the Monastery: (15)
    As of 2014-09-30 16:35 GMT
    Sections?
    Information?
    Find Nodes?
    Leftovers?
      Voting Booth?

      How do you remember the number of days in each month?











      Results (378 votes), past polls