====== Ground Rules ====== - Generic course policies are given at Prof. Spafford's [[http://spaf.cerias.purdue.edu/cpolicy.html|Course Polices]] page. - Weekly attendance is required. - No specific outside homework is planned, but * you are encouraged to read through the weekly chapter before each class; * we may hold one or two separate "practice contests" toward the end of the semester; and * plan on attending the ACM International Collegiate Programming Contest on Saturday, October 31, 2009. - When solving problems... * Course requirement: Discussions are fine, but write your own code. * Contest requirement: Using books (especially the text) is OK, but no web searching (for class use, it is OK to search language reference materials). ====== One-Time Setup ====== - Buy the book: Skiena & Revilla, [[http://www.amazon.com/Programming-Challenges-Steven-S-Skiena/dp/0387001638|Programming Challenges]]. - Join Facebook group: [[http://www.facebook.com/group.php?gid=125232120895|Competitive Programming]]. - Join both robot judging websites: * [[http://www.programming-challenges.com|Programming Challenges]]. Join classroom number 817, CS390JK. * [[http://uva.onlinejudge.org|UVA Online Judge]]. - Set up directory structure and programming environment: * Use one directory for each problem (named, e.g., by the problem number). * Choose C, C++, or Java. * Programs read from stdin and write to stdout. For Java, use the Scanner class for input (arcane setup at Programming Challenges site is not needed). ====== Weekly Schedule ====== - Skim current chapter. - Discuss chapter-of-the-week concepts. - Solve problems: * Get [[http://www.programming-challenges.com/pg.php?page=studenthome|problem list]] from Programming Challenges site. * [[http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=25|Submit]] at UVA Online Judge site for accuracy in judging. * [[http://www.programming-challenges.com/pg.php?page=studenthome|Submit]] final solution to Programming Challenges site. - Discuss solutions.