The Checkpoint exercise consisted of the requirements specified in the document below.

From this document I drew up the algorithm as a flow chart, using draw.io.

I used the following test log to make the application as robust as possible.

I implemented the algorithm in Java using the IntelliJ IDE. Here you can download the Checkpoint exercise project as a ZIP file.
The project was submitted for grading on 12/10/2023 and received a grade of 2.00 (of 2.00). You can view feedback I received below.

With regards to the critical comments in the feedback.
An ini file usually is just for software configuration, menu items are more data oriented. Various other options could have been a ‘.properties’ file, a csv file or even a JSON file.
I chose the .ini file format because it’s a simple file format that I know well. It was straight forward to implement without much code or time overhead. It’s also one of the easiest human editable formats so I feel that it was perfect for this particular project.
E6 is reported as a ‘fail’ but when run it looks like it actually passed, possibly the code was fixed?
This should’ve been clearer, but I re-ran the test as E7 and commented that it had been fixed. I plan to make this type of thing clearer in future, see Documenting changes in java files.

Leave a Reply