Guidelines for Homeworks Submission :
Take these as tips to write your test/exams as well. This would help you and the grader.


  1. Organizing answer sheets
    1. Staple them! You might miss them or get it mis-ordered.
    2. Write your name in CAPITAL letters on top of at least the first page of the answer sheets.
    3. Write the homework number on it.
  2. Writing Answers:
  1. Organization of Answers
    1. Write the question number (and textbook exercise number, if applicable) so that it is distinguishable from details of the answers.
    2. Write the subquestion ((a) or "substitution technique:") clearly, so that it could be separated from details of the answer.
    3. Write the final answer (such as the complexity is O(n)) to the question/sub-question clearly before or after you give details or explanations.
    4. Write steps clearly; For example in substitution methods you have to guess a complexity and then prove/disprove it. Say "Guess is: ..." before going onto the details of substitution procedure. You might miss points for missing this step!
    5. Write the answers legibly, clearly with enough space between two lines.
  2. Writing Algorithms
    1. Write algorithms as a set of steps, not as a paragraph in a story.
    2. When asked to give
      1. an algorithm: write the algorithm; explain it, if it is complex; prove its correctness implicitly or explicitly; a complexity bound is expected.
      2. an efficient algorithm: write the algorithm; explain it, if it is complex; prove its correctness implicitly or explicitly; analyze its complexity and give a tight bound on the complexity.
    3. Each statement in an algorithm should be a primitive statement or a statement that is explained by you or the reader is aware of how to process; e.g., do not write "find a unique node", unless it is clear in that context how to process it.
  3. Make sure that you account for each statement in the complexity computation.
  4. When asked to give an example, give an example and DESCRIBE it on how it satisfies the required conditions.
  5. When asked to run an algorithm on a problem instance, you are expected to show intermediate steps also.
  6. While proving by induction, clearly mention the induction hypothesis.
  7. When asked to prove "if and only if", make sure you prove both the "if" side and the "only if" side.


Technical Tips:
  1.  Brush up your knowledge in Algebra especially, for your own good understanding of the materials. Your textbook (CLRS) has given related mathematical background in Appendix A, B, and C (has basic concepts on probability).
  2. When asked to prove a tight bound on a function, make sure to consider the boundary conditions given.
  3. The best way to disprove a general statement is to prove it through contradiction (show an example that contradicts the statement).

General Information:
  1. Deducting points is a way to inform you that you have not done something correctly there or you have missed something there; you MUST look at it carefully and try to learn from that mistake.
  2. Do not expect the instructor or the TAs to understand and find what you wanted to mean or what you were thinking while writing the answer.
  3. As a TA, our job is not to deduct your points, but give you the points that you deserve. If you think that the grades of your homeworks (those I have graded) would need a double check, then do meet the respective TA as soon as possible.
  4.  You are allowed to ask only explanations to homework problems (not solutions or hints to solutions --- that is your job), unless it has already been turned in.
  5. If you are sending an e-mail to any of us, we would try our best to get back to you within 24 hours; if we do not respond within 36 hours, send us a reminder.


( The homework submission guidelines listed in this last section are an abridged version of the CS381 TA guidelines that was published at Ashish Kundu's TA web page. Refer to http://www.cs.purdue.edu/homes/ashishk/TA.html for the full version. ).