The learning outcomes that are assessed by this coursework are:
1. Be able to select appropriate API facilities in the design, implementation and testing of OO applications and applets.
Your Task
You must create a general design for a class. Design, implement, test and document this class. You will need to make some assumptions and design decisions about the class. Ensure the class documentation makes the purpose and constraints of you class clear. You should strive to write your class so that it is potentially useful in other applications.
Submission
Submit four files via Blackboard. Replace <YourClass> with the name of your class:
<YourClass>.java ---source code of your class
<YourClass>Test.java ---test program for your class
output.txt ---output from the test(s) (plain text please)
report.txt ---short reflective report
Add your own observations at the beginning or end of the output files. For example, were the test outcomes as expected?
The report should be about 200-400 words with your reflections about your class, test program and results. You should comment on any assumptions that you made, and where improvements could be made to the design or implementation.
Assessment Criteria - Grade indicators
Pass (50 - 59): You have produced a class with appropriate fields, a constructor, and some modifier and accessor methods. There is a javadoc header describing the class. A test program creates an instance of the class and uses some methods. The code is suitably formatted, syntactically correct, and the test program executes, and output has been recorded.
Merit (60 - 69): Criteria for a Pass have been met. In addition, all standard naming and coding conventions have been met. There has been consideration of class design, which is evidenced by javadoc comments, programmer comments, or the report. There is an appropriate level of documentation throughout the class. All constructors and methods have been used in the test program. The report gives an insight into the design and implementation decisions.
Distinction (70+): Criteria for a Merit have been met. In addition, code style and documentation is to a professional standard. The class design is appropriate for the given scenario. Implementation is (almost) all correct and maintains the integrity of attributes where appropriate. The test program thoroughly exercises the methods and exposes any limitations, in addition to using an ArrayList.