Table of Contents

CS 39000-CP0: Competitive Programming

Course Meetings (required)

Other Events

Development of strategies, techniques, and skills used in competitive programming contests. Topics include problem solving and programming techniques and algorithms. Course format consists of a weekly meeting that includes brief discussion, problem solving and programming practice, a practice programming contest, and a wrap-up discussion.

Grading is based on weekly attendance, problem solving, and class participation, using an elaborate point system now under construction.

Credit: 1 hour. Prerequisite: CS 25100 (Data Structures and Algorithms).

Topics by week (based on Skiena textbook and course topics; subject to change):

  1. [09/06]: Strings, Sorting, Arithmetic and Algebra | Contest
  2. [09/13]: More Strings, Sorting, Arithmetic and Algebra, with Combinatorics | Contest
  3. [09/27]: Number Theory | Contest
  4. [10/11]: fall break (no class) | Team Practice Contest
  5. [10/18]: Graph Traversal, Graph Algorithms, Dynamic Programming | icpc_logistics | Competition Notes | Team Practice Contest
  6. [10/25]: competition make-up 1 (no class)
  7. [11/01]: ICPC Competition I | Lecture Notes | Local Instructions | Queue ICPC Site
  8. [11/08]: ICPC Competition II
  9. [11/15]: ICPC Competition III
  10. [11/22]: Thanksgiving
  11. [11/29]: competition make-up 2 (no class)
  12. [12/06]: ICPC Tournament (bonus points awarded)

Textbook: Programming Challenges, Steven S. Skiena and Miguel Revilla, Springer, 2003 (ISBN 978-0387001630).

Other Notes

110104 (706)
110204 (843)
110208 (10149)
110307 (10150)
110402 (120)
110403 (10037)
110404 (10191) [ not listed at website ]
110407 (10152)
110508 (10202)
110705 (10168)
110802 (10181)
110808 (10270)
110906 (10051)
111002 (10054)
111007 (10249)
111008 (10092)
111101 (10131)
111106 (10261)
111305 (10167)
111307 (10209)

Statement Concerning Campus Emergencies

Campus Emergency Information

In the event of a major campus emergency, course requirements, deadlines, and grading percentages are subject to changes that may be necessitated by a revised semester calendar or other circumstances. Here are ways to get information about changes in this course: this web page, my email address (jtk@purdue.edu), and my office phone (494-6184).