"Processing is an open source programming language and environment for people who want to program images, animation, and sound. It is used by students, artists, designers, architects, researchers, and hobbyists for learning, prototyping, and production. It is created to teach fundamentals of computer programming within a visual context and to serve as a software sketchbook and professional production tool. Processing is developed by artists and designers as an alternative to proprietary software tools in the same domain." -http://processing.org/
Processing can be used in conjuction with RoombaComm Java Library to write code for communicating with the Roomba.
Processing can be downloaded from processing.org. At the time of writing