CS
381: Introduction to the Analysis of Algorithms
Fall 2015
The course gives a broad introduction to the design
and analysis of algorithms. The course
strives to strengthen a student’s ability to solve problems computationally by effectively
utilizing an understanding of algorithm design techniques, algorithms analysis,
and data structures. Topics to be covered include: growth of functions; asymptotic analysis;
recurrences; sorting and order statistics; common algorithm design techniques
including divide-and-conquer, dynamic programming, and greedy; streaming and
on-line algorithms; design of advanced data structures; graph algorithms;
parallel algorithms; lower bound techniques and problem reductions;
NP-completeness, approximation algorithms. Detailed Syllabus. Learning Outcomes.
Class
Times: Monday, Wednesday, Friday, 10:30-11:20, 2280 Beering
MIDTERM EXAM: Thursday, October 1, 8-9pm, MTHW 210
FINAL EXAM: Monday, December 14, 8-10am, Smith 108
Instructor
Professor S.E.
Hambrusch
LWSN 1179;
seh@cs.purdue.edu
Office Hours: Wed. 12-1 pm, Friday 9:15-10-15 am; or by
appointment
Teaching Fellow
Ahmed R. Mahmood, LWSN B116, amahmoo@purdue.edu
Office hours: Monday, noon-2pm; or by
appointment
Teaching Assistants (LWSN B116)
Course Textbook. Introduction to Algorithms, T. Cormen, C. Leiserson, R. Rivest, C. Stein, McGraw-Hill, 2009 (3rd edition).
iClickers. The class uses
iClickers. The clickers will be used during class for short answer questions and feedback. If you do
not have a clicker already, obtain one before the first class (they are available in the local
bookstores or as an app).
The discussion forum for the class is on Piazza.
Course Material