The TigerJython IDE

TigerJython is an easy-to-use IDE (Integrated Development Environment) for Python programming. It is aimed at beginners in programming, and has been extensively tested and used in classrooms.
It is freely available and runs on the Java platform (JRE), using Jython as its backend.

While I am responsible for the TigerJython IDE and its enhanced Python parser, TigerJython has been an intensive collaboration with Aegidius Plüss and Jarka Arnold, who not only wrote several tutorials, but have also provided a rich set of libraries for graphics and robotics.

I have also worked closely with Prof. Bill Manaris in order to create JEM, and much of this experience has also influenced TigerJython itself. Prof. Manaris was also one of the supervisors of my PhD thesis.

Download the latest version or try it out online.  More information on TigerJython can be found on the project page, or on the page of TJ-Group (the non-profit association responsible for maintenance of TigerJython).

TigerJython is by no means a closed project, but work on it continues. In the spring of 2018, Prof. Juraj Hromkovic and I have published a textbook on Python programming (using TigerJython) with Klett and Balmer publishers. We also had the opportunity to present TigerJython to the Swiss government in early 2018. In September 2018, the TigerJython team has been awarded the annual STEM Prize from ETH Rector Sarah Springman. Nicole Trachsler developed a browser-based version of TigerJython, which is available since early 2019 and is still subject to various ongoing improvements and enhancements.

Design Concepts of the TigerJython IDE

The TigerJython IDE clearly addresses beginners, and students in particular. Accordingly, its design is mostly based on didactical considerations.

  • A simple, easy to use editor. You just run the JAR-file, enter your Python-code and hit the run-button. There is deliberately no support for projects or workspaces. TigerJython is made for programming novices and not for professionals.
  • Clear and helpful error messages. A major component of the TigerJython IDE is an enhanced Python parser, which issues preciser error messages than other Python implementations. The design of the Python parser has been part of my PhD thesis. The evaluation of the parser, the error messages are part of active research: we are in the process of collecting erroneous Python programs and the error messages, which will then be evaluated.
  • Extensive libraries. TigerJython comes with an extensive set of libraries, ranging from graphics (in particular enhanced Turtle graphics), to support for Raspberry Pi, BBC micro:bit, as well as various robots such as the LEGO EV3. On the other hand, as we are using Jython as the backend, libraries such as NumPy are currently not directly available from within TigerJython.

Books and Tutorials

There are various extensive tutorials, books, and collection of teaching materials available for TigerJython.  A comprehensive list can be found on the website of the TJ Group.

  • The main tutorial maintained by the TigerJython group covers almost every aspect of what is possible in TigerJython.  It is available in German, French, and English. It also contains a small Forum.
  • There are two sleaker alternatives to the main tutorial, both available in German only: Einführung in Jython and TigerJython 4 Kids.
  • My own tutorials are also in German and were written for teaching programming as part of a maths classes in high school (10th grade) as well as for introductory workshops.
  • The German textbook “Einfach Informatik” is an introduction to programming for grades 7 to 9, published by Klett and Balmer.
  • The book “Let’s code Python” is a German book by Hauke Fehr and published by Rheinwerk Verlag.

Projects involving the TigerJython IDE

TigerJython

The original TigerJython team has grown into the association "TJ Group", which maintains the TigerJython distribution and provides a wide range of different tutorials in German, English, and further languages.

Jython Environment for Music (JEM)

JEM is a blend of TigerJython with sophisticated libraries for the creation and processing of music. JEM is maintained and developed by Prof. Bill Manaris of the College of Charleston, SC.

WEKA Data Mining Suite

TigerJython is available as plugin in the Weka data mining suite, a tool for extensive analysis of big data.