ACM Excitement

| | Comments (0)

Earlier today we held the Association for Computing Machinery (ACM) Underclassmen Programming Competition.

Generally, ACM competitions are held between teams of 1–3 mostly undergraduate students of varying skillset. The event itself lasts around 3 or 4 hours and the assignment conists of around a half-dozen problems of varying difficulty. Because some of the top students are real hotshots, a good section of the problem set is usually dedicated to quashing anyone who thinks they can have their way with the event staffs' intellects.

This has the unintended sideëffect of scaring off the less experienced competitors. Since the ACM is always looking to recruit impressionable and physically capable youths, these competitions often miss the mark.

The Underclassmen Competition was a deliberate move to include those with sub-planet-sized brains. Competitors were limited to folks in lower-level CS classes and the problems were specifically designed to be easier than poking a dead badger with a stick.

Here are the problems. I wrote numbers 1, 3, 7, and 8, although 1 was a nearly-impossible carryover from a previous competition (as insurance against hotshot underclassmen) and 3 seems to be showing the source for 1.

Prep for the contest started a few weeks ago, and we wrote the problems over this last week. At the day before the competition (at around noon), I only had 5 problems out of 11. Whew.

The event itself started at around 9:00am, when Will, Egypt, James, and Brian started showing up at Speare.

Some quick setup ensued while we sortof scrambled to get the autograder replaced and the scoring system installed. In the end, we hacked Will so he worked like a problem distribution engine, and James and I graded. Egypt coded the score system half the time, and graded the other half.

Turnout was better than I was expecting. We had a total of 28 contestants on 14 teams. The top two teams solved five problems each, although admittedly, one of the teams (2nd place) was only one person.

Consumption rates include around 15 pizzas (five of which were ostensibly hauled off by competitiongoers, at our request) and a shitton of soda. Laura again made asskickingly good brownies and cookies. I brought donuts.

The best part about these programming contests is invariably the errors that people have in solving the problems. Some of my favorites include:

  • Solution submissions for problem 8 after it was announced that someone had already solved the problem, and thus took the points. This happened at least twice.
  • The one team that made something like 10 attempts at problem 6 before correctly solving it. We had a ton of failed submissions for this problem, because people weren't using maximum-precision floating point variables.
  • Numerous submissions that printed crap to stdout1. My personal favorite was, "ERROR! YOU'RE DUMB! ERROR!" or something similar.
  • Source code named things like, "prob9.c," "test.c," and my favorite, "crap.c." All submissions were to be in the format, "teamXXprobN.c."
  • Source code that flat-out did not compile. This brought me back to the good times of my CS423 adventure.

And so forth. There were some ridiculously popular errors that nearly universally arose from the sloppy translation of the problem-in-the-mind-of-the-author to the problem-in-the-mind-of-the-coder. I spent a lot of time verifying the wording in the problems to ensure that yes, they do explicity define the behavior that teams were failing to reproduce.

As mentioned, one team got five problems out of the ten. In writing solutions, I cranked out three in ten minutes—although I knew exactly what I was looking for.

I think there was only one team that didn't get any problems. Bummer, dude.

Prizes were primarily courtesy of Microsoft (REPREZENT). Thanks go out to Layla for the hookup, but at the same time, I don't want to overlook all the effort that the local ACM Krew put into making this thing work. Cindy, especially, gets major props for making sure we don't lose our minds.

Speaking of Cindy, she got me an absolutely fucking awesome book called Bad Cat which features funny pictures of kitties. The odd part is the back flap:

Jim Edgar [the author] lives in Seattle, Washington. He is married with no children, or cats. He pays his bills by working for Microsoft Corporation as a software engineer.

Weird.

I'd post pictures of that, but the book doesn't lend itself well to it. Otherwise, it's totally sweet. And by totally sweet, you know where I'm going with this.

Here are some contest pictures.

1 Note that the output for all of these programs goes into a file on disk.

Leave a comment

Pages

Powered by Movable Type 4.12

About this Entry

This page contains a single entry by milkman published on April 16, 2005 11:23 PM.

Sleeping Kitty Filter was the previous entry in this blog.

Script-fu is the next entry in this blog.

Find recent content on the main index or look in the archives to find all content.