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.
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:
- Download and Install it, or Run it Online.
- Get going with the Learning Modules.
- Or explore the Kojo Docs website.
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