CS 91.503

Graduate Algorithms

Fall, 2008


General Information

Level: Graduate
Announcements (current as of 10 Dec.) : in PDF format.
Category: Required
Credits: Location: Olsen Hall, Room 401
Time: Tuesday 5:30-8:00 p.m.
Instructor: Prof. Karen Daniels
Email: kdaniels@cs.uml.edu
Office Hour: Tuesday 4:00-5:00 p.m. or by appointment; in Olsen Hall 216
TA: Zheng Fang
Email: zfang@cs.uml.edu
Office Hour: Monday 4:00-5:00 p.m. in OS 305


General Description:

This is a required graduate Computer Science course.

Description and topics in Microsoft Word.

Prerequisites: 91.404. Co-requisite 91.502. Standard graduate-level prerequisites for math background apply. This includes: Discrete Math I & II (92.321, 92.322), Statistics for Scientists and Engineers (92.386), Calculus I-III (92.131-231). Graduate 91.500 can provide some of the necessary math background. Students are expected to be able to use proof techniques such as induction, construction and contradiction. Although this is not a language programming course, it is assumed that students are proficient in C, C++ or Java.

Required Textbook NOTE THIS IS THE 2001 EDITION (which is the 2nd edition):
  • Introduction to Algorithms by T.H. Cormen, C.E. Leiserson, R.L. Rivest, McGraw-Hill, 2nd edition, 2001. ISBN 0-07-013151-1.
  • Recommended: Computers & Intractability by Garey & Johnson, W.H.Freeman, 1990. ISBN 0716710455.
  • Recommended: Algorithms in C++ (Part 5: Graph Algorithms), 3rd edition by Sedgewick, Addison-Wesley, 2002. ISBN 0201361183.
  • Other Relevant Books:
  • Algorithms on Strings, Trees and Sequences by Gusfield, Cambridge University Press, 1997. ISBN 0 521 58519 8 hardback.
  • Dynamic Programming by Bellman, Dover Publications, 2003 (originally 1957). ISBN 0 486 42809 5 paperback.
  • The Algorithm Design Manual by Skiena, Springer and Telos, 1998. ISBN 0 387 98222 1 hardback.

  • -handouts and pointers to papers from Algorithms literature

    Grading:  The course will have 2 exams: one midterm exam and one final exam (see syllabus for expected dates).  Each exam is cumulative and open book.  Grades will be calculated approximately as follows:

    Homework                           30%
    Midterm Exam                      30%  (open book)
    Final Exam                            35%  (open book)
    Instructor's Discretion              5% 

    Homework: This is primarily a "paper-and-pencil" course. However, homework must be typed. Each algorithm description must include pseudocode, correctness justfication, and complexity analysis (typically running time).

  • Last Updated: 12/10/2008