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!

Home
NMU Contest History
2008 ACM Contest
2009 NMU Contest
2008 NMU Contest
2009 BonzAI Brawl