Template for CSCI402 Projects Write-up

This document is intended to act as a template for students to assist them in finishing the project writeup. A well-written writeup is helpful for students to summarize their achievements and for graders to evaluate the student's efforts.

As far as the length of the writeup, you need to explain your code in the writeup.  Just using a few words isn't going to get it done.  In addition, remember that this is an advanced class, so you don't need to describe every line of code that you write.  We are interested in what you understand about the theory behind the code you're writing and your level of understanding for the practical problems we assign to use the code you wrote to implement the theory.  So don't be too brief and don't go overboard on what you describe.

Some Basic Writeup Rules                    

1. The writeup must be a plain text file and submitted with your source code together.  No MS word documents.

2. If you fail to finish the development of your code describe what you've got for each part of the project.  You should at least be able to describe your design.

3. Usually there are a number of parts for each assignment, the development of one part may be related to another. You have the freedom to talk about each part separately or together under one section of your writeup.  Whichever way you decide, be sure that you make it clear how you are describing each part.

4. The lines starting with an index number, such as I, II, III, etc., and starting with '+' are section and subsection headings. You must retain these headings in your WRITEUP file, placing your specific writeup description within the headings.

5. The words starting with '-' are instructions about what to put in those section/subsection headings.  Do no include them in the writeup file you submit.

Write-up Template

 Title:  Writeup for Project x, Fall/Spring 200x

 Date:  mm/dd/yy

 Group Num ___ : Name            Email            Student ID

                        ???            ???            ???

                        ???            ???            ???

I. Requirements:

- Describe what's your understanding of the requirements from the assignment statement. With the requirement analysis, you would be clear about what you are supposed to do.

II. Assumptions:

            - Reasonable assumptions you take for your scheme.

III. Design:

- This section is to cover your logic and ideas as to how  you are going to solve the problem presented.  This should include a description of classes, algorithms, etc.

IV. Implementation:

            + Files Modified

            + Files added

            + Data Structures added, and the file they were added to.

            + Data Structures modified, and the file they were added to.

                        -For example,

                                    class Lock                -- in file threads.cc/threads.h

                                    {

                                                //. Modified fields.

                                    }

            + Functions added and in which file.

            + Functions modified and in which file.

V. Testing:  (For each test case, you must show)

            + How to test

- How to run the test cases, the commands, the arguments and so on.

            + Test Output

- Describe the testing output. You don't have to dump all the output info. Just make sure your description can exactly reflect your output.

VI. Discussion:

            + Experiment expectation.  (What you hope will happen.)

            + Experiment result.  (What actually happens.)

            + Explanation

                        - Explain your experiment result.

VII. Miscellaneous:

- Whatever else you want the grader know about your development.  You can create your own subsections headings here.

 

 

The University of Southern California does not screen or control the content on this website and thus does not guarantee the accuracy, integrity, or quality of such content. All content on this website is provided by and is the sole responsibility of the person from which such content originated, and such content does not necessarily reflect the opinions of the University administration or the Board of Trustees