My Secret Life as a Spaghetti Coder
home | about | contact | privacy statement | getting started with cfrails
Macintosh has had the ability to say things since it was introduced over two decades ago.



But that doesn't make it any less exciting. The imagination involved and the thoughts of "z0mg, I just told my computer to say something, and it said it!" don't escape us - even after growing up playing nothing technologically older than an Xbox.

Want proof? My daughter and I took turns on the keyboard on a recent Friday night. This conversation took place over two-to-three hours, and she asks to play around again every time she sees me on the laptop, and sometimes even when I'm not.

codeodor:~ sam$ say what are you doing?
codeodor:~ sam$ say come here please
codeodor:~ sam$ say what song are you listening to
codeodor:~ sam$ say what?
codeodor:~ sam$ say i'm say!
codeodor:~ sam$ say what is my name?
codeodor:~ sam$ say what is your favorite band?
codeodor:~ sam$ say does your computer talk to you?
codeodor:~ sam$ say mine does!
codeodor:~ sam$ say isnt that cool?
codeodor:~ sam$ say mac OS does this!
codeodor:~ sam$ say not windows!
codeodor:~ sam$ say weezer is AWESOME!
codeodor:~ sam$ say pretty cool, huh?
...
codeodor:~ sam$ say i can have my cat inside
codeodor:~ sam$ say you can have your cat inside the universe, that is
codeodor:~ sam$ say in doors at are house
codeodor:~ sam$ say in doors at our house on mars!
codeodor:~ sam$ say sanbo is silly
codeodor:~ sam$ say who the heck is sanbo? I'm SAMBO!
...
codeodor:~ sam$ say got it?

...
codeodor:~ sam$ say pull my finger!
codeodor:~ sam$ say pft
codeodor:~ sam$ say pfffffth
codeodor:~ sam$ say pth
codeodor:~ sam$ say th
codeodor:~ sam$ say thththththt
codeodor:~ sam$ say poot
codeodor:~ sam$ say do you smell that smell?
...
codeodor:~ sam$ say I am just a computer
codeodor:~ sam$ say that talks!
codeodor:~ sam$ say you are awesome!
codeodor:~ sam$ say true dat
codeodor:~ sam$ say thats true
codeodor:~ sam$ say no, i can only say stuff
...
codeodor:~ sam$ say ok, good night
codeodor:~ sam$ say its sleepy time


Programmers are wizards. We use the keyboard to type our incantations out to produce stuff from nothing but thought. We can think things, and make them happen without so much as a thought toward physical materials aside from our keyboards and displays.

A Wizard in Black Robes

I've been wanting to pass down that art for quite a while - especially so now that I've seen the interest it engages. So I thought I'd share a list of starting points I've collected with you all. Perhaps you've tried one or more of them and can shed some light with your impressions. On the flip side, maybe it will spur you to get your own children involved in what you do (or what we do, if you don't happen to practice the craft).

Anyway, here's a few that I intend to try out:
  • Etoys from Squeakland: Etoys points out that a lack of motivation often causes failure in learning, and their package tries to keep children emerged and "immersed in discovery" by letting them "make their own models, stories, and games" while learning "math, science, and language arts." It looks less like programming than I'm interested in, but I'm going to give it a shot.

    Squeakland logo

  • Scratch: A project from MIT that lets you put together puzzle pieces to direct movies / animations. This is similar to my impression of Alice, and I could totally see my daughter getting into this one. The website also makes it seem like there might be some social aspects to it, which could be fun.

    Preview of what Scratch can do.

  • Alice, Randy Pausch's brainchild from Carnegie Mellon: I'm interested in this because of the "fake move" Randy talks about, where we're teaching them programming while making them think they're doing something else.

    Like Scratch, it lets you create movies by programming them.

    The small blurb on their home page draws you right in:
    Alice is an innovative 3D programming environment that makes it easy to create an animation for telling a story, playing an interactive game, or a video to share on the web. Alice is a teaching tool for introductory computing. It uses 3D graphics and a drag-and-drop interface to facilitate a more engaging, less frustrating first programming experience.
    I have the highest hopes for this one, so I'll probably try it first in case I only get one shot.

    Thumb of a screen shot of Alice's IDE

  • Hackety Hack Logo Hackety Hack, from Why the Lucky Stiff: Very visually exciting, but short on details aside from "play an MP3" in one line of code or create a blog in six. There are nice testimonials and I've been impressed with _why's creativity, so that makes up for it.


  • Invent Your Own Computer Games and LiveWires from the Python world: These two items from Python weren't nearly as visually impressive or exciting. I'm willing to give them a chance, but one has to wonder if they're geared more towards adults who want a career change than kids who are first trying out programming. They say you shouldn't judge a book by its cover, but still.

    Of course, we already saw what happened with say, and that's a big reason these guys make it in with the tough crowd above.
Have you tried any of these (either as a student or a teacher)? Did it work? Have you tried others methods?

Update: In the original version of this post there was mention of using a Wiimote and speech to text to really cast programming spells, with a link to a demonstration of using Wiimote as input to your computer.

