Kojo is an open source App that runs on Linux, Windows, and Mac. It is a Learning Environment – where youngsters (from ages 8 to 80!) play, create, and learn:

  • They play with Scala programs.
  • They create drawings, animations, games, and Arduino based intelligent circuits (with appropriate additional hardware).
  • And they learn:
    • Logical, Critical, and Creative thinking
    • Computer programming and Computing
    • Problem solving
    • Math and Physics
    • Game development
    • Electronics and Robotics
    • Artificial intelligence and data science
    • Emotional grit
    • Collaboration (via pair programming)
    • And a lot more...
  • Very importantly, they also learn how to learn with understanding – given the opportunity to apply learned ideas to many different situations, and the exploration, discovery, and creation involved in this process.
All of this fosters in them a mindset of experimentation, innovation, self-reliance, growth, mental discipline, and teamwork – with Kojo as the enabler.

To get going with Kojo:

  • Download and Install it.
  • Download the Explorations with Kojo ebook, and read pages 8, 9, and 14 to get familiar with the Kojo user-interface and workflow. Feel free to read more of the book for deeper learning and fun, of course.
  • Work through the Getting started activity book (appropriate for ages 8 and older).
  • Work through the Intro to programming activity book (appropriate for ages 10 and older).


Kojo includes the following features to support its learning goals:

  • A productive, fun, and friendly graphical environment – where computer programming is used to explore and play with Math, Art, Music, Animations, and Games.
  • A point-and-click visual programming facility to make it easy to get started, with full support for text based programming for more advanced usage.
  • Turtle graphics, for an intuitive beginning.
  • Program Tracing to help understand how programs work.
  • Pictures, which take turtle graphics to the next level, to create rich shapes that can be used in animations and games.
  • Support for physical computing based on the Arduino and the Raspberry Pi - via the kojo-arduino project.
  • Support for artificial intelligence and data science - via the kojo-ai project.
  • Stories, to author creative works – using programs, text, images, sound, and music.
  • Support for the composition and playing of computer generated music, and for MP3 music playback.
  • A virtual Math Lab (based on Geogebra) with good support for both Algebra and Geometry.
  • An Arithmic Aerobics area that helps children practice and build up their math calculation skills.
  • Powerful support (based on Stories) for authoring rich, interactive learning material.
  • A modern, powerful, programming language called Scala to work with. You begin with a very small and simple subset of Scala, and progress to the level of Scala proficiency that you care to reach.
  • Features like syntax highlighting, code completion, and code templates to make programming friendlier.
  • Interactive Program Manipulation using the mouse and keyboard to facilitate exploration and discovery.
  • Multi-language capability. English, Swedish, French, Polish, Dutch, Esperanto, German, Hindi, Russian, Italian, and Croatian are supported, with more to follow.

Kojo is also a useful tool for Scala programming in general, as it provides a powerful REPL for Scala – with the following features:

  • Syntax Highlighting
  • Code completion
  • Worksheet support in the script editor (for inline viewing of expression results)
  • Program Tracing
  • Searchable script history
  • AST Browsing
  • Saving/Loading of scripts
  • Customizable Classpath – to enable experimentation with any Scala or Java class-library
  • Other bells and whistles

Kojo is open source software, and is available under the GNU General Public License.

Kojo can be freely downloaded from The Kojo download page