CSCI 6212. Design and Analysis of Algorithms. 3 Credits.
Design and analysis of algorithms; Turing machines; NP-complete theory; algorithmic techniques: divide-and-conquer, greedy, dynamic programming, graph traversal, backtracking, and branch-and-bound; applications include sorting and searching, graph algorithms, and optimization. Students are expected to know data structures and possess general programming skills in one or more procedural/OOP language such as C/C++/Java, and to have a good mathematical background such as discrete math and some calculus, prior to registration. (Fall, spring, and summer, Every Year).