Table of Contents
CS 39000-CP0: Competitive Programming
Course Meetings (required)
- 3:00-5:50 Tuesdays (Aug 23-Dec 6, 2011)
- LWSN B146
Other Events
- Oct. 14, 2011, 6:00-9:00 pm: Practice Contest (pizza included!).
- Oct. 21-22, 2011: ACM Regional Contest. Leave Friday, Oct. 21, at 1:00 pm for Cincinnati, compete Saturday (Oct. 22) 10:00-3:00, return Saturday evening. Only the 12 students who are chosen to compete in the contest are required to attend.
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):
- [08/23]: Getting Started | Contest
- [08/30]: Data Structures | Contest
- [09/06]: Strings, Sorting, Arithmetic and Algebra | Contest
- [09/13]: More Strings, Sorting, Arithmetic and Algebra, with Combinatorics | Contest
- [09/27]: Number Theory | Contest
- [10/11]: fall break (no class) | Team Practice Contest
- [10/18]: Graph Traversal, Graph Algorithms, Dynamic Programming | icpc_logistics | Competition Notes | Team Practice Contest
- [10/25]: competition make-up 1 (no class)
- [11/08]: ICPC Competition II
- [11/15]: ICPC Competition III
- [11/22]: Thanksgiving
- [11/29]: competition make-up 2 (no class)
- [12/06]: ICPC Tournament (bonus points awarded)
Textbook: Programming Challenges, Steven S. Skiena and Miguel Revilla, Springer, 2003 (ISBN 978-0387001630).
Other Notes
- Blackboard link
- ICYPC Competition Ladder and instructions (2010 version)
- Instructions for competing remotely with the PC^2 software.
- RPC Pictures from last year. Enjoy!
- There are at least 19 problems that are not correctly judged by the Programming Challenges (PC) website (http://www.programming-challenges.com). Here are the problems with the corresponding UVA (http://uva.onlinejudge.org/) problem number in parenthesis (from here):
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)
- Another useful source of competitive programming tips comes from Andrew Harrington.
Statement Concerning Campus Emergencies
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).