Here's a little more information on the subjective portion. The subjective portion makes up 50 of the 200 points for your take home. In order to help you all do a stellar job, here are some questions to ask yourself. Efficiency: Did you make intelligent data structure and algorithm choices? Are there no memory leaks? Do you do completely unnecessary work? Documentation: Do you have appropriate comments, including a file comment? Are your variable and function names meaningful? Do you have a naming convention? Are all unclear parts documented? Do you have useless comments? Organization: Do you use functions appropriately? Are globals used only when necessary? Are data structures used when appropriate? Clarity: Do you have meaningful and consistent indentation? Are expressions clear? Is it clear what every statement in your code does? Are you consistent in your coding style? Writeup: Do you provide a clear picture of what you are doing? Do you discuss any decisions you made and issues that came up? Are all parts of your idea presented clearly? English: Do you have no spelling and grammar errors? The writeup is the file you are also to submit which describes your solution.
Here is a nice command for unix systems that will run and simulate your solution, and log both the output of your solution and the output of the simulator to log files:solution < mapfile | tee solution.log | simulate mapfile | tee simulate.logWhere solution is the executable of your solution, and mapfile is the map you wish to run it on. solution.log will contain the output of your program, and simulate.log will contain the output of the simulation. For example, to test on plain.map:solution < plain.map | tee solution.log | simulate plain.map | tee simulate.log