CIT 596 Theory of Computation (Spring 2016)

The Spring 2016 version of this course will focus mainly on the design and analysis of algorithms. We will begin with sorting and searching algorithms but most of the course will be centered around graph algorithms. To study graph algorithms, more general algorithm design patterns like dynamic programming and greedy algorithms will be introduced.

A section of this course is also devoted to understanding what NP-Completeness is all about. This includes a brief study of some NP-Complete problems and some methods of attacking NP-Completeness.