Late submission of coursework policy: Late submissions will be processed in accordance with current University regulations which state: “the time period during which a student may submit a piece of work late without authorisation and have the work capped at 40% [50% at PG level] if passed is 14 calendar days. Work submitted unauthorised more than 14 calendar days after the original submission date will receive a mark of 0%. These regulations apply to a student’s first attempt at coursework. Work submitted late without authorisation which constitutes reassessment of a previously failed piece of coursework will always receive a mark of 0%.
Assignment Objectives
To demonstrate your ability and understanding in the following tasks:
1. To design and implement a simple class. 2. To write a test program to create instances of your class and demonstrate its behaviour. 3. To collect output from the test program runs, and comment on it. 4. To conform to Java coding conventions, including documentation style comments. 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:
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 :
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 :
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.
Design, implement, and test ONE of the classes described below or specify your own. The class descriptions are deliberately vague in places. For your chosen class, you should use Javadoc comments to specify its purpose, properties and scope making appropriate assumptions where necessary. Additional note: To receive higher marks, in your test class you should aim to sensibly utilise an ArrayList, an overridden equals method, and the Scanner / PrintWriter for I/O. Classes marked with (60) or (80) are simpler than others and therefore can achieve at best those respective marks. You are strongly advised to attempt a (80) or (100) level class. Your tutor will indicate the level of complexity of any class you specify and you MUST get your tutors permission. You CANNOT use any class that has been discussed or provided to you during this module.