Homework and Submission Guidelines
CSE202
Spring, 2015

Homework Sets

Things to think about when preparing and submitting your homework solutions

While the class focuses on design and analysis of algorithms, an equally important component is conveying your algorithm to others. Homework problems are a great way to not only practice thinking about and designing efficient algorithms, but also writing them down. In this vein, please allow sufficient time to write up your solutions. Be proud of what you turn in, and bear in mind that the easier it is to read and understand a solution, the easier it will be to critique and grade.

Writing a solution

A complete solution to a homework problem should of the following three things,
  1. An algorithm which computes a solution to the problem. The algorithm should take the specified input and produce the specified output. This can be either a description in English, pseudocode, or some combination of the two. The important thing is that the algorithm is complete, clear, and precise. There should be no ambiguity.
  2. A claim and proof of correctness. The claim should state that the algorithm produces some desired output. The proof should be complete, rigorous, and sound, and not merely a recitation of the algorithm. That is, the proof should justify why the algorithm works as promised, not simply how.
  3. A runtime analysis. This should also be formatted as a claim and a proof. Be sure to be thorough and give the running time in minimal big-O notation.

Submitting your homework

Using LaTeX is highly preferred, but not required. Please turn in physical copies in class.

Grading homework

Each homework will be worth 40 points: 20 points for each graded solution. Note that even if there are more problems assigned only two will be graded. There will generally be two types of problems on the homework:
  1. Some problems will ask you to design an complete algorithm. In this case a complete solution contains the components outlined in the Writing a solution section. I will use the following rubric to grade each of the components:

    Criterion Excellent Good Fair Poor
    Correctness (10) All components are completely correct. (10) At least one component contains a minor error. (7-9) At least one component contains a major error. (4-6) Multiple major errors, or an entirely incorrect response. (0-3)
    Precision (5) No meaningful ambiguity. (5) Occasional or minor issues of precision, causing meaningful ambiguity that can be overcome by charitable interpretation by the reader. (3/4) Major precision errors that cause meaningful ambiguity in the interpretation of the solution, which can only be resolved with difficulty if at all. (2) Severely underspecified instructions, definitions, claims, or arguments. (0/1)
    Clarity (5) All components are clear, organized, and easy to follow. (5) Occasional or minor issues of clarity, causing confusion that can be overcome by careful reading and charitable interpretation by the reader. (3/4) Truly confusing writing that can only be interpreted with significant effort. (2) Exceedingly confusing writing. (0/1)

  2. Some problems will consist of multiple short answer problems. In this case be sure to follow specific directions as for what's being asked for. Each of the subproblems will generally be graded equally.


Back to CSE202 page.