| Kara Home Page | Finite State Machine | Automata Theory |
Kara provides an introduction to programming through finite state machines. Kara's world is a grid of squares on which a small range of objects may be placed while Kara him/herself is a ladybug that moves around the grid and acts on the program's instructions. The program does not include commands in the sense of a high level language such as C or Pascal but rather a series of instructions based on the inputs from the grid and the next state in the program.
Kara's world consists of a grid of squares with a small number of objects that can be placed in them. Kara reacts to the objects in the squares and can be programmed to take a variety of actions. Apart from Kara the world may include tree stumps, toadstools and leaves. The actions that Kara can take are: picking up a leaf, dropping a leaf, moving forward one square and turning either left or right.
When Kara is programmed the programmer can choose one or more states from a list of five supplied. To add a condition from the 'sensor library' the programmer simply double-clicks on the condition or drags it into the Used Sensor window:

The program then evaluates the combinations of conditions dragged into the Used sensors window.
When running the example programs the documentation provides trial environments and finished code:

Click on the 'Show program' bar to load the code into the 'Programming Kara' window.
Look at further problems in the Turing Kara guide: