Honours project (JAKE)

JAKE (“Java Karel with Events”) is a new teaching tool that uses Karel-like robot metaphors and a new, simpler, event model to teach objects-first programming with Java. JAKE is part of my honours work for my BSc.

In November 2010, I was awarded The Microsoft Award for the Most Imaginative Computing Honours Project 2009-2010, as a result of my work on JAKE at Glasgow Caledonian University.

JAKE’s robots are similar to those Pattis used in the 1980s, and those later reintroduced byBecker in 2006. Whilst Pattis’s model used structured programming in Pascal, JAKE is fully object-oriented. The JAKE architecture is based on the following diagram (as shown to the student at run-time):

The robot metaphor provides a ready-made framework for inheritance, and additional classes can easily be added by the student programmer. The main use for inheritance in JAKE is to extend the Mover or Robot classes to create “Ghosts”, specialised robots, or even other types of moveable characters. Of course, you can also extend beepers and walls if you really want to!

The JAKE class package is designed to be used in the special JAKE editor, but it can be imported into any Java program and used in NetBeans, TextPad or any other editor. One of the advantages of the JAKE editor is that it includes specific support for designing and laying-out World scenarios.

You can see some videos of JAKE here.

You can click to see all blog posts related to JAKE.

These excerpts are examples of work done for JAKE:

  • Project proposal - excerpt (78%) (Archived 2010)
  • Interim report - sample chapter
  • Poster, presented internally
  • Final report, 1st class honours
Another example can be found on the research page or publications.