381: Introduction to the Analysis of Algorithms
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.
Times: Tuesday, Thursday 12-1:15 pm, Wetherill 160.
MIDTERM EXAM: Wednesday, March 11, 8:00-9:30 pm, RAWL 1086
FINAL EXAM: Thursday, May 7, 8-10 am, WTHR 104
Office Hours: Tuesday, 1:45-3pm; Wednesday, 3-4pm; or by
Akash Kumar, firstname.lastname@example.org, Office hours: Monday 3-4pm, Thursday 2-3pm, B116 Lawson
Tatiana Kuznetsova, email@example.com, Office hours: Wednesday, 11-noon, B116 LawsonWuwei Zhang, firstname.lastname@example.org, Office hours: Tuesday, 3:30-4:30pm, B116 Lawson
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.