Monty Karel
A Gentle Introduction to the Art of Dynamic Object-Oriented Programming in Python

This book is now available at 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

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

Instructor's guide, etc are not yet available. Some Python hints/pitfalls/caveats will be provided here to guide instructors.


1 The Robot World

2 Primitive Instructions and Simple Programs

3 Extending the Robot Programming Language

4 Polymorphism

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 Thanks.

Here is the complete Table of Contents of the book as printed.

This is a work in progress.

Full Table of Contents

Python Hints and Caveats

Install Python and Monty Karel into Eclipse

Last Updated:December 8, 2014

Back to Joseph Bergin's Home Page.