You must write your application using the Processing programming language, which can be downloaded for free from www.processing.org. Versions of Processing are available for Windows, Mac, and Linux; it doesn't matter which platform you use for development.
You may use any resources you like for the challenge (books, Web, etc.), BUT:
Anything you use that isn't entirely your idea or creation MUST be fully cited in your documentation and code. Give credit where credit is due!
All the members of your team MUST be able to fully explain ALL of the algorithms you use in your code. If you borrow things, make sure you know how they work!
Is the design documentation complete and thorough?
Method hierarchy diagram includes all the methods in the program?
Pseudocode and / or flowchart algorithms describing each of the methods in the program?
UML class diagrams describing any non-built-in classes used in the program?
Does the program solve the problem?
How efficiently does it solve the problem?
How elegantly does it solve the problem?
Does the code contain sufficient comments?
Program begins with a comment block describing the program and listing the authors?
Each method has a comment header describing its purpose?