HISTORY OF THE NMU
INVITATIONAL PROGRAMMING CONTEST
By Dr. Andrew A. Poe
The Northern Michigan University
Invitational Programming Contest is the largest annual
collegiate academic competition held at this University consistently outdrawing the ACM competition at
Lake State. Our problems are generally better written and
more efficiently graded; we have fewer restrictions on grad
student participation; we are more centrally located.
In 1999, my first year on faculty, I
had the privilege of escorting two teams from NMU to the ACM
Programming Contest at Lake State, the first time NMU had
competed in about fifteen years or so. The students
had so much fun that they encouraged us to host our own
competition in the spring, and Dr. Randy Appleton and I, without knowing what we were
getting into, agreed to give it a shot. So, I busied myself
coming up with rules and problems (and, in fact, I solicited
problem suggestions from Computer Science faculty all over
the U.P.) and Randy took over the contest from a logistical
perspective, getting rooms and laptops and food, and so, on
Saturday 1 April 2000, we held the First Annual Northern
Michigan University Invitational Programming Contest, and it
was an unmitigated success. It was a reasonably large
event, sixteen teams total from four universities. Everyone
had fun, and we knew that this was going to be a tradition.
We were using IBM ThinkPad 390E's
running Windows 98SE. A memory error in your code could
conceivably crash your whole system. We had the teams
spread out over West Science and I graded them from Sue's
desk, manually, with minimal software assistance. We had
minimal University support then, so we had corporate
sponsorships; the rear of the official T-shirt was a series
of ads!
We moved to Jamrich the next year
and we've been there ever since. For as long as the
University laptops had floppy drives, we were accepting
submissions on floppy. I would give each team six floppies,
each encoded with their team identification and problem
number. When I inserted the floppy into my laptop, my
software would detect the team and problem number and handle
everything automatically. After the floppy drives were
retired, we switched to CD-RW's. They weren't as reliable
or as fast, but they worked and were cheap. For the last
four contests, we've used flash drives, and they're the best
system yet, allowing for grading turnaround time of
approximately two minutes.
C and C++ were the only accepted
languages at first; Java was added a couple of years later.
This year, we added C# to the list. We've used Windows XP
Professional as our underlying operating system for a number
of years now, and the laptops have been reliable and stable,
requiring minimal technical support during the contest.
Coming up with problems of a correct
level of difficulty is always hard.
In 2008, two teams managed to
correctly solve all six problems. On the other hand, in
2006, the winning team only solved two of them.
However, as I tell our students,
there's no such thing as a perfect contest. But, each year,
they get better, smoother, and more fun.
The first ten years are just a
beginning, and we're all looking forward to future contests! |





 |