AI PROGRAMMING I AND II MARK SHEET Name/Number of student:...................................................... Year:................ First Examiner Mark........ Second Examiner Mark........ Agreed Mark........ Assessment mode: programming project CRITERIA COMMENTS The programming project comprises both a program and report describing the program and its performance. The focus of the assessment is primarily aimed at determining how well a candidate has learned the basic features of the programming language and is able to apply them to a particular problem. The difficulty and novelty of the programming task is clearly relevant here. The quality of code and level of understanding and ability it demonstrates is used to determine the baseline mark for the project. The quality of the report may then either enhance or detract from this basic appraisal. 1. Program 70% and above: code that executes efficiently, incorporates sophisticated programming features, is non-redundant, well-structured, properly commented and elegant, addresses the problem effectively for a non-trivial application. 60% - 69%: code that executes, incorporates some complex data manipulations (such as recursive list-processing), is relatively well-designed and presented (eg separated into modules, commented), addresses a reasonably non-trivial problem. 50% - 59%: code that executes, incorporates AI language features (such as fact and rule clauses or pattern matching comparisons) and simple datastructure manipulations, and addresses a simple problem. 40% - 49%: code that largely executes but is based on the simplest language features e.g. derived from exercise, lecture or textbook examples or minimally adjusts a program from a textbook or other source (e.g. a teach file). 39% and below: code that does not execute, or demonstrates a lack of knowledge of basic prolog syntax, or is not coherent in terms of the problem being addressed or the methods to be employed in doing this. 2. Project report Marks are allocated in general for overall quality of writing, structuring of the report and presentation. Specifically, the report should (i) introduce the topic of the program and motivate it (ii) provide any key background information to the domain of application (eg chess) or specific techniques employed (eg expert systems) (iii) provide an example of interaction with the system to demonstrate input and output, perhaps with screenshots where a GUI is employed (iv) describe at a high level the major system components, referring where appropriate to design decisions and how these influenced the choice of problem solving methods, representation of stored information, interactive components. (v) describe how the program works, preferably using at least one worked example. (vi) evaluate the program's performance and comment on problems encountered (this may include some user trials/feedback where appropriate, eg for a game playing program) (vii) discuss self-critically what can be learned from the program and possible future developments. The mark allocated to the report will reflect the extent to which aspects of the above are incorporated, and how well they are executed. 3. Appendices Attached to the report should be well-annotated and modularised program code, one or more examples of interaction with the program, possibly a user-guide to running the program.