At the blackboard University of Washington Computer Science & Engineering
 CSE 473: Artificial Intelligence I
  CSE Home   About Us    Search    Contact Info 

 Home
 Schedule
 Assignments
 Team Info
 Abalone Tournament

 Mail archiveCSE only
 Anonymous feedbackCSE only
   

Instructions for turning in the programming part of PS 2

What to turn in

  • Hardcopy: a tree-friendly (two pages of code per side, double sided) and well-formatted printout only of the essential components of your program (files containing the data representation, the successor function, the goal test, the static evaluation function and the alpha-beta algorithm but not the GUI, the intereaction with the user, etc). Please, highlight the parts of the code I should look at! It makes a huge difference...
  • Softcopy: using turnin (instructions below), submit the following:
    • All your source files
    • An executable jar file that I can just run and play with, without any further instructions. Yes, I will attempt to play against all of your programs! Below you will find instructions on how to create executable jar files.

Code grading criteria

First and foremost, I will check your alpha-beta for correctness but I assume that all of you will get it right. I reserve the right to take points away for particularly bad programming style. I do understand, however, that in an attempt to improve the performance of your code you may end up inlining methods, violating abstractions, etc. Make sure to motivate any grave ugliness you commit.

How to use turnin

To turn in your assignment, execute the following command on attu:

turnin -c cse473 yourGame.jar sourcefile1.java sorucefile2.java
or, of course
turnin -c cse473 yourGame.jar sourceBundle.tar (or .zip or .gz)

The file names will depend on your project, of course. The above command will cause all of the submitted files to get tarred together and compressed and submitted for grading. You can re-sbumit as many times as you want, but each time youre previous submission will be erased.

Creating an executable .jar file

It's easy. First, create a manifest file (you can give it any name you want but I will assume it is called manifest) that will tell the system what class should be executed. The manifest for the 8-puzzle code base would look as follows:

Manifest-Version: 1.2
Main-Class: eightPuzzle.EightPuzzle

Then execute the jar command, which would look like this for the 8-puzzle code:

jar cvfm ep.jar manifest eightPuzzle/*.class

This results in the ep.jar file being created. If you now type:

java -jar ep.jar

the eightPuzzle.EightPuzzle.main() method will be called.


CSE logo Computer Science & Engineering
University of Washington
Box 352350
Seattle, WA  98195-2350
(206) 543-1695 voice, (206) 543-2969 FAX
[comments to Krzysztof Gajos]