You are on page 1of 2

COMP 7712 – Algorithms/Problem Solving – Fall 2017

Instructor: Nirman Kumar

Contact Information:

Office: Dunn Hall, #307

Office Phone: 901-678-3135

Office hours: Dunn Hall 307, M: 1-2 pm or by appointment (send email)

Lectures: T Th : 1 pm - 2:25 pm, Psychology Building 244

GA : Mohammad Farooq Shamim ( His office hours are Tue 3-5 and sometimes even 2:30-5
(if you see him in class). His office is DH 314. The week before exams, and sometimes on request, he can hold office hours
Thu 3-5 as well. Also, please send him your questions by email before meeting him.

Prerequisites: A basic course on algorithms and complexity. Basic graph theory, combinatorics, probability and linear
algebra. Mathematical maturity.

Coverage: Basics of induction and recursions. Fundamental algorithm design techniques such as recursion, greedy
algorithms and dynamic programming. Basics of graph algorithms and network flows. Some advanced data structures.
If time permits, we will venture into string matching and randomized algorithms.

Textbooks: No textbooks are required for this course. Online lecture notes will be pointed to and additionally lecture
notes may be made available. Some textbooks that may be helpful as reference material are the following. Of course, we
may only look at some of these and very infrequently. The first two will be looked at more than the rest. I will point out
for each lecture what you need to look at.

1. Algorithms by Dasgupta, Papadimitriou and Vazirani - Book freely downloadable.

2. Jeff Erickson’s algorithm lecture notes at -
3. Introduction to Algorithms (3rd ed.) by Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest and Clifford
4. Approximation Algorithms by Vazirani. Can be found online at
5. The Design of Approximation algorithms by Williamson and Shmoys. A draft can be found online at http:
6. Randomized Algorithms by Motwani and Raghavan.
7. Probability and Computing by Mitzenmacher and Upfal.
8. Understanding and using Linear Programming by Matousek and Gartner.
9. Sariel Har-Peled’s notes here -, and here http://
10. David Mount’s lecture notes on Computational Geometry -

Grading: The grading will be done as follows. The scheme is subject to change at instructor’s discretion.

• 6 to 7 homeworks out of which the best 5 will be chosen. Each carries a weight of 4% for a total of 20%. Students
are encouraged to discuss the problems, but every student must submit their own solution and while writing one
should work alone.
• 2 programming assignments each of which weigh 5%, for a total of 10%.
• 2 mid-term exams each of weight 15% for a total of 30%.
• A final exam of weight 40%.

Plagiarism/Cheating policy: All assignments for this class are to be written individually.

You may refer to a book, or the Internet or some other source but in that case, please acknowledge all such sources in your
submission. You may work with other students in the course, and I encourage you to do so, but as stated above, every
student must write and submit their own assignment. There should be no direct copying from the assignment of
your co-workers, and you are required to name your co-workers.

If I determine that you copied something directly from an external source (book, Internet, or some other source), you will
receive a failing grade on the assignment and (at my discretion) a failing grade in the course. If I determine that you have
copied another students assignment, this will happen to both you and the person from whom you copied. The incident
may also be forwarded to the University Judicial Affairs Office for further disciplinary action.