Jefferson Software

Learning by building

JSCode Education

Version 0.3 JSCode

What does JSCode help us to do?

How does JSCode do all that?

JSCode is a simple XML language for programs. We have tools that use JSCode to edit programs graphically. The statements in the language are blocks that can be connected to other blocks, much like Lego® pieces.

Once you have a program, you can run it various ways. One target you can run your program on is a LEGO® MINDSTORMS™ robot (RCX). You can convert your JSCode program to the language used by the Robotics Invention System 2.0™ (RIS) software that comes in the RIS kit and the RCX will run the program. You can also convert the JSCode program to Java for leJOS or NQC and run using those languages.

You can also run using a simulator. We have tested with the Rossum simulator and with Robocode. This lets you test on your PC before running on your RCX.

We started JSCode from some tools we built to help teach programming. Programming with bricks can be easier to learn that learning by writing using text. JSCode lets you learn a computer language by writing a program visually and then you can see the program in, for example, C or Java. This is a quick way to be introduced to computer languages.

What we have

The major components of JSCode include:
  1. buildBlocks - web pages that create the XML for blocks
  2. generateCode - editor for the blocks created with buildBlocks
  3. archive - JSCode programs and libraries
  4. lib - XSLT that generate programs from JSCode
  5. docs - documentation
  6. examples

We currently build programs by taking the XML from buildBlocks and adding them to the program. When the program is ready, we generate output by running the JSCode program with the XSLT. The generateCode component is still in development, it should be part of the next release.

We are licensing parts of JSCode as open source and realized that JSCode could be useful to people at this stage in it's development.


We set up a project on Logo for educational use of JSCode. That project includes all the components of JSCode but the generateCode component. Our project's name is JSCode Education, look for project jscodee and there we are.

Gary Frederick

last edited Jan 21, 2003