As the author of the piece I linked to pointed out, it's not a kid-friendly site. The intended audience here are adults, so normally I wouldn't mind, but my posts tend to rank well in Google's index, so I could see kids finding it easily. Anyway, in the interest of decency and out of respect for parents whose children might find this article, I removed the link (though obviously I struggled with the decision).

Anyway, if you're looking for how to do it, there are plenty of resources available.

Hey! Why don't you make your life easier and subscribe to the full post or short blurb RSS feed? I'm so confident you'll love my smelly pasta plate wisdom that I'm offering a no-strings-attached, lifetime money back guarantee!


Comments
Leave a comment

If you've not tried Alice, and you're not in too much of a rush, then you could wait till Alice version 3 comes out. It is supposed to be in Beta Testing in schools before Christmas, but us mere mortals won't see it till next year. The characters will be more realistic, and the lessons learned from Storytelling Alice will be in.

Shoes http://shoooes.net/ will be the new Hackety-Hack. That, you can and are encouraged to join in with now, if only to help swat bugs. The philosophy of it is much the same.

But it isn't just children, it's about how the barrier to programming can be lowered sufficiently for more people to get use out of their computers. And it would be nice for more people to control their machines than the other way round (You need to do updates! You need to restart the machine! You need to check the disk...)

Posted by hgs on Oct 13, 2008 at 10:32 AM UTC - 6 hrs

I have tried Alice as a student, and I was not too impressed with parts of it. It felt very sluggish to me. I have also gone through Hackety Hack which I thoroughly enjoyed, unfortunately it seems as though it is unfinished, I have been following Shoes with great interest though.

Posted by SeanJA on Oct 13, 2008 at 04:12 PM UTC - 6 hrs

sammy, something my kids love is phun (2d physics sandbox). it's not really programming, but implementing business logic. it is really phun (i know... that was bad).

a buddy of mine has the mindstorm and plays that with his daughter. you can program it from a drag and drop tool that is supplied, or in 3gl if you want to go that route. the coolest thing with that is that you get to watch your robot work or not. it seems like a lot of fun.

Posted by shag on Oct 13, 2008 at 05:10 PM UTC - 6 hrs

@hgs - That sounds like we can wait. Actually I was thinking of trying Storytelling Alice first anyway. Thanks for the info.

Re: shoes - I hadn't looked at it in that light before. I always thought it was just a GUI framework wrapped around one or more of the GUI toolkits available for various platforms. Will look into it as well.

@SeanJA - thanks for the tip. Do you think Alice's sluggishness was due to high hardware requirements, or was it an overall experience?

@shag - Thanks for the recommendation. I'll give phun a whirl as well.

Posted by Sammy Larbi on Oct 15, 2008 at 09:20 AM UTC - 6 hrs

Sammy - this is definitely a good thing, but please be careful pointing kids at my blog! I swear a lot more than many parents would want. Check the giant Archaeopteryx banner for example. I could see my blog being a great resource for parents who want to do cool projects with their kids, but not such a great resource for parents who want to give their kids a blog to read with a bunch of fun words to use.

Posted by Giles Bowkett on Oct 15, 2008 at 10:32 AM UTC - 6 hrs

Thanks Giles. I hadn't thought about that.

Normally I wouldn't mind because the intended audience here is adults, but I can see how kids could easily come across this post, so extra care on my part might be prudent.

I struggled with the decision but I did remove the link. Thanks for pointing it out to me.

Posted by Sammy Larbi on Oct 15, 2008 at 01:00 PM UTC - 6 hrs

I found this little flash game interesting:
http://armorgames.com/play/2205/light-bot
My little math students like it very much. It's all about factorization of instructions.

Posted by Grahack on Oct 16, 2008 at 03:42 AM UTC - 6 hrs

Leave a comment

Leave this field empty
Your Name
Email (not displayed, more info?)
Website

Comment:

Subcribe to this comment thread
Remember my details
Google
Web CodeOdor.com

Me
Picture of me

Topics
.NET (26)
AI/Machine Learning (15)
Bioinformatics (3)
C++ (7)
cfrails (22)
ColdFusion (84)
Customer Relations (20)
Databases (2)
DRY (19)
DSLs (13)
Electronics (2)
Future Tech (6)
Games (8)
Groovy/Grails (8)
Hardware (2)
IDEs (10)
Java (44)
JavaScript (5)
Lisp (2)
Mac OS (3)
Management (4)
Miscellany (63)
OOAD (39)
Programming (132)
Programming Quotables (9)
Rails (21)
Ruby (59)
Save Your Job (63)
scriptaGulous (4)
Software Development Process (28)
TDD (43)
TDDing xorblog (6)
Tools (6)
Web Development (8)
YAGNI (12)

Resources
Agile Manifesto & Principles
Principles Of OOD
ColdFusion
CFUnit
Ruby
Ruby on Rails
JUnit



RSS 2.0: Full Post | Short Blurb
Subscribe by email:

Delivered by FeedBurner