New Kojo Release (2.1, 020513)

May 3, 2013

I’m pleased to announce a new release of Kojo.

The release introduces the Kojo Scratchpad, which is an instance of Kojo that you can fire up from within Kojo to do scratch work – without disturbing what you are doing in your main Kojo instance. A Kojo Scratchpad has all the functionality of Kojo except for one thing – it does not save a history of the work you do within it; work history is available within a session, but disappears as soon as you shut down the Scratchpad. You can work with files as usual within a Scratchpad.

You can fire up a Scratchpad from the File menu.

As always, the new version is available from the Kojo Download Page.

Enjoy!


New Kojo Release (2.1, 180413)

April 20, 2013

I’m pleased to announce a new release of Kojo. Highlights include:

  • A new command – hop(n) – to simplify doing a penUp(), moving forward(n), and then doing a penDown()
  • area and perimeter functions – that calculate the corresponding quantity for the currently drawn figure
  • A scale for measurements (available by right-clicking the Drawing Canvas) to go along with the currently available protractor
  • Much better font support – via a new command: setPenFont(font) and a new function: Font(name, size)

As always, the new version is available from the Kojo Download Page.

Enjoy!


New Kojo Release (2.1, 210313)

March 21, 2013

I’m pleased to announce a new release of Kojo. Highlights include:

  • Upgrade to Scala version 2.10.1.
  • Improved support for multiple turtles and sprites (keep tuned for more information on this).
  • A fair number of multiple turtle samples – under the Samples -> Multiple Turtles menu.
  • Other minor enhancements.

As always, the new version is available from the Kojo Download Page.

Enjoy!


New Kojo Release (2.1, 020313)

March 2, 2013

I’m pleased to announce the first Kojo release in the 2.1 series. Highlights include:

  • Internal code reorganization to have a better foundation for future growth.
  • Many small enhancements.
  • A status bar with the canvas coordinates of the mouse cursor (finally, for 2.x)!
  • Better support for multiple turtles.
  • Support for turtle costumes (so that you can change the image associated with a turtle).
  • Multi-instance support now works over localhost only, so as to not trigger a Windows Firewall warning.

Feedback welcome. As always, the new version is available from the Kojo Download Page.

Note – If you have Kojo 2.0 installed, please uninstall it before installing this version. 

Enjoy!


New Kojo Release (120213), with Worksheet support

February 13, 2013

I’m please to announce a new release of Kojo, with support for Worksheets (this feature is inspired by Worksheets in the Scala Eclipse Plugin).

With this feature, you can run any script in the Script Editor as a Worksheet – to see the type and value of each expression in the script right next to the expression. This makes playing with functions (as opposed to commands) very productive.

kojo-worksheet2

There are a couple of samples (dealing with prime numbers and prime factors) under the Samples -> Arithmetic menu item that show the Worksheet feature in action.

Here are some useful-to-know things about the Worksheet feature:

  • There’s a new Run as Worksheet button to run a script as a worksheet. Hitting Shift-Enter on the keyboard accomplishes the same thing.
  • You can put // #worksheet inside a script to force it to run as a worksheet
  • If you want to run a subset of the code inside the Script Editor as a worksheet, just select the code you want to run and hit Shift-Enter (or press the Run as Worksheet button).
  • The smallest unit of code you can run as a worksheet is a line. If you select a portion of a line and try to run it as a worksheet, the whole line will get evaluated (this is actually quite convenient when you want to run single lines as worksheets – you can just select any single random character on a line instead of the whole line and hit Shift-Enter). Note – for normal (non-worksheet) code running, precisely the selected code gets evaluated, and sub-line selections do not result in the evaluation of the whole line.
  • Beware of forward references in your code. If function1 refers to function2 which is defined later in your script, and you modify function2, function1 will see a stale copy of function2 (from the previous run) the first time you run your code after the modification (because when you run your script as a worksheet, it is evaluated line-by-line). If you run your code again, you should be fine. But this can be confusing, so there’s a new resetInterpreter() command which you can put at the beginning of your script to make Kojo forget previous definitions of functions.
  • (This one’s not specific to the worksheet feature but it’s useful to know anyway) If your code goes into an infinite loop and makes no interruptable calls (to commands like println), you will not be able to stop the runaway code with the Stop button. In cases like this, you have no option but to restart Kojo.

Feedback welcome. As always, the new version is available from the Kojo Download Page.

Enjoy!


New Kojo Release (290113), with support for Visual Programming

January 30, 2013

I’m pleased to announce a new release of Kojo 2.0 with initial support for Visual Programming via an Instruction Palette (you see the Palette on the left in the screenshot below). You can activate the Palette via the Tools menu.

kojo-vis-prog

Here are some of the benefits of the Instruction Palette:

  • You get an easy overview of what’s available for you to try out and play with. This can be a huge help for beginners.
  • You get live help for each available item (you can turn this off with a click if it gets in your way, and turn it back on as needed).
  • You get to program in a mostly point and click way with the mouse, using the keyboard only to specify inputs to commands and functions. This can be a big help for those who are not yet proficient with the keyboard (and even those who are!).

Feedback welcome. As always, the new version is available from the Kojo Download Page.

Enjoy!


First Kojo 2.0 [Desktop] Release (Version 180113)

January 19, 2013

I am pleased to announce the first Desktop release of Kojo 2.0 (a Webstart version of Kojo 2.0 has been available for the past few months).

Highlights of Kojo v2 include:

  • Richer Math via Geogebra 4.2. You can see this in action in the Solving Linear Equations activity (Samples->Math Activitues->Solving Linear Equations)
  • Gaming Improvements:
    • Richer API
    • Support for Fullscreen mode
    • More sample games
  • Good support for text based console oriented programming, with control over console colors, font size, Fullscreen mode, etc.
  • Perspectives – to allow both manual and programmatic access to different Window configurations. The initial set of available perspectives are:
    • Default
    • Story Viewing
    • History Browsing
    • Script Editing
    • Canvas
  • Webstart launching (via Kojo-Webstart), for no-download, no-install, always-up-to-date functioning
  • A 3D Turtle
  • Many small improvements

From a developer perspective, some of the highlights include:

  • Slimmer and more flexible internal architecture – to enable richer functionality in the future
  • Development not tied to any particular IDE. I use Eclipse, but IntelliJ IDEA, Netbeans, and others should also be easy to set up
  • sbt based build process
  • Scala 2.10.0 support

Many thanks to all the contributors. Special thanks to:

  • Björn Regnell – for the Swedish support, for suggesting new features, and for great feedback on all the new features.
  • Jerzy Redlarski – for the 3D Turtle.
  • Mushtaq Ahmed – for refinements to the sbt based build process.
  • Ilango – for work on the installer.

I encourage you to take Kojo v2 out for a spin. If you come across any issues, be sure to report them on the Issues page.

As always, the new version is available from the Kojo Download Page.

Enjoy!


Follow

Get every new post delivered to your Inbox.