‘Teach-Your-Kid-to-Code’ Month in SoCal – December 2008

With all of the work I’ve been doing to create re-usable DigiGirlz curriculum, I’ve discovered that we (Microsoft) have a wealth of resources for ‘not-yet-programmers’ – and most are free.  Because I didn’t even know about all of this stuff and I am a developer and a Microsoft employee, I thought it would be fun to help bring the wealth of this information and tools to my SoCal community.  To that end, I am thinking about trying to partner with the local developer user groups to co-host a series of ‘Teach-Your-Kid-To-Code’ events in SoCal during the holiday months of December and January. 

I am really just kicking around the idea now – there are lots of logistics questions to be sorted out.  I am thinking that the target ages of the kids is from about 8 to 15 years old.

I am inspired by these products and technologies and am looking to include some or all of them in these events:

1) PopFly – it’s free, fun – allows creation of HTML pages, Mashups AND Games.  It also has it’s own little social network.  Oh, and you can ‘mash-out’ your mashups to webpages, facebook, etc….Plus there’s an awesome wiki, that includes, among other things a very well-written curriculum guide for free.  Don’t care for reading?  Well, then you can watch brief screencasts to get you started.

PopFly mash up block in regular view

Think this is too simple?  Just check out the Mashup block advanced view – javascript with Intellisense goodness.  Oh, and did I mention that this is FREE and runs in a browser? If you are like me, you’ll find that YOU like to play with this as much as your kids do!

Mashup block advanced view

2) Next up – all of our free Express developer tools– i.e. Visual C# Express, Visual Web Designer Express and SQL Server 2008 Express and more.  I blogged about them last week.  We’ve also got code samples and exercises to get started with at ‘C Sharp for Sharp Kids’ and ‘VB for Very Bright Kids’
C# for Sharp Kids

3) Of course, if you are a regular reader of my blog, then you’ll also know about my interest in and work with StoryTelling Alice.  This is a visual programming environment, not developed my Microsoft, rather by a team at Carnegie Mellon.  The effort for this version was led by Caitlin Kelleher and it was her thesis work around creating programming environments that are specific to the interests of middle- and high-school-aged girls.  StoryTelling Alice is free and you get it here.  You can enhance the StoryTelling Alice experience by downloading additional free characters and backgrounds here.
StoryTelling Alice IDE

4) Another popular area has been working with Windows Live Services.  In particular kids have been quite interested in working with Live Spaces – blogging, adding gadgets or mashups, etc…Our suite of products is really growing here and I find myself ‘discovering’ useful tools nearly every month.  Lately, I’ve become a huge fan of SkyDrive.  Just so easy to use.

Windows Live services 

Anyway, for this effort, I am thinking that I’ll hold a series of ‘train-the-trainer’ events in late November and early December for .NET developers who’d like to be teachers at these events.  And then I hope to partner with local developer user groups and technical training centers to support as many events as possible over the holiday season. 


What do YOU think?  Is this a crazy idea?  Do you like it?  How can I make it better?  Would you like to work with me on it?  Let me know! 

Comments (9)

  1. Jason Dever says:

    Very good idea.  I would be interested in the train-the-trainer training, and coordinating things here in Ottawa area.  I will chat with some of our local .Net group folks.

  2. David Cuccia says:

    Fantastic idea! My coworker was looking for exactly this kind of thing for his 12-year-old son.

    Don’t forget Popfly Game Creator!!

  3. Larry says:

    Let me know if we can help.  I have 3 kids in that age range if you need to test anything.

  4. palotasb says:

    I might have some experience here. šŸ™‚ I’m the 15-year old who is mentioned in this blog post: http://blogs.msdn.com/socaldevgal/archive/2008/09/03/solving-microsoft-pdc-hard-hat-challange-4.aspx

    I started with a commodore 64 emulator then quickly moved to VB6 and then VB 2005 Express. VB is extremely easy to learn and use, IntelliSense is extremely helpful and you just have to show a few quick examples to get your kid started. Help when they ask for help.* After s/he knows enough of programming itself you can show off other easy programming languages like JavaScript or C# or PHP.

    Stay away from unmaneged code šŸ™‚

    * Something that might be efficient is showing a few examples and asking them to write a few apps that incorporate ideas from these examples and then you show more complex stuff etc.

  5. lynnlangit says:

    Hey palotasb – thanks for writing!

    Yeah, I learned to code with VB first myself, although now I generally use C# for production work and I am really working with F# already too.

    I’d be interested in your opinion of F# – have you taken a look at it yet?

  6. Imixe says:

    You can try also VPL from Microsoft Robotics Developer Studio with some fischertechnik or lego robots with very simple examples. Also check MSWLogo for the very beginners kids.

  7. Blair says:

    Also go look at the new Small Basic project on msdn’s new DevLabs site. It is supposed to be very good for kids to use.


  8. JeffR says:

    I think this is a very good idea.  I have wanted to get involved with teaching kids to program for a long time.  It is important to get kids interested in technology early.

    Iā€™m up in San Luis Obispo and am involved with the local .Net Users group and would like to learn more about your ideas.

  9. There are a lot of good tools mentioned here.  I’m a Boy Scout leader here in Michigan who is registered to teach the Computers Merit badge.  A good way to help youth learn about computers is to go to your local Boy Scout council (www.scouting.org), Girl Scouts, YMCA, or other youth organization, and volunteer to be an instructor.  It is one thing to say, here’s a tool.  It’s another to go volunteer to teach somebody how to use it.