lørdag 27. september 2003 klokken 11-16
Hva er «NM i programmering»?
NM i programmering er en programmeringskonkurranse åpen for alle
studenter ved norske universitet og høyskoler.
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.
På en annen side finnes en
oversikt
over alle påmeldte.
Påmeldingsfristen er torsdag 25.9.
Premier og ære
Det vinnende laget vil kunne titulere seg «Norgesmestre i programmering
2003». (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 27 å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:
- Først avholdes norgesmesterskapet samtidig på diverse høyskoler
eller universiteter i landet. (I 2002 deltok 86 lag i NM
og 153 lag i nordisk mesterskap;
totalt var det med 3850 lag fra 68 land verden over i
tilsvarende konkurranser.)
Samtidig med NM kjøres den samme konkurransen i Danmark, Island
og Sverige.
- De vinnende lag går videre til en
semifinale
hvor norske lag møter
andre lag fra Nordvest-Europa. (I 2002 var det 54 lag som
møttes i Delft i Nederland; syv var norske.)
- Det beste eller de to beste lagene fra semifinalene går videre til
verdensfinalen. I fjor vant Universitetet i Warszawa.
Tidligere mesterskap
I Norge har det vært arrangert mesterskap i programmering i
2000,
2001 og
2002.
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.
(Ifis 8. plass i semifinalen i 1997
er den beste norske prestasjonen hittil.)
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 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
- søking (bredde først, dybde først, «brute force»),
- enkel kombinatorikk (dvs generere alle muligheter) og
- enkle geometriske beregninger (som å avgjøre om to linjer
krysser hverandre).
Hvis du stadig lurer på om du er god nok til å delta, kan du prøve deg
på et par oppgaver.
NM 2003
NM i programmering blir sannsynligvis arrangert ved
|
Høgskolen i Molde (kontaktperson
Ketil Danielsen og
Arne
Løkketangen) |
 |
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:
Pavel Petrovic).
|
 |
Institutt for informatikk ved Universitetet i Bergen
(kontaktperson:
Fredrik Manne) |
|
Institutt for informatikk ved Universitetet i Oslo
(kontaktperson:
Dag Langmyhr)
Platform: Unix (Solaris/Linux), Emacs, JDK 1.4.2, cc, gcc,
g++, Netscape (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 25.09.2003 av
Dag Langmyhr.