====== 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]: [[https://docs.google.com/present/edit?id=0AcVsm1lcySCMZHB2djg1cF80NWM2NmM0NDZ2&hl=en&authkey=CPWxqcQK|Getting Started]] | [[contest_2011-08-23|Contest]] - [08/30]: [[https://docs.google.com/present/edit?id=0AcVsm1lcySCMZHB2djg1cF81NGRwbnB2cHJj&hl=en_US|Data Structures]] | [[contest_2011-08-30|Contest]] - [09/06]: Strings, Sorting, Arithmetic and Algebra | [[contest_2011-09-06|Contest]] - [09/13]: More Strings, Sorting, Arithmetic and Algebra, with Combinatorics | [[contest_2011-09-13|Contest]] - [09/20]: [[https://docs.google.com/present/edit?id=0AcVsm1lcySCMZHB2djg1cF81NWNxa242YmY1&hl=en_US|Still More Strings, Sorting, Arithmetic and Algebra, and Combinatorics]] | [[contest_2011-09-20|Contest]] - [09/27]: Number Theory | [[contest_2011-09-27| Contest]] - [10/04]: [[https://docs.google.com/present/edit?id=0AcVsm1lcySCMZHB2djg1cF81NmNiZnZjY2Yz&hl=en_US|Announcements]] and [[http://prezi.com/h7i9ejy1ta6h/backtracking/?auth_key=a21fc6e47fa176f93a3ad63d3c622e0c565ff326|Backtracking]] | [[contest_2011-10-04| Contest]] - [10/11]: //fall break (no class)// | [[http://spoj.pl/PCS11|Team Practice Contest]] - [10/18]: Graph Traversal, Graph Algorithms, Dynamic Programming | [[icpc_logistics]] | [[https://docs.google.com/present/edit?id=0AcVsm1lcySCMZHB2djg1cF80OWQ0M2drdmhj&hl=en&authkey=COLR5PkN|Competition Notes]] | [[http://spoj.pl/PCS11B|Team Practice Contest]] - [10/25]: //competition make-up 1 (no class)// - [11/01]: ICPC Competition I | {{:icypc-2011.pdf|Lecture Notes}} | [[http://www.bikmort.com/dokuwiki/icypc_instructions|Local Instructions]] | [[http://queue.acm.org/icpc/|Queue ICPC Site]] - [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: //[[http://www.amazon.com/exec/obidos/ASIN/0387001638/thealgorithmrepo|Programming Challenges]]//, Steven S. Skiena and Miguel Revilla, Springer, 2003 (ISBN 978-0387001630). ====== Other Notes ====== * Blackboard [[https://blackboard.purdue.edu/webct/logon/6857148461251|link]] * [[mid-semester_evaluations]] * [[http://acm.ashland.edu|Review of ACM-ICPC ECNA RPC Problems]] * ICYPC Competition Ladder and [[icypc_instructions|instructions]] (2010 version) * Instructions for [[competing_remotely|competing remotely]] with the PC^2 software. * [[http://picasaweb.google.com/jtkorb/ACMICPCECNARPC2010?authkey=Gv1sRgCM3kwoDmpNTCPQ&feat=directlink|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 [[http://www.programming-challenges.com/bb/viewtopic.php?f=1&t=7|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 [[http://anh.cs.luc.edu/314-315/basics.html|Andrew Harrington]]. ====== Statement Concerning Campus Emergencies ====== [[http://www.itap.purdue.edu/tlt/faculty/|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).