[malu] Programming for Kids? -- so many choices -- Scratch, Squeak, BYOB, Logo, Python, JavaScript, Manning Publications and MEAP

Furman Smith fsmith at aum.edu
Fri Jun 29 13:09:06 CDT 2012


Members of the Montgomery Area Linux Users Group interested in this thread <[malu] Programming for Kids?> , and Jason in particuar,


Seven years old!  Wow.  What a position to put in the ten thousand hours of practice before twenty that Malcom Gladwell asserts is necessary to get to a Bill Gates or Beatles level of mastery .  (Gladwell oversimplifies but he has a point.)

Although being up to speed at seven on the tasks mentioned is a wonderful start, the lack of reading ability is, of course, currently limiting.  Seven in this world is a good place to be.



I will copy this email to Dr Enoch Lee, who is Head of the Department of Mathematics here at Auburn University Montgomery.  Enoch has a high level of knowledge of computing, including Linux, and has worked with his children on programming.  I forget what language he was using but perhaps it was Scratch.  Maybe it was Squeak, which is perhaps what is running Scratch.



If you haven't come across Scratch then please go to http://scratch.mit.edu/ and be sure to look at the "jigsaw" format of a program segment in order to see how some difficulties of syntax are neatly circumvented.  I see that the latest Scratch package for Ubuntu is available from Scratch's home page but it is currently only for a 32 bit version but with some users reporting good results from forcing it onto 64 bit systems.  I glanced at http://scratch.mit.edu/forums/viewtopic.php?id=56623 to see about the OpenSUSE OS but my reading level of many posts is such that I have to hunt around and I neither understood my first reading nor hunted.

The Berkley Logo (UCB Logo) which Matt found is indeed excellent for serious purposes but the manual warns "Features *not* found in Berkeley Logo include robotics, music, GUIs, animation, parallelism, and multimedia.  For those, buy a commercial version."  I have the three volume set Computer Science Logo Style by Brian Harvey, who uses Berkley Logo and it is a joy to read but it does call for serious reading.  We often rise to the task, in this case reading, when the goal, in this case programming, is highly desirable but I'd recommend a different starting place.  One of the projects in Computer Science Logo Style is to build a Pascal compiler.

It certainly is motivational to be able experience and have your friends experience the animation and music.    The near immediate graphics reward is one of the things that makes Logo so appealing.  The Logo talk which Matt mentions uses a LCSI Logo called MicroWorlds and I'm really torn about whether or not it would be a good choice.  MicroWorlds is great for kids that don't know that they'll love computers and it has worked well in the past but programming does not seem an activity of choice for the masses and kids exposed to MicroWorlds sometimes get seduced into producing animations with music which are quite impressive but do not lead to serious programming -- some programming, yes, but often dead end.  Why produce a hello-world program or compute Fibonacci numbers when you can so easily produce a movie?  For whatever it is worth, the LCSI site is http://www.microworlds.com/ and they offer a MicroWorlds Jr for Pre-K through Grade Four.  There are two additional expenses -- financial and it only runs on Windows and Macintosh.  The MicroWorlds support is good, as it should be for the expense, but I've used the Windows version and Microsoft has yanked the run from under me on MicroWorlds at least once and perhaps twice.  Members of the Linux Users Group don't need to hear my rants about Microsoft so I'll say no more about this.

If you go to Brian Harvey's Webpage, http://www.cs.berkeley.edu/~bh/,  you will see some an example of an extended version of Scratch called Build Your Own Blocks (BYOB) from MIT using drag and drop.  He mentions that he is currently working on it to support an undergraduate-level introductory computer science course using BOYB so please don't be put off by drag and drop.

I have a wonderful paperback by Warren and Carter Sande titled Hello World!  Computer Programming for Kids and Other Beginners.  It is a fine introduction using Python.  I don't know how old Carter was when he helped his dad Warren with the book but he wanted to understand everything;  twelve years old is mentioned at some point.  The book is solid and I recommend it to anyone who finds that they are able to read it.



