Q. Why Kojo?
A. Kojo is an interactive enviroment that enables kids to learn some very useful skills – computer programming (core literacy for the 21st century), systematic thinking, analytical thinking, creative thinking, and applying math, to name a few. It stimulates their brains in a fun setting, allows them to learn-by-doing at their own pace, and encourages them to do self assessment via meaningful trial and error that is driven by constructive feedback from the environment.
- A low floor: it is very easy to get started with Kojo.
- Wide walls: kids can do a wide range of things in Kojo – drawing, animations, games, storytelling, virtual experiments, interactive lessons, music composition, etc. See the examples included with Kojo, under the 'Samples' and 'Help' menus, to see this in action.
- A high ceiling: kids can do deep things in Kojo in any particular area, right upto university level. Some examples: game development, data visualization, data analytics, physics simulations, artificial intelligence, requirements modelling etc. See this academic paper for a specific example of the use of Kojo in a University setting (search for Kojo within the paper).
- Kojo is a modern computer programming environment, with user-friendly features like Syntax Hightlighting, Code Completion, Code Templates, Visual Palette, and Online Help.
- Kojo is theoretically very rich, with deep support for both object-oriented and functional programming, the two dominant programming paradigms in use today.
- Kojo is very practical. It runs on the Java platform, which is available in over a billion devices on Earth. The programming language used within Kojo (Scala) commands some of the highest salaries in the software engineering profession around the world. So all the work that kids put into Kojo has very practical benefits, in addition to all the rich learning benefits.
All of that is about the computer programming part of Kojo. Kojo has two more parts!
- A Virtual Lab for maths, which allows kids to experiment with Geometry and Algebra.
- An interactive lessons facility for children, which builds upon the Programming and Virtual Lab capability. These lessons (which are Kojo stories) are designed to teach theory fundamentals and then provide unlimited practice on the topic being covered.
Finally, Kojo is free, open-source, and non-properietory.
Q. Why Kojo instead of X?
A. For one or more of the reasons above. Is X interactive? Is it easy to get started with X? Does X let kids do a wide range of activities? Can they keep working with X when they are at a University? Is X easy to work with? What does it take to apply the knowledge gained in X outside of X? Is X free? Is X open-source?
Q. How does Kojo help with Math?
A. In many ways:
- By teaching kids computer programming, which is arguably similar to math at an abstract level, but easier for kids to relate to.
- By getting kids to practice systematic thinking, analytical thinking, creative thinking, inductive thinking, and deductive thinking - via computer programming. This stimulates the brain and increases mental capability - and the receptivity to mathematical ideas.
- By getting kids to apply math in their computer programs.
- By getting kids to interact with lessons designed to teach specific Math topics (this is currently under development).
- By getting kids to write Math stories of their own.
Q. If Kojo is so good at Math, why teach it in a computer class? Why not use it directly in a math class?
A1. The idea is that we that we prepare the child's mind for better grasping of mathematical concepts via computer programming, as explained in the previous answer. This is best done in a computer class. In due course, as more Kojo math lessons become available, they can be used directly in a math class.
A2. Kojo is also very good at teaching computer programming, which has many many benefits, and is best done in a computer class.
Q. What does Kojo mean
A. Kojo is a Dojo for Knowledge. A Dojo is 'a place of the way' - a place of practice for a martial art.
Q. What are the programming capabilities available within Kojo?
A. The following:
- Turtle graphics (command oriented drawing).
- Pictures (functional drawing).
- Sprites (bitmap graphics) (most other graphics within Kojo is vector graphics).
- Staging (2D Graphics).
- Mathworld (Math oriented programming).
- Music composition.
- MP3 music playing.
- The standard Java API.
- The standard Scala API.
All of the above is built-in. You can also plug in anything ever written in Java or Scala that is available to you (for example via open-source).