Department of Computer Science

CS1090 - Competitive Programming
Fall 2016

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 on September 24 from noon until 5pm 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 Rapid City, South Dakota. 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 12 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.


    Dr. David Poplawski
    Email: pop [AT] mtu [DOT] edu
    Phone: 906-487-1726
    Office: rekhi 203
    Office Hours: MWF 11am-noon or by appointment


    There is no required textbook for this class.

    Some will find the book Programming Challenges: The Programming Contest Training Manual by Skiena and Revilla (Springer, ISBN 0-387-00163-8) useful.

the rest of this page is under construction

Please send corrections to pop [AT] mtu [DOT] edu.