Guidelines
for Homework Preparation
Make use of these guidelines and recommendation when writing
assignments as well as exams. Grading in algorithms classes can
depend on the quality of your explanation and
presentation.
Organizing
answer sheets
- Staple them! Check that your sheets appear in the
correct
order.
- Write your name in CAPITAL letters on top
of at least
the first page of the answer sheets.
- Write the homework number on the answer sheet.
- Always hand in a paper copy (e-mail of an assignment is only
accepted in special situations and needs to be in form of a pdf
file).
Writing
Answers
Organization of Answers
- Write the question number (and textbook exercise number,
if
applicable) so that it is distinguishable from details of the answers.
- Write the subquestion ((a) or
"substitution technique:")
clearly, so that it is clearly separated from details of the answer.
- 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.
- Write steps clearly. For example, in
substitution methods you will guess a complexity and then
prove/disprove it. Say "Guess is:
..." before going onto the details.
- Write the answers legibly, clearly with
enough space between
two lines.
- Start every problem on a new page. This is especially
important when homework is graded by more than one TA.
Writing Algorithms
- Write an algorithm as a set of steps, not as
a paragraph
in a story.
- When asked to give
- an algorithm: write the algorithm; explain it,
if it is
complex; prove its correctness implicitly or explicitly; a complexity
bound is expected.
- 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.
- Each
statement in an algorithm should be a primitive statement or a
statement that is explained by
you; e.g., do not
write "find
a unique node", unless it is clear in that context how to interpret it.
- Make sure that
you account for each statement in the complexity computation.
- Visuals can be useful, but they do not replace your verbal
description.
- When asked to give an example, give an
example and describe how and why it satisfies the required conditions.
- When asked to run an algorithm on a problem instance, you
are
expected to show intermediate steps.
- While proving by induction, clearly state the induction
hypothesis.
- When asked to prove "if and only if", make
sure you
prove both the "if" side and the "only if" side.
Technical
Tips
- Brush up your Algebra knowledge. The textbook
(CLRS) gives
related mathematical background in Appendices.
- When asked to prove a tight bound Θ on a
function, make
sure
to consider the boundary conditions given and if the any parameter is
given to be integer, non-integer or real or so.
- The best way to disprove a
general statement is
to prove it
through contradiction (show an example that contradicts the statement).
- In some situations, it can be beneficial to describe a
solution and approach you tried, but could not bring to a successful
conclusion (especially if you know your solution is not the one asked
for).
General
Information and Advice
- Deducting points is a way to
inform you that you have not done
something correctly or you have missed something. Always look at
your graded assignment and understand your mistakes. Learning from your
mistakes is important.
- Do not expect the instructor or the TAs to
understand what you wanted to mean or what you were thinking while
writing
the answer. We can only grade what your write.
- As a TA, our job is not
to
deduct points, but give you the points you deserve. If you believe the
score of your homeworks
need a re-check, meet the respective TA
as soon as possible. You should always understand why points were
taken off.
Grading mistakes can happen and we often don't find out until you
tell us,
- In office hours we can give you explanations to
homework
problems, but no solutions. We also can't pre-grade your solution. We
will probably let you know if your solution is heading a very wrong
direction. We
are happy to explain solutions of homework you have already handed in.
- Follow the expected Piazza rules. In particular, Piazza
is intended for notifications and clarification of questions of
general interest. Do not share your ideas, approaches, and hints
for solutions in a public post.
- If you are sending an
e-mail
to any of us, we will try our best to get back to you within 24 hours.
If you do not get a response within 36 hours, send a reminder.
- Let us know if a
posted homework problem is not clear.
- Get help in office hours if the
course material or a problem on the assignment are not clear to you.
- Attend
class.
(Developed, © Ashish Kundu, modified by
Susanne Hambrusch)