This document describes what we expect to see in the final report for your team project.
Sections
The report should use the following general outline:
- Abstract
- Introduction
- Background
- Design
- Implementation
- Future Work
The abstract is a one or two paragraph synopsis of the problem your system addresses and the major features of your system. It should give the reader a concise summary of what they can expect to read about in the report.
The introduction is similar to the abstract, but with more details. It should describe the problem your system addresses, and why that is an interesting problem.
The background section should describe the problem in more detail. This is a good place to introduce important technical terms and concepts that the reader might not be familiar with. You should have references for any technologies (algorithms, libraries, devices, etc.) used in your system, along with a brief discussion of them.
The design section should contain an overview and a high-level discussion of your overall system design. Additionally, you should have subsections in your design section that discuss each of the main components of your system design (e.g. subsections for your model classes, view classes and controller classes). Be sure to use diagrams (e.g., UML class diagrams) as appropriate. Focus on the most important classes. Discuss the functionality of each class and how it interacts with the rest of the system. DO NOT list and describe each field and each method.
The implementation section should describe the process you used to turn your design into a working system. Talk about interesting technical challenges you encountered, and how you overcame them. You should include all relevant technical information such as database schemas, mathematical formulas, etc. in this section. Use screenshots to illustrate various aspects of your implementation.
The future work section should mention some possible ways that your system could be extended and improved in the future.
Writing Is Important!
The ability to communicate technical information clearly is an extremely important and valuable skill.
We expect your report to be well-written. Specifically:
- It should be well-organized. Topics should be arranged in a logical manner. Use sections and subsections to help with the organization of your document. Each section should include an overview with a brief introduction to the subsections. This overview may also include some information on how the subsections relate to and interact with each other. Specific technical details should be placed in the appropriate subsection. Technical concepts should be introduced before being referenced.
- It should be concise. Try to find the simplest possible way of saying what you want to say. Your document should be complete, i.e. such that a technical person who is not familiar with your project can easily understand what you have done.
- It should be in one voice. Although all team members will be responsible for dividing up the task of writing the report, we expect the ENTIRE TEAM to review and edit the report so that the writing style is consistent throughout. You should have someone read the document aloud to the other group members so the grammar can be more easily fixed.
- It should be be professional. Use appropriate language. You should explain technical terms and acronyms that are specific to your project and not common knowledge. Don’t make it “conversational”, it should not contain the word “you”. Additionally, your document should NOT be written in first person. It should NOT contain words such as “I”, “we”, etc.
- It should use correct spelling and grammar. Use a spelling checker!
- Remember, this document will be posted publicly on the YCP Computer Science web page. It will be visible to the whole world, including future prospective employers and students.
We strongly encourage you to make an appointment and visit the Writing Center in the Center for Teaching and Learning to get help from a writing tutor. Bring your document with you!
We reserve the right to return the report unread if there are too many spelling and grammar errors.