Final Project Report
Due at 11.59pm, Wednesday, December 14th.
- You will be graded on the language, clarity, organization and vocabulary of your report
- All reports are individual
- Submit to WebCT before the deadline
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
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.
Your report should meet these requirements:
- Use the language of the course:
- Every detail about an object should be described using the correct terms
- Double check that you are using the right terms and syntax
- Is the description semantically correct? (does it make sense)
- Code snippets for complex portions
- Comment each line you will refer to in your description
- Make sure the description is clear given the code sample
- A code snippet says a lot, but it's NOT a replacement for summary
- PROPER english (check with a friend if necessary)
Include each section, clearly labeled, in your report:
- A brief introduction to the application
- 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
- Final UML Diagram:
- Include ALL Classes
- Follow the UML Example here
- Use snippets for complex sections of a class or algorithm
- Explain details
- Explain essential methods
- DO NOT explain trivial methods (getters / setters / simple methods)
- Main Application:
(use references to the classes section)
- 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
- Describe how you met the following requirements:
(use references to the classes section, example: see the collision method of the ball class)
- Polymorphism via Overridding
- Method Overloading
- Objects as Parameters to Methods
- Objects Declared Within Objects
- Summarize the application:
(use references to any previous section)
- What worked?
- What didn't?
- What needs to be done?
- Are you happy with the results?
- Do you think the client is happy?
In your folder called, FIRSTNAME_LASTNAME_LAB_FINAL_PROJECT, include:
- A Word version of your final report
- A PDF version of your final report
Tips and Tricks
- DO NOT WAIT UNTIL THE LAST MINUTE
- FOLLOW THE TEMPLATE ABOVE EXACTLY
- USE THE TERMS PAGE ON THE COURSE WEBSITE
- DESCRIBE EVERYTHING IN DETAIL
- IF WE CAN'T UNDERSTAND IT, THERE'S TROUBLE...