Written
assignments:
·
Written
assignment 1 (Due: Oct 2) Solutions
·
Written
assignment 2 (Due: Oct 16) Solutions
·
Written
assignment 3 (Due: Nov 12) Solutions
·
Written
assignment 4 (Due: Dec 4) Solutions
Important notes on how to answer questions that involve designing an
algorithm:
Your solution should consist of the following 4 components: (i) the main ideas of your algorithm (this part is not
compulsory, but it will help you gain partial credits if your algorithm is
not completely correct), (ii) pseudocode or plain language description of
the algorithm, (iii) an analysis (usually, of the running time) of your
algorithm, and (iv) a proof of correctness for your algorithm (especially
for greedy and graph algorithms) unless it is obvious.
The assignments are to be turned in by 9 pm on the due date. There will
be a collection rack outside room 4210, for both the written and
programming assignments. No late assignments will be accepted. In
exceptional circumstances (illness, university business, or religious
observances) extensions may be granted. However, all extensions must be
approved by me before the due date.
The primary benefit of working on the assignments is to prepare for the
exams, because exam questions are often variants of assignment problems.
For this reason I encourage you to spend time alone thinking about each
problem and your approach in solving it. You are allowed to and encouraged
to discuss assignment problems with your classmates.
However, you must write up the solutions on your own. In
particular:
1.
Assignment solutions must be written in your
own words (not copied or modified from someone else's write-up).
2.
You must understand your solution and its
derivation. (I may ask you to explain your solution to me.)
3.
You must acknowledge your collaborators
(whether or not they are classmates) or any other outside sources on each
assignment.
Failing to do any of these will be considered plagiarism, and may result
in a failing grade in the course and notification for appropriate
disciplinary action.
Grading policy for programming
assignments: The programming assignments are intended for you to
experiment with the implementation and practical performance of algorithms
on your own. As such, they will only be graded as “completed” or
“incomplete”. Each “completed” programming assignment will add 1 point to
your overall score at the end of the semester.
|