lørdag 2. oktober 2004 klokken 11-16

      

Hva er «NM i programmering»?

NM i programmering er en programmeringskonkurranse åpen for alle studenter ved norske universitet og høyskoler.

NB! Nye regler!

Les mer her.

Lag bestående av studenter (maks 3 pr lag; hvert lag har én datamaskin) konkurrerer om å løse så mange programmeringsoppgaver som mulig i løpet av 5 timer.

Påmelding

Påmelding skjer på en egen påmeldingsside som nå er stengt. På en annen side finnes en oversikt over alle påmeldte.

Påmeldingsfristen er torsdag 30.9.2004.

Premier og ære

Det vinnende laget vil kunne titulere seg «Norgesmestre i programmering 2004». (Slikt ser meget pent ut på enhver CV!) Dessuten vil Trolltech og Microsoft dekke utgiftene til de to beste lagene i forbindelse med deltaking i den nordvest-europeiske finalen som arrangeres i Lund i Sveriga som en del av The Annual ACM International Collegiate Programming Contest.

De vinnende lagene fra universitetene i Bergen og Oslo samt NTNU er dessuten garantert å få dekket sine utgifter ved deltaking i den nordvest-europeiske finalen. Det er mulig dette også vil gjelde andre institusjoner.

Bakgrunn

De siste 28 årene har «The Association for Computing Machinery» (ACM) arrangert The Annual ACM International Collegiate Programming Contest som er en konkurranse hvor lag av studenter konkurrerer mot hverandre om å løse programmeringsoppgaver. Denne verdensomspennende konkurransen arrangeres i flere stadier:
  1. Først avholdes norgesmesterskapet samtidig på diverse høyskoler eller universiteter i landet. (I 2003 deltok 62 lag i NM og 137 lag i nordisk mesterskap; totalt var det med 3150 lag fra 75 land verden over i tilsvarende konkurranser.)

    Samtidig med NM kjøres den samme konkurransen i Danmark, Island og Sverige.

  2. De vinnende lag går videre til en semifinale hvor norske lag møter andre lag fra Nordvest-Europa. (I 2003 var det 54 lag som møttes i Lund i Sverige; fem var norske. /dev/duff fra NTNU ble nr 2; tidenes beste norske plassering.)
  3. Det beste eller de to beste lagene fra semifinalene går videre til verdensfinalen i Shanghai. I fjor vant St Petersburg institutt for finmekanikk og optikk.

Tidligere mesterskap

I Norge har det vært arrangert mesterskap i programmering i 2000, 2001, 2002 og 2003.

Institutt for informatikk ved Universitetet i Oslo har arrangert sitt Ifi-mesterskap siden 1997; du kan finne oppgaver og løsningsforslag for 1997, 1998 og 1999.

Institutt for informatikk ved Universitetet i Bergen avholdt sitt første mesterskap i 1999; du kan studere oppgavene som ble brukt og hvorledes det gikk med laget siden.

Hvem kan være med?

Hvert lag kan bestå av inntil tre studenter hvorav høyst én får være bachelor, cand.mag., ingeniør eller tilsvarende. Når det gjelder studenter med femårig studieløp kan høyst én være 4- eller 5-årsstudent. Ytterligere opplysninger finnes i de offisielle reglene.

Åpen klasse

Det er også mulig å melde på lag i såkalt «åpen klasse» hvor det ikke stilles noen krav til hvor langt man er kommet i utdannelsen; her kan alle være med. Men vinnerlaget får ikke kalle seg «norgesmester» og kan ikke reise til semifinalen.

Konkurranseform

Konkurransen foregår slik at lagene får utdelt et sett med 6–8 oppgaver. De har også tilgang på én (og bare én!) datamaskin. Laget skriver så et dataprogram i C, C++ eller Java for hver oppgave.

Så fort et program er ferdig, sendes det til en dommer som kjører programmet på et hemmelig datasett; hvis det da gir riktige svar og ikke bruker mer enn maksimumstiden (typisk 5–20 sekunder), er det godkjent. Dersom programmet blir underkjent, kan man sende inn nye løsningsforslag, men da får man 20 minutter tillegg i tiden om det blir godkjent.

Det laget som har løst flest oppgaver i løpet av 5 timer, vinner. Dersom to lag har løst like mange oppgaver, vinner det laget som har brukt kortest tid totalt.

I løpet av konkurransen vil den fortløpende plasseringen til lagene bli lagt ut på en Internett-side. Oppdateringen av denne siden stopper når det gjenstår 1 time av konkurransen.

Er du god nok?

Nivået på problemene som blir gitt er slik at en student som har tatt et par kurs i programmering og algoritmer, bør kunne løse de fleste oppgavene. En student som bare har tatt ett programmeringskurs, bør kunne løse et par oppgaver. Typiske teknikker som blir testet er Hvis du stadig lurer på om du er god nok til å delta, kan du prøve deg på et par oppgaver.

NM 2004

NM i programmering blir sannsynligvis arrangert ved

Høgskolen i Molde (kontaktperson Hans F Nordhaug og Arne Løkketangen)
Høgskolen i Oslo (kontaktpersoner Mark Burgess og Kjetil Grønning.
Høgskolen i Sør-Trøndelag (kontaktperson Grethe Sandstrak)
Høgskolen i Vestfold (kontaktperson Helge Herheim)
Høgskolen i Østfold (kontaktpersoner Jan Høiberg og Gunnar Misund )
Institutt for datateknikk og informasjonsvitenskap ved Norges Teknisk Naturvitenskaplige Universitet (kontaktperson: Nils Grimsmo
Institutt for informatikk ved Universitetet i Bergen (kontaktperson: Yngve Villanger
Institutt for informatikk ved Universitetet i Oslo (kontaktperson: Dag Langmyhr)
Platform: Linux , Emacs, Java 1.4.2, cc, gcc, g++, Mozilla (altså ingen Windows)
Institutt for informatikk ved Universitetet i Tromsø (kontaktperson: Frode Fjeld)

(og kanskje andre steder i Norge, men det er ennå ikke klart.)

Dersom det ikke arrangeres en lokal konkurranse ved din skole eller du ikke kan reise til et av de nevnte konkurransestedene, ta kontakt med en av de ansatte og vis dem denne siden. Tar de kontakt med Fredrik Manne, vil han være behjelpelig med alt som trengs for å sette opp en lokal konkurranse (og det er ikke så mye som skal til...).


Sist oppdatert 27.10.2004 av Dag Langmyhr.