Can EToys Teach Me to Program in Squeak?

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

Can EToys Teach Me to Program in Squeak?

GregSmith
Alan:

My programming aspirations are really very specific in nature.  I  
have been a graphic artist and animator, using primarily the Mac  
platform since 1985.  Mostly, I am trying to find a solution that  
helps a visual learner, like myself, get a grip on the thinking  
required to engineer a graphically based interactive "building  
system", like a Lego set with brains. I'll elaborate in a moment.

I actually have a little exposure to programming going back to  
HyperCard in the early 90's and was actually paid by a local  
university to write a simple and fun stack that taught children the  
base 10 number system.  I can tell you the entire learning process  
was one of the biggest struggles of my computer life.

Whereas, absorbing the necessary knowledge found in complex 3D  
graphic systems is quite quick and easy for me, because there is  
instant visual confirmation of my efforts; trying to understand  
systems by working with textual abstractions which define algorithmic  
processes bounces off my brain and simply falls, lifelessly to the  
floor.  Though I can express myself and understand others using text  
as found in the English language, the abbreviated, strange, math-like  
structure of most "modern" computer languages simply does not make  
sense to me.  Not only so, but I find the experience totally  
unrewarding.  I believe it has to do with not having any visual  
feedback during the process of creation.  Everything is an  
abstraction, like in math.  I've learned, over the years, that my  
mind does not function and learn like the minds of most "programmer  
types".  And I think this is true for most "artist types".

Still, I have some pretty interesting ideas for putting together a  
very entertaining "building system" that could provide hours of  
entertainment, as well as education for children and adults, alike,  
that I would love to create via some kind of programming environment.

Imagine either a 2D grid, isometric grid or a 3D gridded surface that  
is similar to a Lego table top building surface.  It is equipped with  
regular "plug-ins" or snap points just like a Lego system.  Further  
imagine a wonderful set of building parts, each one possessing  
certain, rather simple properties, that,  when snapped "magnetically"  
or with a socket joint, to other similar pieces which possess  
different, interesting properties, more complex behaviors become  
possible.

As an example:  one building piece has the simple ability to rotate  
on the horizontal plane, while another can levitate, hover and move  
any direction on the horizontal plane, while still another has the  
ability to sprout Lego-legs and walk, both horizontally, up "walls"  
and over "ceilings" . . .   still another piece can act as a strong  
magnet, repelling or attracting other certain pieces, and yet another  
piece can levitate, hover and fly from place to place on the  
"board".  Even the board is "alive" and has regions of freedom and  
constraint which need to be discovered . . .  a Lego "terrain".

The user of such a building system would enjoy both the "tactile"  
sensation of working with "real" Lego-like building blocks in  
addition to watching the actions and reactions grow and develop by  
combining different parts together, ultimately creating systems like  
factories that accomplish a "work" task, games that reach certain  
goals, or simulations that demonstrate various physical principles.  
The system would be graphically rich and animated, probably best  
constructed from ray-traced 3D models.

Quite unlimited in potential assemblies, yet only attainable by the  
combining and interaction of the many talented "pieces" as they are  
manipulated by the user through their world.  A "living" Lego set  
that demonstrates encapsulation of behaviors, inheritance and "object  
oriented-like" construction processes, though I really don't  
understand the depth of what you had in mind when you coined the  
phrase.  A more advanced building system or an "add-on" set of  
functions would include a "part" construction set for the creation of  
custom pieces with a wide variety of user defined abilities.

Actually, working with and interacting with this kind of tactile,  
visual system is my idea of what programming should be.  I know I  
would take to a learning system like this as a duck to water.  I  
learn by analogy and constant reference to the "real" world.  I also  
learn by actually "working with my hands", not just my mind.  And  
there is constant feedback that displays results, instantly.  Great  
for kids of all ages!

So, you see, I have an idea for a very complex system which I am  
quite helpless to create using any of the programming tools I have  
ever been exposed to, nor would I really relish the idea of having to  
create such a system using those kinds of abstract tools.  I'm hoping  
that Squeak might offer some hope toward helping me to realize this  
goal.

Sincerely,

Greg Smith

_______________________________________________
Squeakland mailing list
[hidden email]
http://squeakland.org/mailman/listinfo/squeakland
Reply | Threaded
Open this post in threaded view
|

Re: Can EToys Teach Me to Program in Squeak?

Leonel Morgado
Hi Greg,

        I think exploring computer languages oriented at children can be a
great way of starting.
        Unlike one may think, many of them are indeed powerful programming
languages, not just "toy" languages (in the sense of toy shovels or toy
cars).
       
        Squeak can be interesting to you, I think, since it allows you to
