My son (11-12 yrs) wants to learn Smalltalk
No merits, no syllabus, no recommendations - just fate (he sees me battling it and he did a bit of LOGO) 1. I have a copy of Dolphin4 PRO 2. I am not proficient in ST at all (but otherwise a seasoned programmer) How to go about it or to abandon it ? Regards Sanjay Minni |
> How to go about it or to abandon it ?
Definitely don't abandon it. I would be pretty confident in saying he will have more success programming with Smalltalk than just about any other language you could possibly throw at him. You could try and get him onto the Squeak etoy stuff (worlds of squeak etc) and as he learns some of the environment have him try and map some of it back into the Dolphin env... But I can't see why any of the ways the average person may learn Smalltalk (by sitting down and just playing breaking changing) should be any different for a kid/teenager? |
> How to go about it or to abandon it ?
Definitly give it a try. My son ( now 10 years old ) played with Smalltalk since he was 5 years old ( a PARTS like enviroment where he could assemble GUI components by wiring them together ). Now he became an important tester for our Development environment ( LSWVST ) and a lot of tools where improved on his demand. Dolphin is interfaces very nicely with Windows which is important when children later want to make something real. As I remember Andy Bower wrote some interface to LEGO Mindstorms for an older version of Dolphin - maybe this is a good start. regards, Frank Lesser, www.lesser-software.com |
In reply to this post by Sanjay Minni-3
"Sanjay Minni" <[hidden email]> wrote in message
news:[hidden email]... > My son (11-12 yrs) wants to learn Smalltalk > No merits, no syllabus, no recommendations > - just fate (he sees me battling it and he did a bit of LOGO) > > 1. I have a copy of Dolphin4 PRO > 2. I am not proficient in ST at all > (but otherwise a seasoned programmer) I have introduced Dolphin to my nephew at that age if I recall correctly. I think playground example can be nice place to start. Then dolphin interface to that windows animated characters I forgot their name, but you can iussue them some basic commands like speak, wave, sit etc .., gave him so much fun. But concept of classes is bit hard to grasp at that age I think, so it will be mostly playing in workspace with basic sequences, ifs and loops. rush -- http://www.templatetamer.com/ |
In reply to this post by Sanjay Minni-3
Sanjay Minni wrote:
> My son (11-12 yrs) wants to learn Smalltalk > No merits, no syllabus, no recommendations > - just fate (he sees me battling it and he did a bit of LOGO) > > 1. I have a copy of Dolphin4 PRO > 2. I am not proficient in ST at all > (but otherwise a seasoned programmer) > > How to go about it or to abandon it ? Second part first - if you want to abandon it, do it NOW. This stuff is extraordinarily addictive. No? Still interested? Ok - here goes... Imagine that instead of the entire LOGO environment having direct access to the turtle graphics routines, those routines are completely encapsulated in, and known only to, this one thing called 'turtle'. In other words, 'turtle' is an object. You are used to specifying graphics routines something like this: do penDown(). do forward(2). do rotate(90). etc... You tell the system to 'do' a 'procedure', then another, etc. Now, if you had the aforementioned 'turtle' object, you would instead program it thus: turtle penDown. turtle forward: 2. turtle rotate: 90. etc... You send a message to the turtle object, telling it what to do. That's the motivational set up - now for a place to start. Fire up Dolphin, and figure out which of the windows is a 'workspace'. If there isn't one, hunt around in the menus until you find something that sounds like it might create a workspace, and create one. Type this as a line, somewhere in the workspace: 'Sanjay Minni' Now, with the cursor on that line, right click, and select 'inspect it'. You'll get a new window showing you that the object on that line is a string. Dismiss the window. Change that line so it looks like this: 'Sanjay Minni' inspect With the cursor on that line, right click, and select 'evaluate it'. You'll get the same thing as before, because when you evaluate that line, the message 'inspect' gets sent to the receiver (an object), which is a string. The string knows what that message means. When you selected 'inspect it', you caused an #inspect message to be sent to the object on the line; when you selected 'evaluate it' you caused a #compileAndExecuteYourself message to be sent to the object on line. [Note - not really true, but virtually true]. Ok, now change that line to look like this: 'Sanjay Minni' includes: $a Put your cursor on the line, and evaluate it. Hmmmm, nothing happened. Put your cursor on that line again, but this time select 'display it'. The word 'true' will be added to the line. Why? Well, 'display it' really means 'first evaluate it, then print the result'. The code is understood like this: Send the message 'includes: $a' to the string 'Sanjay Minni'. In other words, ask the string whether it includes the character a. { The string responds -- true. } The first time, we said 'evaluate it'. So the message was sent, and responded to. But we couldn't see the response - it was no longer needed for anything and so it was thrown away; i.e. it was garbage, and the garbage collector found it, and got rid of it for us. The second time, we said 'display it'. So the message was sent, and responded to. And the response was printed. After which, it was no longer needed for anything and so it was thrown away. Ok, so you get the idea. You can open up some other windows, to browse the system in various ways. You can learn a lot by doing so. Reading the tutorials on the Dolphin web site will help too. For a little help in translating what you know into Smalltalk form, google for 'Reading Smalltalk'. For help with the 'tone' of the language, find the song "Alice's Restaurant" by Arlo Guthrie. As a final hint as to where you're headed, change that original line to look like this: 'Sanjay Minni' reverse collect: [:ch| ch asUppercase] Put your cursor on that line, and either inspect it, or display it. Have your son explain what happened. Regards, -cstb |
Is there any equivalent to "turtle" in Dolphin
or something interested to get a child started What "interesting" things can be begun with The only thing he likes is games and I thing somewhere he's cooked up the idea that he can write *one* here...eventually... most of the work I do is drab > Imagine that instead of the entire LOGO environment > having direct access to the turtle graphics routines, > those routines are completely encapsulated in, and > known only to, this one thing called 'turtle'. > In other words, 'turtle' is an object. > Sanjay --- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.745 / Virus Database: 497 - Release Date: 27/08/04 |
"Sanjay Minni" <[hidden email]> wrote in message
news:[hidden email]... > Is there any equivalent to "turtle" in Dolphin > or something interested to get a child started > What "interesting" things can be begun with > > The only thing he likes is games and I thing > somewhere he's cooked up the idea that > he can write *one* here...eventually... Take a look at his post from Andy about playing with MS Agents from Smalltalk. It is definitely something a kid will like especially if you download some more charactes (agents) for him to play with. My nephew certanly liked it. http://groups.google.com/groups?q=agent&hl=hr&lr=&ie=UTF-8&group=comp.lang.s malltalk.dolphin&selm=9j95lg%24mfskc%241%40ID-51044.news.dfncis.de&rnum=1 (this url should be in one line unbroken. or seach c.l.s.d for keyword "agent") rush -- http://www.templatetamer.com/ |
In reply to this post by sanjay minni-4
"Sanjay Minni" <[hidden email]> wrote in message
news:[hidden email]... > Is there any equivalent to "turtle" in Dolphin > or something interested to get a child started > What "interesting" things can be begun with Canvas has some simple drawing methods. One could write a Turtle class to draw on a canvas. Here is a quick way to play with a canvas. ================== shell := Shell show. canvas := shell view canvas. canvas erase. canvas moveTo: 10@10. canvas lineTo: 200@200. canvas pen: Pen green. canvas lineFrom: 10@25 to: 150@250. ================== > The only thing he likes is games and I thing > somewhere he's cooked up the idea that > he can write *one* here...eventually... Have a look at my simple space ship game here http://www.mitchellscientific.com/smalltalk/CJDSimpleGame.htm . The Dolphin Smalltalk source code is included. Chris |
Free forum by Nabble | Edit this page |