[Newbies] I need an idea. I know you have some. Give.

Casey Ransberger casey.obrien.r at gmail.com
Sat Mar 9 05:39:10 UTC 2013


Thanks for the long and thoughtful reply, and good stuff too. Big fan of
Seymour Papert, too. It just so happens that I have a Coleman toolbox
loaded tight with Lego Technics, including an NXT kit, and a big old remote
controlled tractor (I wanted the treads.)

I already have a backburner project involving an Arduino going on in this
category, and I planned to use NXTTalk on the smart brick. I also want to
look at Physical Etoys before I proceed. This is on the backburner in part
because it's pretty broad in scope. Thanks for the suggestion though!

On Fri, Mar 8, 2013 at 8:31 PM, Clinton Blackmore <
clinton.blackmore at gmail.com> wrote:

> Hello Casey.
>
> What a fabulous question.
>
> I believe that the Raspberry Pi opens up the door to help everyone,
> especially kids, learn to create things in this (digital) world of ours,
> and not to just be a passive consumer, and that they will if they have an
> accessible way to do it.  I also believe we are on the cusp of a personal
> robotics revolution, much like where the personal computer revolution was
> thirty years ago.  Lastly, I believe that the best way to teach children to
> code today involved the use of a project written in Squeak, namely Scratch,
> and that tomorrow's tools can be even better!
>
> I therefore propose the creation of a web-based graphical programming
> environment to allow kids to program robots built with a Raspberry Pi brain.
>
> I think I've touched on the why, but let me get to the piece that I think
> is really inspiring.  Learnable Programming.<http://worrydream.com/LearnableProgramming/>
> This is an essay by a fellow about how we can make programming more readily
> understood and more powerful; he has a great sense of vision, and he sites
> Squeak as being one of the really good environments that we have today.
>  [Implementing any sort of Learnable Programming system, whether for
> robotics or not, is a laudable goal, and his site is chock-full of
> inspiration for other things you might do].
>
> Now, I don't believe that all of the things he suggests -- such as
> allowing a person to scrub forward and backward through a simulation -- can
> be accomplished directly with robotics.  But there are parts of it that
> sure could be, and with a full-on computer as the brain, there is memory to
> store the system state [such as sensor readings] at various times and
> explore it.
>
> Why, then, do I still believe in programming robots over just programming
> computers?  Because it is engaging, and it gives kids a platform upon which
> to solve problems that are real instead of trivial.  I must say, being one
> who lives a sedentary lifestyle, and having moved to an acreage where the
> house is heated by wood-burning stoves, that after I went out (after
> referring to youtube for instructions) and split wood for a half hour, that
> I was struck by the fact that exercise is so much more enjoyable when you
> are accomplishing something, and I believe the same holds true for (school)
> exercises; for instance, when math is disembodied and becomes the mere
> shuffling of symbols, is it any wonder that kids don't like it, don't
> understand why it is important, and don't do it more than they have to, but
> when it has a context -- ex. meshing a 40 tooth gear with a 12 tooth gear
> lets you increase the torque by a factor of five and decrease the speed by
> the same factor (or vice versa), or, ex. here is what a PID controller is
> and did you know you are using something called 'calculus' -- then,
> suddenly, it is my belief they'll enjoy learning it, understand why they'd
> use it, and have their lives enriched because they have developed the
> strength to solve classes of problems that occur in real life.  (Take a
> look at some of the videos I've cited<http://robotclub.ab.ca/articles/51/robotics-resources>as supplementary materials to a presentation I gave, especially this one: Learning
> Science by Doing Science<http://fnoschese.wordpress.com/2012/05/30/my-tedxnyed-session-learning-science-by-doing-science/>
> ).
>
> I mentioned that the best tool for teachings kids to program today is, in
> my opinion, Scratch.  Scratch 1.4 is written in a forked version of Squeak
> 2.8.  (There have been efforts to port it to something more modern, like
> Scat <https://code.google.com/p/scat/>, but methinks that doing that
> would exceed the time constraints of your project).  [Scratch 2, in beta,
> is written in Flash].  BYOB/Snap (v3) is an advanced version of Scratch.
>  (v4 is written in HTML5, but I don't know the specifics).
>
> I learned Squeak so I could hack on Scratch and have developed something
> similar to what I'm advocating here -- Enchanting<http://enchanting.robotclub.ab.ca/>.
>  It lets kids program LEGO Mindstorms NXT robots.  I've been working on it
> in my spare time for 2.5 years or so now.  Even a 10-year old version of
> Squeak is such an awesome language to use.
>
> There are several deficiencies, the most notable of which is that changes
> do not happen in real time -- kids have to go through a compile and upload
> step.  Another thing I've come to realize is it is very hard to
> collaborate simultaneously on a project.
>
> Since I've read "Learnable Programming" and LEGO has announced a successor
> to the NXT robot set, I've been wondering how I'd make it better.
>
> If I was starting from a clean slate and targetting the Raspberry Pi --
> and this is the project I'm recommending -- I'd strongly consider:
>
>    - create a web application (but don't start from zero!) that allows
>    kids to program the Raspberry Pi robot in a Scratch-like manner.
>    - make it so multiple users can edit the same code simultaneously
>    (and, as a stretch goal, allow one kid to code on a project in French while
>    another codes in Japanese, simultaneously)
>    - having some method to share or remix other projects would also be
>    valuable
>    - either run the web server for the web app on the Pi, or in the cloud
>    with Pi being one of the clients
>    - and make sure the Pi can be programmed wirelessly
>    - (it'd also be awesome if there was a way to code in text and have it
>    turned into blocks, but that sounds like scope creep).
>
>
> The environment needs to be live; it needs to let you see what values
> sensors are reporting, and change the program while it is running -- it
> needs to be a lot like Squeak! -- and, for added awesomeness, implement as
> many of the tenets of "Learnable Programming" as possible in the time
> allotted.
>
> You may be able to use Seaside or Amber to do this.  I know I'd be itching
> to try meteor-js <http://meteor.com/>, but, it is, unfortunately, not
> Smalltalk.
>
> It is worth mentioning that Lady Ada has developed a custom OS for the Pi
> that allows you to program it from another computer; the Pi runs an
> embedded web server (and I think it is running python, but I haven't looked
> into it).  [Raspberry Pi WebIDE<http://www.adafruit.com/blog/category/adafruit-learning-system/webide/>
> ]
>
> There are several projects to use the Pi for robotics platforms, I
> believe.  I haven't looked into them in depth and don't have links handy.
>  There is a robotics subforum<http://www.raspberrypi.org/phpBB3/viewforum.php?f=37>at the Raspberry Pi site.  I'm mildly interested in having something that
> lets you build a chasis out of lego -- take a look at MAKE: Lego and
> Arduino Projects <http://shop.oreilly.com/product/0636920024316.do>.  If
> you are to pursue a project like this, I'd recommend finding one design or
> project and supporting it well, allowing users to specify what sort of
> sensors and attachments they have on their robot, and where (and don't try
> to be all things to all people!)
>
> There are many projects similar to a Scratch, some in a broswer, others
> not.
>
> I believe these ones are open source:
>
>    - eToys <http://www.squeakland.org/> and Physical eToys<http://tecnodacta.com.ar/gira/projects/physical-etoys/>
>    - App Inventor <http://appinventor.mit.edu/>
>    - Google Blockly <https://code.google.com/p/blockly/?redir=1>
>    - Alice <http://www.alice.org/index.php>
>    - Snap <http://snap.berkeley.edu/>
>    - Open Blocks <http://education.mit.edu/openblocks>
>    - MiniBloq <http://minibloq/>
>
> and that these ones are not:
>
>    - 12Blocks <http://onerobot.org/products/12blocks/>
>    - ModKit <http://www.modk.it/>
>    - Scratch for Arduino <http://seaside.citilab.eu/scratch/arduino>
>    - PicoBlocks <http://www.picocricket.com/download.html> (for use with
>    PicoCricket robots)
>    - stencyl <http://www.stencyl.com/>
>
> Good heavens.  There is a whole Wikipedia page on Visual Programming
> Languages <http://en.wikipedia.org/wiki/Visual_programming_language>.
>
> That's my idea.  Allow kids to learn by doing something "real", making use
> of a powerful and affordable brain for robots, and make programming
> enjoyable and learnable for all!
>
> Cheers,
> Clinton Blackmore
> _______________________________________________
> Beginners mailing list
> Beginners at lists.squeakfoundation.org
> http://lists.squeakfoundation.org/mailman/listinfo/beginners
>
>


-- 
Casey Ransberger
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/beginners/attachments/20130308/95848075/attachment.htm


More information about the Beginners mailing list