CS5206, Foundations in Algorithms
School of Computing, National University of Singapore
(Fall Sememster 2008)

REMARKS ON MY HOMEWORKS
(Leong Hon Wai, Revised: Aug 2008)


Quote: Algorithms lie in the heart of computer science. (Aho, Hopcroft, Ullman, 1974.)


About the Homework Problems

Generally, the homework problems are designed to assist you in understanding and applying the course materials. I provide three types of questions: R-problems (Routine problems), S-problems (standard problems), and A-problems (advanced problems).

You are required to answer all the "standard problems" (S-problems) in each homework set and turn them in on the due-date. The S-problems give a rough indication of the benchmark standard of the course.

The routine problems (R-problems) are provided as practice material and to aid you in understanding the basics of the lectures, definitions, algorithms, proofs, etc. These are for you to try; do not turn these in. If you cannot solve these, then it usually mean you are not following (understanding) the course.

In addition, there will be some advanced problems (A-problems) that are really "extra-credit" problems. Naturally, these are more difficult and should provide more challenges. For A-type problems, I do not expect complete answers, but your reasonable attempts on them. I will not grade attempts on A-questions. Rather, they will be taken into consideration if I have to decide on borderline cases (A-B border, B-C border, etc). There is no deadline for A-problems.


Academic Honesty and Policy on Plagarism

For all S-problems (to be submitted), you are supposed to work on the problems INDIVIDUALLY and submit YOUR OWN solutions. Discussion among students MUST BE restricted to only discussion on general approaches; there MUST be NO comparison of solutions, or copying of solutions or of the detailed steps. Also, if you discuss with other student(s), you should write down their names as collaborators for that problem.

Comparing or copying solutions writeup or detailed steps is considered cheating or plagiarism. Not listing out the names of people you discuss with is also considered an attempt at plagiarism.

Plagiarism and other anti-intellectual behaviour will not be tolerated.
The University takes a strong stand on this and students are warned of dire consequences.

If you need help, you should have, at least work INDIVIDUALY on the problem for some time before you even venture to get help. You can approach the instructor for help during his announced office hours. Other times can be arranged via email -- however, advanced notice should be given.

On the other hand, discussion and comparison of approaches to problems is encourage after the homework sets are graded. In general, there may be many different ways of solving a given problem. Also, some solutions may be more concise than others. When a simple solution suffice, give a simple solution.


Solving the A-Problems

For the A-problems (and to a lesser extend, the R-problems), you are encouraged to collaborate in study groups on their solution. If you turn in your attempts on A-problems, you must write down the names of your collaborators (if any) in the write-up of each problem. If you obtain a solution with other types of help (e.g., through library work, some notes, other courses, etc), please acknowledge your source. In all cases, you should write up the solution on your own.


About Your Solutions

Answers to homework should be written at a level suitable for and to address the instructor. In other words, don't put in long explanation for trivial things.

You will be graded not only on the correctness and efficiency of your answers, but also on your clarity. Therefore, it pays to make your answers more concise and clearer. Understandability of the solution is as desirable as correctness. Sloppy answers will be at a disadvantage, i.e. likely to recieve fewer points, even if they are correct. Learn to make appropriate definitions to make your answers more precise and concise.

Solutions does not have to be type-set, but they have to be neat and readable. Do not waste your time beautifying your answer sheet. If you want to spend more time, you should spend it on improving its clarity, understandability, and other aspects of its technical content.

Please also read the document on "About Mathematics, Proofs, and Level of Detail for Writing Proofs".


CS5206 Remarks on Homeworks
CS5206 Home Page