Overview
This assignment provides practical experience developing a Java project based on a supplied specification. The specification is provided in the form of JavaDocs, which describe the
classes and interfaces that your program must implement. Additionally, you must write JUnit tests for a subset of these classes.1 You will be evaluated on your ability to;
❼ implement a program that complies with the specification,
❼ write JUnit tests that can identify errors in class implementations,
❼ and write code that conforms to the style conventions of the course.
Task
Spreadsheet applications are powerful tools that combine data and formulae to perform calculations. In this assignment, you will be implementing SheeP (Sheet Processor), a spread
sheet application. SheeP is similar to Microsoft Excel or Google Sheets, it consists of a grid of cells each of which contains either data or a formula. The formulae can reference other cells in the grid to use their values. Formulae are evaluated to produce a value for the cell. A cell is updated whenever the data or formulae in any cell it references changes.
Common Mistakes
Please carefully read Appendix A. It outlines common and critical mistakes which you must avoid to prevent a loss of marks. If at any point you are even slightly unsure, please check as soon as possible with course staff.
Plagiarism
All work on this assignment is to be your own individual work. Code supplied by course staff (from this semester) is acceptable, but must be clearly acknowledged. Code generated
by third-party tools is also acceptable, but must also be clearly acknowledged, see Generative Artificial Intelligence below. You must be familiar with the school policy on plagiarism:
https://uq.mu/rl553
If you have questions about what is acceptable, please ask course staff.
Generative Artificial Intelligence You are strongly encouraged to not use generative artificial intelligence (AI) tools to develop your assignment. This is a learning exercise and you will harm
your learning if you use AI tools inappropriately. Remember, you will be required to write code, by hand, in the final exam. If you do use AI tools, you must clearly acknowledge this in your
submission. See Appendix C for details on how to acknowledge the use of generative AI tools.
Even if acknowledged, you will need to be able to explain any code you submit.
Interviews
In order to maintain assessment integrity and in accordance with section 5.4 of the course profile, you may be asked by the course coordinator via email to attend an interview to evaluate genuine authorship your assignment. Please refer to the course profile for further details.
my wechat:_0206girl
Don't hesitate to contact me