CSCE5133: Algorithms

  • Introduction: The senior/graduate-level course surveys important classes of algorithms used in computer science and engineering. It introduces formal techniques for analyzing the complexity and computability of algorithms. It also studies and analyzes some commonly-used data structures and algorithms, with primary emphasis on the development of efficient implementation. The course covers them in considerable depth and discusses engineering issues with a careful explanation on the mathematical proof.
  • Prerequisites: CSCE 3193 Programming Paradigms (C or higher) and MATH 2603 Discrete Math (C or higher)
  • Required Textbook:
    1. Introduction to Algorithms, Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein, The MIT Press, 3rd edition, 2009, ISBN 978-0262033848
  • Recommended Reference:
    1. Algorithms, Robert Sedgewick and Kevin Wayne, Addison-Wesley Professional, 4th edition, 2010, ISBN 978-0321573513
    2. The Art of Computer Programming, Vol. 1: Fundamental Algorithms, Donald E. Knuth, Addison-Wesley Professional; 3rd edition, 1997, ISBN 978-0201896831
  • Course Goal: Analyze the complexity and performance of algorithms; Familiarize with major algorithms and data structures; Apply important algorithmic design paradigms and methods of analysis; Synthesize efficient algorithms in common engineering design situations.