Back

Final Project Report

Guidelines

Due at 11.59pm, Wednesday, December 14th.

There is no late policy for this course!

If you do not complete the report by the deadline, you will receive 0
You will be excused pending discussion with your TA

Overview:

Now that your application has been accepted by the client, you're ready to write a report. Your report should chronical the creation of each object used in your software. Interactions between objects should also be summarized. Given your report, another programmer should be able to recreate the application in a similar fashion without seeing the application. It is important that you use the language of the course and computer science in general to describe each detail of your application so that a fellow programmer may use it as a blueprint. Now that the application is finished, provide some rationale as to whether it was successful or not. Remember to include all details: what worked, what didn't, and what still needs to be done.

Report Requirements:

Your report should meet these requirements:

Include each section, clearly labeled, in your report:

  1. A brief introduction to the application

  2. Features:
    • 2-3 paragraph simple description of ALL features of the application
    • Include EVERYTHING the program can do
    • DO NOT get into details, DO NOT explain HOW things work

  3. Final UML Diagram:
    • Include ALL Classes
    • Follow the UML Example here

  4. Classes:
    • Use snippets for complex sections of a class or algorithm
    • Explain details
    • Explain essential methods
    • DO NOT explain trivial methods (getters / setters / simple methods)

  5. Main Application:
    • How are your objects created, stored, destroyed?
    • How many states are there in your program? (start, play, game over)
    • How are objects iterated?
    • How interactions between objects handled
    (use references to the classes section)

  6. Describe how you met the following requirements:
    • Inheritance
    • Polymorphism via Overridding
    • Method Overloading
    • Objects as Parameters to Methods
    • Objects Declared Within Objects
    (use references to the classes section, example: see the collision method of the ball class)

  7. Summarize the application:
    • What worked?
    • What didn't?
    • What needs to be done?
    • Are you happy with the results?
    • Do you think the client is happy?
    (use references to any previous section)

Submission Requirements:

In your folder called, FIRSTNAME_LASTNAME_LAB_FINAL_PROJECT, include:

Tips and Tricks