The class meets once a week. Some weeks we hold practice competitions, some weeks we go over tips/techniques/algorithms. There is some homework - writing code to solve typical programming contests, but not a lot (it is just 1 credit after all). Grading is relative to your background - more is expected of seniors than freshmen, but if you do the homework, come to class, and basically take it seriously you'll get a A. You will be required to compete in the ICPC contest on Saturday, October 29th in Sault Ste Marie, so you have to devote Friday evening and all day Saturday to it. There is another Saturday practice contest, tentatively set for October 1, and you "should" compete in it too.

The ICPC contest is global. There are regional contests around the world all fall, and you have to finish in the top few to qualify for the finals in Thailand. If you do qualify for the finals you get a free trip to compete against the best in the world (MTU has done this 4 times in the last 11 years). It is NOT EASY to qualify for the finals.

You have to compete in a team of 3 students (undergrad or grad, any combination). You get one computer, and no access to anything electronic (the internet, cell phone, calculator, usb drive, etc.). You can use anything printed as reference (books, notes, old code listings, etc). There are several problems (8-10) to solve. The winning team is decided by who solves the most problems in the time allotted (usually 5 hours). If there is a tie (there usually is), then it is broken by adding up the total time to solve those problems, with the clock for each solution starting at the beginning of the contest. Hence the clock is running on all the problems at the same time, and the winning strategy is to solve the easiest (fastest) first. Also, if you submit a solution and it doesn't work on hidden data, you get a 20 minute penalty added to that problem should you eventually solve it correctly. No time or penalty is counted for problems not solved, so there is no penalty for trying but not succeeding, other than wasting your time.