All simulation programming projects must meet these requirements.

  1. Submitted as a .zip or .tar.(Z|gz|bz2) compressed archive.

  2. The archive file submitted must have one of the following in its root (top) directory:

    1. A Makefile compatible with GNU make (this is the standard make on a Linux box)

    2. A Build.sh Bourne (sh) or bash script

      This is a 400 level course in a CS program, I think it is reasonable to expect students to be able to either

      1. develop in a Unix environment
      2. transport a system independent code base1 from Windows or MacOS X to a Unix environment.

      If you need help doing this please let me know, I'm happy to help out. In extreme cases, I could see myself allowing Windows specific sims, but I really don't want to go there...

    In either case, the result of running
    $ make
    or
    $ bash Build.sh

    should be an application named SIM that is your simulator for the assignment. That's all capitals, SIM.

  3. SIM will be invoked with the appropriate command line arguments for the assignment, results required by the assignment should be printed on stdout. Any output line with an assignment required numerical result must have OUTPUT as the first word (token).

  4. All numerical values required by an assignment must have whitespace (which includes beginning of line, end of line) around them.
  5. The order for results is assignment specific and important, they must emanate from the application in the order dictated by the assignment.

  6. Your submitted archive should not contain unnecessary files (.o, .pyc, *.h~, ...)

  7. Files and directories that begin with an underscore are reserved for use by your instructor, TA, or grader.

    1. Your submitted archive file should not have any entries that begin with an underscore.
    2. Your SIM should not use or create files or directories that begin with an underscore.

Example

Suppose a simulation assignment dictates:

Then all of the following outputs would be acceptable:

But this one is not acceptable for two different reasons:

  1. Sims should be pretty OS agnostic (1)