CSCI 498:  C3 - Competitive Coding Class


Registration Information


 Term/Year 
 

Class
 Number 

 

  Section  
 

  Act  
 

  Days  
 

  Time  
 

  Room  
 

 Instructor 
 
Fall 2007 8206 CSCI 498C-01 SEM T 0500-0750  OCNL 431   Juliano
 


Description

This course is based on Dr. Skiena's SUNY at Stony Brook course, CSE 392, Programming Challenges; hence, "[t]his course will introduce an interesting variety of subjects in programming, algorithms, and discrete mathematics through puzzles and problems which have appeared in the ACM International Collegiate Programming Contest (ICPC) and similar venues."

The course meets once a week where students are immersed in a simulated ICPC environment. 


Prerequisites

CSCI 112 or permission of instructor.



Required Reading

  1. Fabian Ernst, Jeroen Moelands, and Seppo Pieterse. 1996. "Teamwork in Programming Contests: 3 * 1 = 4." Crossroads, 3(2), 17-19.
  2. Shahriar Manzoor. 2001. "Common Mistakes in Online and Real-Time Contests." Crossroads, 7(5), 4.
  3. Andrew Trotman and Chris Handley. 2006. "Programming Contest Strategy." Computers & Education (to appear).


Additional Requirements

Students officially registered for the course will have their own Chico State Connection (CSC Portal) account.
 
WebCT Vista Students are responsible for regularly checking their WebCT Vista account (automatically generated through the CSC Portal) to access an up-to-date on-line calendar of events, current scores, on-line quizzes, etc.
UVaStudents are required to register (create an account) with the UVa Online Judge at http://icpcres.ecs.baylor.edu/onlinejudge/ in order to participate in any of the Challenges in this class. The UVa Online Judge will be used for (automatic evaluations of) submissions to problems being considered at a Challenge. Problems used in Challenges will come from the UVa Online Judge archives. Hence, it is to a student's advantage to practice with this online tool whenever possible.



Objectives

  1. to get students used to the ICPC competition format;
  2. to get students used to working in teams in an effective, efficient, and efficacious manner; and
  3. to mentor students and provide them with practice, Practice, PRACTICE!!!


Grade Evaluation

Students will be graded based on their dedication, involvement, and participation in all activities in class. All solutions to programming challenges will be collected. Student performance in class may be used to determine ranking of students or groups based on current ICPC scoring methods. Each week, only the names of the Top 3 students will be announced. At the discretion of either the instructor, the department, or the college, the top student finishers at regular intervals (e.g. monthly) or overall at the end of the semester may be awarded prizes.

 
   80%    Student participation   
   20%    Student performance (based on ICPC scoring methodology)   
 



Final Grades

This is a Credit/No Credit course. Students who exhibit motivation (show of effort) and desire to learn, and participate in all class activities, should have no problems earning Credit for this course.



General Policies

Dr. J has some general policies (see http://www.ecst.csuchico.edu/~juliano/Teaching/Policies.html) that apply to all courses that he teaches. Students are expected to read and understand these policies upon registration of the course.



Topical Coverage

Here is an up-to-date list of problems we have considered/discussed this Fall 2007 semester:
Date Problem Name and Notes Source / Reference
Aug 30 The 3n+1 Problem
    - see dynamic programming
UVAValladolid Online Judge / Problem Set Archive (UVa)
The Blocks Problem
    - see disjoint set ADT
UVAValladolid Online Judge / Problem Set Archive (UVa)
Sept 4 Ecological Bin Packing Problem
    - see bin packing
UVAValladolid Online Judge / Problem Set Archive (UVa)
Sept 11 Challenge A UVAValladolid Online Judge / Problem Set Archive (UVa)
Sept 18Challenge BUVAValladolid Online Judge / Problem Set Archive (UVa)
Sept 25Challenge CUVAValladolid Online Judge / Problem Set Archive (UVa)