====== CS 39000-004: Competitive Programming ====== {{contest-course-flyer-2010.pdf|Advertising Flyer}} **This course is scheduled to be offered in fall 2010. Topics and other details below to be updated.** Course meetings now scheduled: Tuesdays, 3:00-5:50, LWSN B158. 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 lecture (30 minutes), programming practice (two hours), and discussion (20 minutes). Credit: 1 hour. Prerequisite: CS 25100 (Data Structures). Topics by week (based on Skiena textbook and course): - [[Getting Started]] - {{cp-090901.pdf|Data Structures}} - {{cp-090908.pdf|Strings}} - {{cp-090915.pdf|Sorting}} - {{cp-090922.pdf|Arithmetic}} - {{cp-090929.pdf|Combinatorics}} - {{cp-091006.pdf|Number Theory}} - {{cp-091020.pdf|Contest Strategies/Backtracking}} - {{cp-091027.pdf|ICPC Logistics and Practice Contest}} - [[Geometry|Geometry]] - {{cp-091110.pdf|Review of ACM ICPC RPC Problems}} - {{cp-091117.pdf|Amazon Ninja problems, Dynamic Programming, Grids}} Other topics: - Graph Traversal - Graph Algorithms - Computational Geometry The top students in the class will represent Purdue at the regional ACM International Collegiate Programming Competition in November, 2009. Textbook: //[[http://www.amazon.com/exec/obidos/ASIN/0387001638/thealgorithmrepo|Programming Challenges]]//, Steven S. Skiena and Miguel Revilla, Springer, 2003 (ISBN 978-0387001630). [[check_enrollment|Instructions to Check Enrollment]]