Squeak: Learn Programming with Robots by St??phane Ducasse
The goal of this book is to explain elementary programming concepts
such as loops, abstractions, composition, and conditionals to novices
of all ages. It teaches the core programming concepts based on simple
problems, involving the manipulation of robots or "turtles" as
frequently seen in school learning environments. The ideal reader wants
to have fun programming. And the reader does not have to be fluent in
any programming language before they pick up this book. The
chapters of this book are relatively small. The idea is that each
chapter can be turned into a one or two hour lab session. This book
creates a path to teach object-oriented programming and promote the
encapsulation of data, but most readers will simply appreciate the
delightful sequence of fun and easy-to-do exercises with a robot/turtle.