• Homework will typically be assigned by Friday, due two weeks later, on Friday by 5pm in the TA mailboxes in 122A Mudd (look for the mailboxes marked for this course). Occasionally it will be assigned on a different day, and/or due on a Monday; please follow the schedule.
  • Please mark your homework with your UNI, and put each problem on a separate page.
  • Some of the exercises will be routine, but others will be more challenging.  We do not expect you to solve all of the homework problems, but we hope that you will benefit from working on the more difficult ones.  A few hints on the homework assignments:
    • Start early:  Difficult problems are not typically solved in one sitting.  Start early and let the ideas come to you over the course of a few days.
    • Be rigorous:  Each problem has a (sometimes unwritten) requirement that you prove your algorithm correct and analyze its running time.  To obtain full credit for a problem, it is necessary to fulfill this requirement.
    • Be concise:  Express your algorithms at the proper level of detail.  Give enough details to clearly present your solution, but not so many that the main ideas are obscured.  English is the best way to express an algorithm; revert to pseudocode only if necessary.
  • These assignments are a minimum; practicing on additional problems is strongly advised.
  • Please read all the homework policies on this page, below the schedule.
   due date
Fri, Sep 16
HW 1
Fri, Sep 30
HW 2
Fri, Oct 14
HW 3
Friday, Oct 28
HW 4
Thursday, Nov. 3. (Midterm Exam)
Take-home midterm exam
Fri, Nov 11
HW 5
Tues, Nov 29
HW 6
Tuesday, Dec 13
HW 7

  • Homework grading:    
    • We will employ a somewhat unusual grading scheme. Each homework assignment will have n problems, and each problem will be worth 10 points. You will be required to attempt any m problems. (The parameters n and m will vary from assignment to assignment.) These m problems will be graded in the usual manner: you will receive full or partial credit out of 10 points. You may also choose to attempt the remaining n-m problems. These problems will be graded as follows. Say that you would have received a score of j points if this problem had been graded normally. If j is less than 6, then you will receive zero out of zero points, as if you had not attempted the problem. Otherwise, you will receive j out of j points. Note that attempting extra problems can only help you. Your grade on an assignment will be reported by two numbers: the points you obtain and the points you effectively attempt. Your homework grade at the end of the term will be calculated as the sum of the points you obtained divided by the sum of the points you effectively attempted.
    • The purpose of this policy is threefold:
               1. It is designed so as not to penalize you for skipping some problems.
               2. It is designed to encourage you to attempt all of the problems.
               3. It is designed specifically to discourage you from writing up long answers which you suspect are incorrect, in the hopes of picking up a point or two.
  • Undergraduates and Graduate students:  This class has both undergraduate and graduate students in it. While the same set of homework problems will be assigned to both groups, the requirements will be different. Typically, the undergraduate students will be required to do fewer problems, although this may vary from week to week. In addition, the requirements for exams may differ.
  • Late homework will generally not be accepted. Two weeks should be sufficient time to complete an assignment. Exceptions will be made only for exceptional extenuating circumstances (e.g. serious illness, family crisis).
  • Homework policy:  The main goal of the homework assignments is education, not evaluation. We must also be mindful of rules regarding academic honesty and plagarism. To facilitate these goals, we will use the following policy.
    •  All work submitted for credit must be your own.
    • You may discuss the homework problems with your classmates, the teaching assistant(s), and the instructors. For each problem, you must acknowledge the people with whom you discussed your work, and you must independently write up your own solutions. Any written sources used (apart from the text) must also be acknowledged; however, you may not consult any solutions from previous years' assignments whether they are student or faculty generated.
    • Solutions to problems may be available somewhere on the web. Do not use these solutions. If you do use them, cite them.
    • If you do choose to copy another student's work, or to copy from some other source, please state this in writing on your homework assignment.
    • Please ask if you have any questions about this policy. Violations will be treated harshly. This means that if you violate the policy, even once, your grade on homework for the entire semester will be 0, and the infraction will be reported to the dean.
    • THERE ARE NO EXCEPTIONS TO THIS POLICY.  Every semester, several students are caught violating this policy and they are reported to the dean. Typically, students use unacknowledged sources on the web. Do not do this. If a homework problem is too hard, start earlier, ask for help, or don't answer the question. If you can't answer some of the questions, you are still a good person who can go on and have a productive life. Academic dishonesty is never the correct solution.
    • Note that allowing someone else to copy your solution is just as serious as copying someone else's solution.