Introduction: This course studies the principal methods used in the solution of programming contest problems, e.g., data structures, strings, sorting, machine arithmetic and algebra, Combinatorics, number theory, backtracking, graph traversal, graph algorithms, dynamic programming, grids, and computational geometry.
Prerequisites: CSCE 2014 Programming Foundations II with C or better
Required Textbook:
Programming Challenges: The Programming Contest Training Manual, Steven S. Skiena and Miguel A. Revilla, Springer, 2003, ISBN 978-0387001630
Recommended Reference:
Introduction to Algorithms, Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein, The MIT Press, 3rd edition, 2009, ISBN 978-0262033848
Algorithms, Robert Sedgewick and Kevin Wayne, Addison-Wesley Professional, 4th edition, 2010, ISBN 978-0321573513
The Art of Computer Programming, Vol. 1: Fundamental Algorithms, Donald E. Knuth, Addison-Wesley Professional; 3rd edition, 1997, ISBN 978-0201896831
Course Goal:Ability to rapidly develop efficient solutions to standard computer science problems, such that an online judge accepts the developed solutions as correct and efficient.