Due (see your project schedule):
- Privilege Walk Project Assignment Schedule
- RevMetrix Project Assignment Schedule
- YCPHacks Website Project Assignment Schedule
This is a Team assignment.
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
- References
The abstract is a one to 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, database schemas) 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 include a list of major functionality/features that have yet to be implemented. Since these projects are generally span multiple semesters/years, your issue tracker should capture the above functionality/features for future teams. Also mention some possible ways that your system could be extended and improved in the future, beyond the above.
The references section should list the references that you have used throughout the document. You mustplace references in the document wheneer you refer to tools and technologies that you have use, as well as code libraries, sources for important design and technical information, etc.
Throughout the document, use figures, diagrams, tables, screen captures, wire frames, etc where appropriate to help the reader grasp the overall content that you are presenting. Refer back to the appropriate figure/table in your text. A picture is worth at least 1024 (1K) words. Each of the above must have a figure/table number, as well as a title - below each figure. For example: “Figure 1: Overall System Architecture Diagram”. Also, all figure/table numbers should be in sequential order in the document.
NOTE: Your draft report should be ~95% complete, it should only require finishing touches. The draft report is weighted and graded much more heavily than the final version of the report. Also, your draft report is due BEFORE your final presentation - use it to create your final presentation. Pull the diagrams from your draft report into your presentation.
Here are several excellent examples of final technical reports from the Radio Telescope Project from 2022:
CS400: Fall 2022 Radio Telescope teams
- CS400 Fall 2022 RT ControlRoom Team Final Report
- CS400 Fall 2022 RT MobileApp Team Final Report
- CS400 Fall 2022 RT Visualization Team Final Report.
CS402: Spring 2022 Radio Telescope teams (in coordination with ECE402 and ME402 Capstone teams):
- CS402 Spring 2022 RT ControlRoom Team Final Report
- CS402 Spring 2022 RT MobileApp Team Final Report
- CS402 Spring 2022 RT Visualization Team Final Report.
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 team 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 singular. You may use “we”, but since this is a team proposal, it should NOT contain words such as “I”, “me”, etc.
- It should use correct spelling and grammar. Use a spelling checker!
- Feel free to use [ChatGPT](https://chat.openai.com] to assist in organizing and formulating your paper. ChatGPT won’t be able to write the paper for you - you will have to provide it with the content, but you can use ChatGPT to help provide wording, correct tenses and voices, and find errors in spelling, syntax, and grammar.
- 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!
PROOFREAD YOUR REPORT: We reserve the right to return the report unread if there are too many spelling, grammatical, and/or syntactical errors.