Assigned Date: Thursday, Apr. 19, 2012
Due Date: Thursday, Apr. 26, 2012
Due Time: 8:00am
Last modified on April 20, 2012, at 08:31 PM (see updates)
This is a pair-programming assignment (i.e., you may work with one partner). You may discuss the assignment only with your partner or the instructor/grader.
This assignment's objectives are:
- To understand knowledge representation schemes and related issues.
- To gain experience in programming with a programming language used in AI applications.
- To develop working knowledge, in terms of understanding the theory and being able to design/implement working applications, of at least one AI area.
- To develop and apply knowledge on State Space Search.
- To understand the important of developing an effective representation of state.
- To learn different search strategies and select the most effective for a given problem.
- To evaluate via simulation different search strategies.
- To develop an understanding of AIís impact on today's society.
- To explore AI techniques used in computer games.
- To explore AI techniques used in real-life robotics applications (e.g., nuclear disaster assessment and recovery, automobile navigation, etc.)
Reuse code from previous OpenNERO assignments to create a (fun) computer game.
- There should be at least two players - human vs. computer.
- The score of each player consists of how many crumbs the player consumed. The game should output the final score (at least).
- See Documentation instructions from previous assignments.
Submit your assignment on OAKS by the due date. Your submission must include:
- A Resources.zip file. This will contain all your files for this assignment. Hint: I should be able to unzip this, place it in my OpenNERO folder, and run your work (without any changes on my part).
- A README.txt file, which describes your experience (the nature of your game, which computer agent you chose to use (and why), what changes you made (specifically), what you learned, any ideas you have, anything that caused you difficulty). Make this easy to read and to the point. Avoid verboseness.
Your grade will be based on the elegance of your design, the quality of your documentation, and the accuracy and simplicity of your implementation. Also, on how well you followed the above instructions. Aim for simplicity and elegance. Design, design, design... before you implement.
- Cooper, D. and Clancy, M. (1985) "Oh! Pascal", 2nd ed., W.W. Norton & Company, New York, p. 42.
"Any amount of work can be done in any amount of time... only the quality varies." ~Joao Meidanis