Can I introduce this forum to an application called Robocode.
I used this program to give me a “purpose” to learn Java – I was soon addicted.
Essentially you write a program (in Robocode’s case a Java Class that extended a class called Robot) to control a robot/tank in a simple rectangular arena – you control movement back and forth, turn, rotate a turret and radar, fire a bullet etc – you get the idea.
Two or more robots are placed in an arena to battle it out.
The beauty of this application is that:
It is highly visual – think Turtle on steroids.
The Robocode environment takes care of the security aspects of code sharing – The class does not run in isolation – it has to be loaded by Robocode, each robot could write to data files (but only in it’s own data folder and with a strict quota). No access to OS etc. In other words no accidental introduction of malicious code.
Any IDE could be used – you wrote real Java code/classes.
A working robot can be written in only a few lines of code – instant feedback for beginners.
The robot coders have to think about strategy and how to convert that to code - it's imaginative but bounded by the rules of the game.
What could be adopted for education purposes....
Convert / support Python (I’ve not yet looked at Python – but it looks like its flavour of the month).
Allow the robot environment to be controlled by another extended class set by a teacher/community – it doesn’t need to be ‘tanks and bullets’ it could be ‘ants and foraging’, ‘baloons and fans’, ‘mice in a maze’ etc. It doesn't even need to be multi robot.
If the environment in which the robots are placed can be easily changed by changing the ‘Environment’ class - it makes lifting code from the internet no longer productive – plagiarism can be controlled.
Robocode is step based (but does't look like it - each robot had to take a decision quickly) – with identical R-PI’s on a network a fare,real time robot environment could be used with the Teachers System acting as the Main Display on a whiteboard as an Environment Server.
Load Robocode from the Internet and have a look – it’s a free, slick, bit of software. An application like this introduced into ICT on the R-PI would catch their attention - with a different robot environments you could cater for all sorts of different mindsets - from the artist to the budding defence industry developer.