Programmierwettbewerbe

Wissenswertes
Keine Kommentare

Am 18.12.2009 ging ja die Catalysts Christmas Challenge über die Bühne.

So ein Wettbewerb ist klarerweise für die Teilnehmer spannend – aber mindestens genau so spannend ist er für die Organisatoren.

  • Werden sich genügend Programmierer anmelden?
  • Wird die Aufgabenstellung schwer genug aber nicht zu schwer sein?
  • Wird die Aufgabenstellung verständlich sein?
  • Passen die Beispiellösungen?
  • Wird der Test-Server funktionieren (CatCoder)?

Die erste Frage wird wohl immer wieder spannend sein, die anderen drei Fragen versuchen wir im Vorfeld zu klären: in einem Catalysts-internen Programmierwettbewerb.
Eine Woche vor dem öffentlichen Programmierwettbewerb gibt es einen internen Wettbewerb, an dem jeder Catalysts-Mitarbeiter teilnimmt (sofern nicht gerade krank oder bei einem Kundentermin ist).
Es geht zuerst darum, die Aufgabenstellung zu testen. Es geht aber auch darum, sich im Team zu messen.

Diesmal haben unsere drei schnellsten Programmierer die Aufgabe ziemlich zeitgleich in 1:05 gelöst gehabt. Ich selber habe 1:35 gebraucht. Wenn sogar ich die Aufgabe in 1:35 lösen konnte, dachte ich mir, wird ein guter Programmierer sicher in 1-2 Stunden fertig sein.
=> Somit war klar, dass die Aufgabenstellung von der Länge für die 1-2 Stunden passen wird.

Einige Punkte waren in der Aufgabenstellung nicht klar formuliert:

  • Genabschnitte, Gensequenzen,… => lieber immer dasselbe Wort verwenden
  • Sortierung der Paare => ursprünglich gar nicht beschrieben, jetzt nach dem X-Wert des orientierten Paares
  • Sortierung der Paare => in der Beispiellösung ursprünglich nach dem Absolutbetrag des X-Wertes, jetzt nicht mehr nach Absolutbetrag
  • Darstellung der Inversionen untereinander => jetzt mit zusätzlichen Pfeilen

=> Mit diesen Änderungen hatten wir dann ein “gutes Gefühl”, dass die Aufgabenstellung wohl klar genug formuliert ist.

Die unabhängig voneinander entwickelten Lösungen haben wir dann verwendet, um die Beispiellösungen zu validieren: berechnet auch tatsächlich jedes Programm für einen bestimmten Input denselben Output?
Schließlich wäre es ja ziemlich peinlich, wenn wir beim öffentlichen Programmierwettbewerb einem Programmierer den Sieg verwehren, nur weil der CatCoder glaubt, dass seine Lösung falsch sei.

Dass der CatCoder auch diesmal wieder beim öffentlichen Wettbewerb eine Macke gezeigt hat, stimmt mich ein bisschen nachdenklich. Wir haben ihn jetzt zwar schon seit einigen Jahren im Einsatz und er hat uns noch nie wirklich im Stich gelassen, aber kleinere Pannen gibt’s halt doch immer wieder.

Aber die eigentliche Quintessenz unserer internen Programmierwettbewerbe ist:

  • Es ist extrem spannend – jeder will zeigen, was er kann.
  • Neue Mitarbeiter von Catalysts können zeigen, wo sie im Vergleich zu den anderen stehen (Wolfgang Ebner hat letzten Dezember im ersten Monat bei Catalysts gleich den internen Wettbewerb gewonnen).
  • Die Geschäftsführer von Catalysts können zeigen, dass sie das Programmieren noch nicht verlernt haben (Meine 1:35 hätten beim öffentlichen Wettbewerb bei 62 Teilnehmern für den 5. Platz gereicht).
  • Uns taugt’s allen.
  • Wir machen sicher auch in der Zukunft genau so weiter.
Vorheriger Beitrag
20. Wissensspritze: Leistungsstarke UIs
Nächster Beitrag
Making Of “Advent-Gewinnspiel”

Related Posts

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Bitte füllen Sie dieses Feld aus
Bitte füllen Sie dieses Feld aus
Bitte gib eine gültige E-Mail-Adresse ein.
Sie müssen den Bedingungen zustimmen, um fortzufahren

Menü