square-spiral2.png

Kojo is an open source learning environment that is available as a desktop-app for Linux, Windows, and Mac, and as a web-app that runs on any modern internet-browser.

Inside Kojo, 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.

   

For more information on how computer programming is a powerful learning enabler, especially in the context of Kojo, take a look at - Why learn to program? Why Kojo?

To get going with Kojo:

tree.png

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.
rangoli.png

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

triangle-angles.png
sine.png