CS 381: Introduction to the Analysis of Algorithms
Spring 2014

The course gives a broad introduction to the design and analysis of algorithms. Topics to be covered include: growth of functions; recurrences; sorting and order statistics; common algorithm design techniques including divide-and-conquer, dynamic programming, and greedy; streaming and on-line algorithms; design and use of data structures; parallel algorithms; lower bound techniques, graph algorithms, NP-completeness, approximation algorithms. Detailed syllabus.


Class Times: Tuesday, Thursday 3:00- 4:15 pm, LWSN B155.

MIDTERM EXAM: Wednesday, March 12, 8:00-9:30 pm, FRNY G140

FINAL EXAM: Wednesday, May 7, 10:30-12:30 pm, BRNG 2280




Professor S.E. Hambrusch

LWSN 1179;  seh@cs.purdue.edu
Office Hours: Tuesday, Thursday 1:30-2:30pm, or by appointment


Teaching Assistants
Nabeel Butt
LWSN 3151A (desk #1);  butt@purdue.edu  
Office hours:  Wednesday, 10:30-11:30am, Thursday, 11:30-12:30pm

Ahmed Mahmood 
LWSN 2149 (desk #7);  amahmoo@purdue.edu
Office hours:  by appointment

Course Textbook
Introduction to Algorithms, T. Cormen, C. Leiserson, R. Rivest, C. Stein, McGraw-Hill, 2009 (3rd edition). 

CS 381 uses iClickers. The clickers will be used during class for short answer questions, feedback, and quizzes.
If you do not have a clicker already, obtain one before the first class (they are available in the local bookstores).

The discussion forum for the class is on Piazza.

Course Material