Upload
dinhnguyet
View
228
Download
0
Embed Size (px)
Citation preview
A Guide to Dr. Young’s CS331 Project Report Writing
by Dominick Atanasio
Most professors expect a report as part of your project submission
Our major requires physics and other science‐based studies with labs is to expose us to the scientific method
Every project should be undertaken as an experiment The experiment constitutes a majority of the project’s grade
The code itself only represents a small portion of the overall grade
Introduction
The primary source is the project specifications document Do not lose grading points because you did not understand the project’s requirements
Best approach to beginning work on a project Read the project specifications and highlight the requirements Read the specifications again writing the requirements in your
own words Essentially, create your own version of the project specifications
Read the project specifications a third time and compare your version to the professor's
Identifying the Expectations of the Project
If you have any doubt about what you are required to do, talk with a classmate Compare your idea of what is expected with theirs
Speak with the professor during office hours Do not lose points because you do not completely understanding the requirements of the project
Identifying the Expectations of the Project
Before you write a single line of code, create a document to record design notes about your experiment
Record your ideas on how best to test your code for correctness
Record how you will generate test data with an explanation of why you chose the test data that you did
Setting Up Your ExperimentDesign Notes
Document the methods that you plan to use to collect your experimental data
Document how you plan to visually demonstrate the results (graphs and tables) These graphs will help you get a better understanding of the implications of the experiment results as well
Record the strengths and constraints of your experiment’s design
Setting Up Your ExperimentDesign Notes
The resulting data from your experiment must be included in your report.
Make sure to label the table(s) The column or row headings of the data table must display the units of measure
The units can be placed in an outer heading or caption
Data Sets and theCharts that Explain Them
The purpose of charts is to visually depict the implications of the data
Chose a chart or charts that will best present the results Make sure to label the charts No units of measure and/or no legends explaining the
domain and range will cost you points Make sure the lines of the chart are distinguishable from
one another use color use line styles
Data Sets and theCharts that Explain Them
Use a line spacing of 1.5 lines Separate your sections with an extra newline Use bold section titles Consider how you will partition your report A good method is to create sections that closely follow the
project specs and/or grading cover sheet. Confirms that you are meeting all of the project’s requirements A well‐organized report aides in the grading of the project
The grader can easily check that the project’s requirements are met
Writing the Report
Every section of the report should have a section title. These titles can closely mimic the project requirements or grading sheet
The project specification may include questions that you are required to answer. These questions should be reformatted to act as a section title.
The section that it entitles will contain the answer to the question
Writing the Report
Consider the voice with which you write your report Consider your grammar Break large sentences into smaller less complicated ones
Do not use contractions in your writing (e.g., “that’s”, “I’m”, etc)
Writing the Report
There are three cases of complexity to consider when comparing theoretical or empirical time complexity; best‐case, worst‐case, and average‐case
When you write about an algorithm’s time complexity you need to properly describe it
If you are only consider average time complexity be sure to label it as such
Writing the Report
When discussing the setup of your experiment, be sure to explain why you chose the test data that you used
You may need to explain why using simple values has no effect on the algorithm’s complexity
Explain why you chose certain values for testing the correctness of your implementation yet chose to use other values when running your experiment
Writing the Report
The strengths of your approach deal with efforts that you made to increase the reliability of the experiment’s results or to more efficiently implement an algorithm
Include methods used to make the code more efficient Steps that you took to better isolate each test run Consider the strengths and constraints throughout the lifecycle of the project
Record them while designing the experiment and implementing the code
Strengths and Constraints
Use the project's suggestions for test inputs Consider how those values may reduce the complexity of your
code Include restrictions on the input data as constraints to your
experiment Your equipment or the programming language may pose a constraint to the experiment Do not reduce the number of sample runs to accommodate
more time‐consuming input data This is not a competition to see how large of a value of n your code can handle
Strengths and Constraints
Do not run the tests concurrently Running tests concurrently could result in one test’s resource
consumption disproportionately affecting the runtime of another
If you show off your programming prowess, do it by writing well thought‐out, clean, high‐performance code
Writing a threaded test routine is not a constraint or a strength; it is a mistake
Watching videos or listening to music on the test computer while running tests is not a constraint
Strengths and Constraints
Your attention to detail (the quality of your analysis) will be evident in the size of the sections that you write
Be as detailed as you can when writing Do not leave out even trivial information about the setup and execution of the experiment
You will not bore the grader A good example is the Strengths and Constraints section: at a minimum it should consume half of a page
Section‐size Requirements
When portraying your dataset, and the charts that describe it, use as much space as you need to paint an understandable and accurate picture of your findings
When comparing algorithms or theories, spend some time trying to fully understand the implications of your experiment’s results before you begin writing; then, do not leave anything to the imagination when expressing your conclusions These comparison sections should consume at least half of a
page each
Section‐size Requirements
Charts can each consume an entire page if it aides in viewing the chart’s detail
Section‐size Requirements
The inclusion of your code part of your report Well written code can be self‐commenting Do not include comments if its purpose is obvious Avoid using comments altogether if close consideration is given to variable and method names
Observe the best practices of software design If you feel that you need to include comments, then make sure they are succinct and to the point
Your Code
Expect that the grader will have to read the hard copy
Format your code to minimize the amount of line‐wrapping
Reduce the size of the indents Print your code in landscape
Submitting Your CodeHard Copy
You are responsible for doing your own work and for insuring that your work is protected from copying Usually the originator and copier of the work will receive
zero points (or maybe worse) Share pseudocode and ideas, nothing else If you find Internet source, only use as an instructional, do not copy and paste it
Academic Integrity
Questions?
Dominick [email protected]
Thank You