Algorithm Design, Analysis & Complexity, Spring 2020

General Course Information

Instructor:  Allan Borodin and Sara Rahmati
Email:  bor at cs dot toronto dot edu
sara dot rahmati at mail dot utoronto dot ca
Office hours:  Borodin: 1:30-2:30 Mondays and 4:30-5:30 Wednesdays; in SF 2303B
Rahmati: 5-6 pm Fridays in BA3982 (or by appointment)
Lectures:  M,W,F 11:00-12:00, RW 110

Wed, 18:00-21:00, Bahen BA 1180

Tutorials:  Monday, 16:00-17:00 (day time section) and 17:00-18:00 (evening section). Starts on January 13, 2020. Note there was an error in the original posting of the time. Tutorial rooms to be announced in lecture.
Course Info Sheet:  course info sheet

Course Description (from Calendar)

Standard algorithm design techniques: divide-and-conquer, greedy strategies, dynamic programming, linear programming, randomization, network flows, approximation algorithms. Brief introduction to NP-completeness: polynomial time reductions, examples of various NP-complete problems, self-reducibility. Students will be expected to show good design principles and reasonable skill at reasoning about the correctness and complexity of algorithms.

Texts (one of the following)

Required:  T. H. Cormen; C. E. Leiserson; R. L. Rivest; C. Stein, Introduction to Algorithms, 3rd Edition, 2009. Available online from the University of Toronto library. codenames: CLRS
Required:  S. Dasgupta; C. H. Papadimitriou; U. Vazirani, Algorithms, 2006. codename: DPV
Required:  J. Kleinberg; E. Tardos,, Algorithm Design, 2005. codename: KT

Grading Scheme and Tentative Dates

Assignments:  3 worth 10% each; Due dates: February 6, March 5, April 2
Quizzes:  4 worth 2.5% each; Dates: January 27, February 24, March 16, March 30
Midterm Test:  worth 20% ; Date March 2
Final (3 hours):  worth 40%

Midterm test will be held during tutorial slots, 16:00-18:00 (daytime section and 17:00-19:00 (evening section).

The 20% Rule

You will receive 20% of the points for any (sub)problem for which you write "I do not know how to answer this question." You will receive 10% if you leave a question blank. If instead you submit irrelevant or erroneous answers you will receive 0 points. You may receive partial credit for the work that is clearly "on the right track." The 20% rule applies to all term work: assignments, term tests, and even the final.

Assignment Policy

Assignments will be submitted electronically on MarkUs (instructions will follow later). Late assignments will penalized as follows: All assignments are due by 4:59pm on their due date, unless otherwise stated. Late assignments are penalized by 2.5% per hour. After 40 hours your assignment will get a score of zero. Note that lateness penalties will be computed as a percentage of the total marks for the assignment, not of the mark you obtain. This policy will be strictly enforced.

Regrading Policy

If you believe that there was a significant mistake in how any question was graded, you may submit a one or two paragraph explanation (along with the original grading) as to why you believe the grade you received was a mistake. That explanation will be then re-considered by the grader. Please do not abuse this policy with minor complaints. Grading is subjective to some extent but we are trying to be as generous as possible. Clerical errors (i.e. grades not properly added or entered on Matrkus) can be rectified by the instructors.

Collaboration Policy and Academic Integrity

You are allowed to discuss assignment questions with other students. You are allowed to consult additional materials, e.g., books, papers, websites. You may collaborate without restrictions with anyone on your team. The writeup of your solutions should be your own (or that of your team) and should be done in isolation from other students and resources. In addition, you must clearly identify the names of students (outside of your team) you collaborated with (if any) and provide a clear description of additional materials you consulted (if any). Once a team has been formed, it cannot be changed after the first submission.

The following rule of thumb might help you ensure that you are writing down your own understanding of a solution: (1) do not take notes following discussions with other studentsi or having read a solution on the internet, (2) after understanding a question, take a one-hour break before writing down the solution, (3) while writing down the solution do not consult any materials.

Copying or allowing other students to copy solutions is a serious academic offense and will be reported. You might find the Arts and Science website on academic honesty (and references therein) helpful.

Email Policy

We read email regularly, but we do NOT promise to reply to all emails. In particular, if your question is of general interest, it would be best to post it on piazza. We will not respond to general questions via email. We will address questions during the lectures, so that everyone can benefit. Similarly, if your question requires a technical answer it is better to ask it during a lecture, or a tutorial, or office hours.Use email for more personal or sensitive questions (e.g., requesting absense due to illness,etc.

Accessibility

Students with diverse learning styles and needs are welcome in this course. In particular, if you have a disability/health consideration that may require accommodations, please feel free to approach me and/or Accessibility Services at 416-978-8060; http://accessibility.utoronto.ca.