initiate by linking visual behaviors with textual properties. However, when
I kept reading on about 2-D and 3-D manipulations and code and Legos, I
couldn't help but suggest that you have a look at the ToonTalk language
(www.toontalk.com), where programming is done entirely by manipulation of
objects (even addition is the action of dropping a number pad on top of
another - then a mouse with a big hammer comes along and bangs them into the
sum).

        I think the best way to start, either with Squeak Etoys or with
ToonTalk, is to have a look at the tutorial samples and try to reproduce
them.

        If your worry is, "can I learn to program with these child-oriented
languages", I say: yes you can. You will find them powerful means. You'll
find the programming you learn to be quite different from that algebraic
format you mention, but if you so endeavour to proceed into it, you can
probably find it easier to grasp after having dealt with related techniques
in a different format.

Inté,

Leonel


-----Original Message-----
Message: 2
Date: Sat, 8 Jul 2006 12:33:29 -0700
From: Greg Smith <[hidden email]>
Subject: [Squeakland] Can EToys Teach Me to Program in Squeak?
To: [hidden email]
Message-ID: <[hidden email]>
Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed

Alan:

My programming aspirations are really very specific in nature.  I  
have been a graphic artist and animator, using primarily the Mac  
platform since 1985.  Mostly, I am trying to find a solution that  
helps a visual learner, like myself, get a grip on the thinking  
required to engineer a graphically based interactive "building  
system", like a Lego set with brains. I'll elaborate in a moment.

I actually have a little exposure to programming going back to  
HyperCard in the early 90's and was actually paid by a local  
university to write a simple and fun stack that taught children the  
base 10 number system.  I can tell you the entire learning process  
was one of the biggest struggles of my computer life.

Whereas, absorbing the necessary knowledge found in complex 3D  
graphic systems is quite quick and easy for me, because there is  
instant visual confirmation of my efforts; trying to understand  
systems by working with textual abstractions which define algorithmic  
processes bounces off my brain and simply falls, lifelessly to the  
floor.  Though I can express myself and understand others using text  
as found in the English language, the abbreviated, strange, math-like  
structure of most "modern" computer languages simply does not make  
sense to me.  Not only so, but I find the experience totally  
unrewarding.  I believe it has to do with not having any visual  
feedback during the process of creation.  Everything is an  
abstraction, like in math.  I've learned, over the years, that my  
mind does not function and learn like the minds of most "programmer  
types".  And I think this is true for most "artist types".

Still, I have some pretty interesting ideas for putting together a  
very entertaining "building system" that could provide hours of  
entertainment, as well as education for children and adults, alike,  
that I would love to create via some kind of programming environment.

Imagine either a 2D grid, isometric grid or a 3D gridded surface that  
is similar to a Lego table top building surface.  It is equipped with  
regular "plug-ins" or snap points just like a Lego system.  Further  
imagine a wonderful set of building parts, each one possessing  
certain, rather simple properties, that,  when snapped "magnetically"  
or with a socket joint, to other similar pieces which possess  
different, interesting properties, more complex behaviors become  
possible.

As an example:  one building piece has the simple ability to rotate  
on the horizontal plane, while another can levitate, hover and move  
any direction on the horizontal plane, while still another has the  
ability to sprout Lego-legs and walk, both horizontally, up "walls"  
and over "ceilings" . . .   still another piece can act as a strong  
magnet, repelling or attracting other certain pieces, and yet another  
piece can levitate, hover and fly from place to place on the  
"board".  Even the board is "alive" and has regions of freedom and  
constraint which need to be discovered . . .  a Lego "terrain".

The user of such a building system would enjoy both the "tactile"  
sensation of working with "real" Lego-like building blocks in  
addition to watching the actions and reactions grow and develop by  
combining different parts together, ultimately creating systems like  
factories that accomplish a "work" task, games that reach certain  
goals, or simulations that demonstrate various physical principles.  
The system would be graphically rich and animated, probably best  
constructed from ray-traced 3D models.

Quite unlimited in potential assemblies, yet only attainable by the  
combining and interaction of the many talented "pieces" as they are  
manipulated by the user through their world.  A "living" Lego set  
that demonstrates encapsulation of behaviors, inheritance and "object  
oriented-like" construction processes, though I really don't  
understand the depth of what you had in mind when you coined the  
phrase.  A more advanced building system or an "add-on" set of  
functions would include a "part" construction set for the creation of  
custom pieces with a wide variety of user defined abilities.

