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.

There is also a Beyond Monty Karel Volume


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.


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 (PDF)

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.

Python Hints and Caveats

Install Python and Monty Karel into Eclipse

Code from the Monty Karel Book

Last Updated:August 28, 2023

Back to Joseph Bergin's Home Page.