Course Description
This course presents an introduction to the techniques for designing efficient computer algorithms and analyzing their running times. General topics include asymptotics, solving summations and recurrences, algorithm design techniques, analysis of data structures, and introduction to NPcompleteness.
General Information
 Instructors:
 Clyde Kruskal, office hours:
 Vibha Sazawal, office hours: M 10am12pm @ AVW 4401
 Teaching Assistants: (office hours @ AVW 1112)
 Kartik Nayak, office hours: M 3:15pm5:15pm, F 11am12pm
 Melika Abolhassani, office hours: TuTh 2pm3:30pm
 Soham De, office hours: Tu 1:30pm3pm, Th 4:30pm6pm
 Class Time & Venue:
 Section 0101: Clyde Kruskal, MWF 1pm  1:50pm @ CSI 3117
 Section 0201: Clyde Kruskal, MWF 2pm  2:50pm @ CSI 3117
 Section 0301: Vibha Sazawal, MWF 3pm  3:50pm @ CSI 2117
 Textbook:
 Thomas Cormen, Charles Leiserson, Ron Rivest, and Clifford Stein, Introduction to Algorithms, McGraw Hill and MIT Press. Any edition.
 We will be using Piazza for announcements and discussions:
 The system is highly catered to getting you help fast and efficiently from classmates, the TA, and the instructor. (If you have any problems or feedback for the developers, email team@piazza.com.)
 Please register yourself and join our class on https://piazza.com/umd/fall2013/cmsc351/home.
 Rather than emailing questions to the teaching staff, we encourage you to post your questions and help your classmates on Piazza. When the questions are answered on Piazza, they are answered for everybody who have the same questions.
 Please do not post any homework solution and ask if it is correct. If in doubt, ask private question (only instructor and TA can see) on piazza or come during office hours.

Syllabus
Additional Notes
Homework