Actually, working with and interacting with this kind of tactile,  
visual system is my idea of what programming should be.  I know I  
would take to a learning system like this as a duck to water.  I  
learn by analogy and constant reference to the "real" world.  I also  
learn by actually "working with my hands", not just my mind.  And  
there is constant feedback that displays results, instantly.  Great  
for kids of all ages!

So, you see, I have an idea for a very complex system which I am  
quite helpless to create using any of the programming tools I have  
ever been exposed to, nor would I really relish the idea of having to  
create such a system using those kinds of abstract tools.  I'm hoping  
that Squeak might offer some hope toward helping me to realize this  
goal.

Sincerely,

Greg Smith


_______________________________________________
Squeakland mailing list
[hidden email]
http://squeakland.org/mailman/listinfo/squeakland
Reply | Threaded
Open this post in threaded view
|

Re: Can EToys Teach Me to Program in Squeak?

Valerie Scarlata
In reply to this post by GregSmith
Greg,

I was new to programming in general when I started using Squeak.
Perhaps Open Croquet, Scratch, and Tweak (other environments Squeak
people are working on, but still have some basis in Squeak) will,
when they mature, be what you are looking for.  If you stick it out
and really try to get into  object oriented programming concepts and
implementation through Squeak / Etoys, you will understand other
environments and languages so much better.

I am a graphic artist as well, and I went to school with lots of other
artists finicky about programming - wanting it to be easy and less
math like, but it takes time.  I stuck it out, even going through
really old Smalltalk tutorials.  Because of Squeak I really do
understand what I'm doing in other languages.

It's true, Squeak isn't pretty and flashy, but it is a really powerful
environment.  It just takes some time and dedication to reap the
benefits of learning how to program through it.  After working with
other languages, sometimes I wish everything was like Squeak / Etoys.
Try modeling something in Java, then do it in Etoys.  You'll wish Java
was Etoys.  I guarantee it.

Valerie Scarlata
_______________________________________________
Squeakland mailing list
[hidden email]
http://squeakland.org/mailman/listinfo/squeakland
Reply | Threaded
Open this post in threaded view
|

Re: Can EToys Teach Me to Program in Squeak?

Offray Vladimir Luna Cárdenas

Hi all,

Talking about Scratch, do anybody know how to get it?. I was yesterday
giving a short talk and small Hands-on workshop about Squeak to the
people of Web Programming and NTICs (New Technologies of Informatics and
Comunitation) in Education here at University and they get really
impressed. They ask me about something like Scratch and I pointed it,
but I had to say I dont know how/where to get/download it.

Cheers,

Offray

Ps: ¿Has anybody read my questions in my previous meal about OLPC and
Squeak? Any response?

Valerie Scarlata escribió:

> Greg,
>
> I was new to programming in general when I started using Squeak.
> Perhaps Open Croquet, Scratch, and Tweak (other environments Squeak
> people are working on, but still have some basis in Squeak) will,
> when they mature, be what you are looking for.  If you stick it out
> and really try to get into  object oriented programming concepts and
> implementation through Squeak / Etoys, you will understand other
> environments and languages so much better.
>
> I am a graphic artist as well, and I went to school with lots of other
> artists finicky about programming - wanting it to be easy and less
> math like, but it takes time.  I stuck it out, even going through
> really old Smalltalk tutorials.  Because of Squeak I really do
> understand what I'm doing in other languages.
>
> It's true, Squeak isn't pretty and flashy, but it is a really powerful
> environment.  It just takes some time and dedication to reap the
> benefits of learning how to program through it.  After working with
> other languages, sometimes I wish everything was like Squeak / Etoys.
> Try modeling something in Java, then do it in Etoys.  You'll wish Java
> was Etoys.  I guarantee it.
>
> Valerie Scarlata
> _______________________________________________
> Squeakland mailing list
> [hidden email]
> http://squeakland.org/mailman/listinfo/squeakland
>
>  



___________________________________

AVISO LEGAL: El presente correo electronico no representa la opinion o el consentimiento oficial de la PONTIFICIA UNIVERSIDAD JAVERIANA. Este mensaje es confidencial y puede contener informacion privilegiada la cual no puede ser usada ni divulgada a personas distintas de su destinatario. Esta prohibida la retencion, grabacion, utilizacion, aprovechamiento o divulgacion con cualquier proposito. Si por error recibe este mensaje, por favor destruya su contenido y avise a su remitente.
En este aviso legal se omiten intencionalmente las tildes.

Este mensaje ha sido revisado por un sistema antivirus, por lo que su contenido esta libre de virus.
This e-mail has been scanned by an antivirus system, so its contents is free of viruses.
_______________________________________________
Squeakland mailing list
[hidden email]
http://squeakland.org/mailman/listinfo/squeakland