Stephane,
I just purchased your book, which will arrive on Monday, for introducing my almost-9 y.o. daughter Quincy to more formal experience in Squeak than she's had so far. Quincy is an academically accelerated homeschooler who has used computers (with various operating systems) since the age of 1. Quincy has played around with EToys and Croquet but not with any organized sustained curriculum plan, and tends to have high visual excitement and creativity expectations from software. I will try using your Bots, Inc. book, along with BJ Conn/Kim Rose "Powerful Ideas in the Classroom" book as texts for her first "course" in computer science.
We'll let you know how it goes.
Additionally, I'm going to try to incorporate the defunct MathMorphs material into her Math curriculum. I'm wondering whether you know of anyone else who may have a keen interest in reviving that project?
Best Regards,
Ed Boyce
----------------------------------------------------- Ed Boyce Education and Outreach Writer/Editor Coordinator, Visualize Education Virtual Institute Engaging People in CyberInfrastructure (EPIC) Program http://www.eotepic.org
Boston University Center for Computational Science 3 Cummington Street, 5th Floor Boston, Massachusetts 02215
413-245-3997 edboyce@bu.edu ------------------------------------------------------
stéphane ducasse said:
Hi
If you are a parent, an educator or a programmer having kids this is for you! After 4 years of work, my new book "Squeak: Learn programming with Robots" will be out soon
http://www.amazon.com/exec/obidos/tg/detail/-/1590594916/ qid=1117218524/sr=1-1/ref=sr_1_1/002-5642974-5143261?v=glance&s=books
http://smallwiki.unibe.ch/botsinc/ With Bots Inc you will learn how to program robots in an interactive environment. Bots Inc proposes three teaching approaches: direct command of robots, scripting robots and programming robots. The book contains 24 chapters going step by step over topics with a lot of examples. Bots Inc is fun but it is not a toy, it teaches you 100% real programming in Smalltalk: a pure object-oriented programming language that has been copied by Java. Bots Inc is built on top of the rich open-source multimedia Squeak environment that you can also discover.
My goal is to explain key elementary programming concepts (such as loops, abstraction, composition, and conditionals) to novices of all ages. I believe that learning by experimenting and solving problems with fun is central to human knowledge acquisition. Therefore, I have presented programming concepts through simple but not trivial problems such as drawing golden rectangles or simulating animal behavior. The ideal reader I have in mind is an individual who wants to have fun programming. This person may be a teenager or an adult, a schoolteacher, or somebody teaching programming to children in some other organization. Such an individual does not have to be fluent in programming in any language. As a father of two young boys I also wrote this book for all the parents that want to have fun programming with their kids in a powerful interactive environment. Programming in Smalltalk is an interactive, fun but deep experience.
Testimonies
"I am using the version of the book on your web site to teach my oldest daughter Becca some programming. She absolutely loves it. We are doing the Bot graphics right. My other kids are showing interest as well. My Fall semester schedule leaves me with almost no time free but in the Spring I hope to bring Squeak and your book to our elementary school's "gifted" program." C. David Shaffer
"I'm using the Bot Lab environment for three years and found it really valuable in teaching computer science concepts for a young audience (and even less young !). The bots commanded through balloon (as in comic strips) is a very nice introduction for young children, and when this aspect is well understood, you can use the Bot Workspace to teach the notion of script, a first step in programming languages. The Micro Browser allows children to add new behavior for their bots, and have fun with their creation. This three-layers tool
- Balloon, Micro Workspace, Micro Browser - offers to the teacher a
fun way to introduce gently the basis of object-oriented programming concepts. With Bots Inc, learning is playing ! ;-)" Samir Saidani - University of Caen - France
"I recently started a course with 7th-graders (age about 13 years) with Stephane's book --- they love it. They all know about syntactic issues from maths --- in a way they know that an expression in a formal language must be well formed. So they easily grasp the fact such as "there must be a colon after the message-name if an argument follows". Of cause they don't really read the error-messages, they just see "there must be some error" and they remember the simple rules. Don't underestimate Smalltalk --- it's easy understandable because it has a simple and straight-forward design." Klaus Fuller - Germany
Have fun...please distribute
Stef
http://www.iam.unibe.ch/~ducasse/ "if you knew today was your last day on earth, what would you do different? ... especially if, by doing something different, today might not be your last day on earth" Calvin&Hobbes
This is a fairly straightforward refactoring; three methods had an essentially identical procedure for handing events to submorphs. [one condition had to be flipped in #mouseDown]. This doesn't have any performance benefit but it does make it easy to override for fast event dispatch for specialized clients.
But I was hoping to get some ideas to make it better. Right now, its slightly ugly to use a fast binary search dispatcher, because the fast dispatcher has to consider what kind of morph its dealing with and/or get itself uninstalled for regular morphs further down the chain. What I'm getting at is maybe it would be better to delegate the submorph search to Morph; then all the submorph search logic would be in one (or at least no more than a few) place for a given Morph, and the event dispatcher would stay simple and clean. In trying to accelerate things I find its necessary to put the binary search logic in many places and it would indicate a good design if this number was minimal.
Any ideas? I'm not totally sure what I want.
Thanks, Eddie
Thank you for your report. I have transferred your report to Squeak's Mantis Database and you can followup on the issue if desired by going to http://bugs.impara.de/view.php?id=1594
In the future please report new issues on Squeak's Mantis Database at http://bugs.impara.de/ .
Please see http://minnow.cc.gatech.edu/squeak/398 for information on reporting bugs, fixes, or enhancements.
thanks! Larry Trutter
Eddie Cottongim wrote:
This is a fairly straightforward refactoring; three methods had an essentially identical procedure for handing events to submorphs. [one condition had to be flipped in #mouseDown]. This doesn't have any performance benefit but it does make it easy to override for fast event dispatch for specialized clients.
But I was hoping to get some ideas to make it better. Right now, its slightly ugly to use a fast binary search dispatcher, because the fast dispatcher has to consider what kind of morph its dealing with and/or get itself uninstalled for regular morphs further down the chain. What I'm getting at is maybe it would be better to delegate the submorph search to Morph; then all the submorph search logic would be in one (or at least no more than a few) place for a given Morph, and the event dispatcher would stay simple and clean. In trying to accelerate things I find its necessary to put the binary search logic in many places and it would indicate a good design if this number was minimal.
Any ideas? I'm not totally sure what I want.
Thanks, Eddie
squeak-dev@lists.squeakfoundation.org