The publisher, Manning, has a neat deal on its publications.  When you buy the hardcopy of the book you get, as part of the deal, a link to download some electronic versions -- I forget the options but I've downloaded pdf versions of the books I've gotten from Manning and I think there are Kindle and epub versions.  It is great to keep the hardcopy at home but the ability to looks something up quickly on a file on my office computer.



If you would like to offer your son the option of seeing if he can rise to read  Hello World!  then the http://www.manning.com/sande/ Webpage has some links to sample chapters (and links for installations for Fedora, Ubuntu, and some other OS's).  You might take a look first.  We all share -- I certainly do -- that having too many choices sometimes freezes action.  If Scratch looks good and Hello World! seems a bit much then I wouldn't mention Hello World! until he is in love with Scratch.  At seven there's plenty of time.



It is off the subject but Manning Publications has another feature of interest.  You can buy a MEAP publication (Manning Early Access Program) which gives you access to a book as it is being written.  You receive the current chapters and, as time goes on, the revised chapters.  When the book is finally published, you receive the hardcopy as well as the electronic versions mentioned above -- essentially the finished versions of what you have been receiving.  A minor advantage is that you get to read the book earlier.  A great advantage for both the reader and the author is that if you come across a part that you don't understand you can write the author about it and perhaps both get your question answered and improve the book.  So even if you, as the father, don't think your son is ready for Hello World!, then if you aren't familiar with Manning publications, you might want to take a look at http://www.manning.com/.

Yet another option would be JavaScript.  I'm really out of touch with modern programming but as I understand it most of the apps right now are using JavaScript.  The Codeademy (http://www.codecademy.com/#!/exercises/0) seems to offer an addictive introduction.  I say additive since it uses positive feedback (you keep getting the right answers) and the feedback is quick.  If you don't know Codeacademy then it is worth a look just to experience the "I'll try just one more thing and then I've got to quit and get to work."  We should always be aware of that freezing when there are too many choices.  You might wait until your son says something about wanting to put a cell phone in a drone to fly around the neighborhood but, if such a day comes, perhaps JavaScript will work better than Scratch or Python.  Then again, perhaps not.  At the risk of repeating myself, at seven there's lots of time.

                                 --furman

On 29-Jun-2012 at 9:41 am Matt Ragland (Interim Associate Provost of Research and Graduate Studies at Auburn University Montgomery; mragland at aum.edu;http://sciences.aum.edu/~mragland)
wrote the following with a copy to the Montgomery Area Linux Users (malu at lists.malu.org):


Jason,

At AUM we have an annual math event where local kids are invited to learn math and math related topics.  Dr. Furman Smith always gives a talk on "How to program your own video game.". He uses the language LOGO, though of I recall, he uses a proprietary version.  But, I'm pretty sure you can find a Linux version.  Here is a link that might help:

http://linuxgazette.net/issue43/silva.logo.html

I'm copying Dr. Smith on this.  He might  have more to share.  I believe he is credited with writing the first fantasy video game for children some time ago.

Good luck with teaching your kid programming!

Best,
Matt
...

On Jun 29, 2012, at 9:23 AM, "Jason Wohlford" <jason at wohlford.org> wrote:

> So I've got a 7yr old who wants to make his own game. Apparently, him and a friend are making Mario World 4. He's got a bit of Linux skill. He's installed OpenSUSE and Linux Mint a couple of times by himself. Very proud of that! He knows Mac and Windows too. Now reading ability is still lacking. He's 7. He's making great progress there, but full on programming (i.e. Python, etc) would be too much. I cut my teeth on HyperCard when I was a boy. I'm hoping there is something like that for Linux. Any suggestions?
>
> Cheers,
> Jason
>
> --
> Jason Wohlford
> <jason at wohlford.org>
> <http://wohlford.org/>
> @wohlford
>
> _______________________________________________
> malu mailing list
> malu at lists.malu.org
> http://lists.malu.org/listinfo/malu
> http://malu.org/

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.malu.org/pipermail/malu/attachments/20120629/6b438197/attachment.html>


More information about the malu mailing list