A Gentle Introduction to the Art of Dynamic Object-Oriented Programming in Python
- Joseph Bergin
- Mark Stehlik
- Jim Roberts
- Richard Pattis
This book is now available at Amazon.com. All versions of the book are now updated to Python v3.
The book may have a few flaws. In particular, note that the book is not manufactured to the same high standard that a regular book publisher would use. The result is that they are a bit fragile, but much less expensive. School districts intending them for use over several years may not find them up to their expected standards. They seem fine for individual use if minimal care is taken.
There are a few errors in the printed book. See the Errata Page.
Note on Review Copies:
Review copies are difficult, at best, for me. This is self published and I need to pay money out of pocket to send any review copy. I even need to purchase copies for my own use. I hope you understand. Eventually, we hope this will be picked up by a more permanent publisher. I will consider special needs, of course, but may not be able to help.
If you intend to use the book, I'd like to know about it. Please
send me email at email@example.com.
Software can be downloaded from the Download Page. The software is under development. Consider this version to be trial only - early release. Instructions are in the zip file. Here is some information about the simulator software.
Features of the book
- The book contains the following 8 chapters.
- It is pure Python.
- Robot names are lower cased: karel instead of Karel, keeping
with the Python convention.
- For the most part, the simulator will not be described in the
book. You will be able to find that information here or on the CD.
- You will be able to purchase a CD with the simulator at the above site, but the version here will be the same or more recent. The CD is for convenience of those who desire it only.
- The simulator is not quite ready. At this time the graphic version works only in Jython. The easiest way to use it is to use PyDev and Jython in Eclipse (strongly recommended at this time - will be relaxed in future). All are free on the web. There is also a (Python only) non-graphic simulator available. The API of both of these is identical. The current simulator works on any system that supports both Java and Python.
- The simulator world files are the same format as those of Karel J Robot. They may be read and written and exchanged between the versions.
- The goal is to get this running on the OLPC. The final simulator will be developed in PyGTK to this end.
- The book emphasizes object-oriented and dynamic features of Python. It is, in many ways, similar to Karel J Robot, but also introduces functions as first class objects and mixin inheritance.
Instructor's guide, etc are not yet available. Some Python hints/pitfalls/caveats will be provided here to guide instructors.
3 Extending the Robot Programming Language
5 Conditionally Executing Instructions
6 Instructions That Repeat
7 Advanced Techniques for Robots
8 Concurrent Robot Programs
Note that this version may contain several minor errors. It has not
been through a rigorous editing process. I would appreciate comments
and bug reports sent to me at firstname.lastname@example.org.
Here is the complete Table of Contents of the book as printed.
This is a work in progress.
Full Table of Contents
Last Updated:December 8, 2014
Back to Joseph Bergin's Home Page.