[UW Logo]

CS 341: Algorithms, Winter 2015

David R. Cheriton School of Computer Science

Contents: Announcements, General Info, Organization, Outline, Assignments, Resources, University Policies


Course Evaluations:
Please fill out a course evaluation at evaluate.uwaterloo.ca. Surveys for CS 341 will be open from Sunday March 22 (23:59) to Monday April 06 (23:59).

We will not use the newsgroup uw.cs.cs341. Instead we will use Piazza for all course discussion and announcements.

General Information

Please be familiar with the general policies and programming guidelines:


Timothy Chan, DC 2107, x36941, tmchan "at" uwaterloo "dot" ca
Office hours: Friday 3:00 PM - 4:00 PM, or by appointment

Doug Stinson, DC 3522, x35590, dstinson "at" uwaterloo "dot" ca
Office hours: Wednesday 2:30 PM - 3:30 PM, or by appointment

Andrew Arnold, DC 2302E, x34474, a4arnold "at" uwaterloo "dot" ca
Office hours: Monday 12:00 PM - 1:00 PM, or by appointment
**Office hours for Monday, April 6 rescheduled to 12pm Thursday, April 2.

Time and Place:

TAs: TA office hours will be announced on piazza. Alternatively you can email for an appointment.



This is a rough outline of the course. It may differ slightly from section to section.


Assignments may have a programming question in addition to written work. Please familiarize yourself with the course policies and the programming guidelines.

Where to get your marked assignment
Assignments will be handed back in the section you wrote down on your assignment. You will also be able to collect your assignments during the office hours of the lecturer of your registerd section. If you did not write down a section

How to appeal marks
After assignments have been handed back to students in class, you have two weeks to appeal you mark. You must first consult the TA who marked the question. (see Piazza postings for whom). Only if the problem is still unresolved should you then bring the case to the instructor's attention.

How to get assignment solutions
In order to access solutions, you need a user name and password. These will be made available to students via piazza.

Tentative dates:


Textbook: [CLRS] Cormen, Leiserson, Rivest, and Stein, Introduction to Algorithms (3rd ed.), MIT Press, 2009 (QA76.6 .C662 2009).

CLRS is available in the Davis Centre Library Reserves, as well as the following textbooks:

Suggested Readings from CLRS

Below is a list of relevant sections for some of the problems and topics covered in lectures. Less immediately applicable readings are given in parentheses.

Lecture Slides and Notes

These lectures slides will be used in section 4 (Stinson).
  1. Course Info
  2. Introduction
  3. Divide and Conquer Algorithms
  4. Greedy Algorithms
  5. Dynamic Programming
  6. Graph Algorithms
  7. NP-Completeness and Undecidability
Other links of interest

University Policies (University required text)

Academic Integrity:

In order to maintain a culture of academic integrity, members of the University of Waterloo community are expected to promote honesty, trust, fairness, respect and responsibility. All members of the UW community are expected to hold to the highest standard of academic integrity in their studies, teaching, and research. The Office of Academic Integrity's website ( http://www.uwaterloo.ca/academicintegrity) contains detailed information on UW policy for students and faculty. This site explains why academic integrity is important and how students can avoid academic misconduct. It also identifies resources available on campus for students and faculty to help achieve academic integrity in - and out - of the classroom.


A student who believes that a decision affecting some aspect of his/her university life has been unfair or unreasonable may have grounds for initiating a grievance. Read Policy 70 - Student Petitions and Grievances, Section 4, http://www.adm.uwaterloo.ca/infosec/Policies/policy70.htm.


A student is expected to know what constitutes academic integrity, to avoid committing academic offenses, and to take responsibility for his/her actions. A student who is unsure whether an action constitutes an offense, or who needs help in learning how to avoid offenses (e.g., plagiarism, cheating) or about "rules" for group work/collaboration should seek guidance from the course professor, academic advisor, or the Undergraduate Associate Dean. When misconduct has been found to have occurred, disciplinary penalties will be imposed under Policy 71 - Student Discipline. For information on categories of offenses and types of penalties, students should refer to Policy 71 - Student Discipline, http://www.adm.uwaterloo.ca/infosec/Policies/policy71.htm.

Avoiding Academic Offenses:

Most students are unaware of the line between acceptable and unacceptable academic behaviour, especially when discussing assignments with classmates and using the work of other students. For information on commonly misunderstood academic offenses and how to avoid them, students should refer to the Faculty of Mathematics Cheating and Student Academic Discipline Policy, http://www.math.uwaterloo.ca/navigation/Current/cheating_policy.shtml .


A student may appeal the finding and/or penalty in a decision made under Policy 70 - Student Petitions and Grievances (other than regarding a petition) or Policy 71 - Student Discipline if a ground for an appeal can be established. Read Policy 72 - Student Appeals, http://www.adm.uwaterloo.ca/infosec/Policies/policy72.htm .