Requirements for all Simulation Programming Challenges

What I want is for you to attain a sense of entitlement, a sense of ownership, mastery and control
over what the computer can do for you by continually improving your skills in
coding, experimenting with and evaluating simulations.


You can do this by:
Enhancing the functionality or visualization of the application with suggestions in code or pseudocode.
Exporing the range of behaviors it explains - the spaces of possible and impossible consequences.
Experimenting with its behavior under specific different configurations and conditions.
Evaluating its strengths and weaknesses relative to other competing forms of representation.
Enjoying worlds which are only limited by your imagination.


When you beging to think about some Human Complex System, ideas bubble up in your mind in some sort of mental model or cognitive representation.
To get a better grasp on that idea you try to articulate it in natural language.
If you are an artist, you may try to express it as performance, music, or imagery.
If you are a humanist, you may try to express it as an essay, literature or poem.
As a scientist, you may try to espress it mathematically, diagrammatically, or as a physical or simulated model.
Think about all these different ways of re-presentating (representating) your ideas as you
express them in intervening media (pseudocode) on your way to writing valid code.

Code - is the valid "source code" that can be understood by a computer.
Pseudocode - is an intermediate step between natural language and valid code.


All of the following inside a clear sheet protector.

Please be prepared to demonstrate your work in class...


Your name, challenge number and title clearly at the top.

A color screen shot highlighting the most impressive aspect of your work.

A brief executive summary of everything that you have done.

Elaborate on your executive summary.

Explore - Thoroughly familiarize yourself with the application. Briefly review how the simulation works.
Enhance - Improve the visualization and modify (tweak) the multiagent code. Explain, in full, what you have done, and why.
Experiment - Document the behavior of the simulation and your modifications (tweaks) to it (alternative "what-if" scenarios) in color screen shots and describe your observations.
Enjoy - Be creative! Some things will work; some won't.
Tell me what you've done using conventional forms of explanation and analyses. Include your pseudocode, valid code as printouts and screen shots and tables to illustrate your work.


A CD-ROM containing your complete project folder, labelled in ink with your name and challenge number and placed within its own protective sleeve.

A printout of the code blocks that you have created, modified and changed. Mark these clearly with comments:
// i wrote this
Please don't print out code that you didn't write.