Læringsressurser

Komme i gang med programmering

Hvis du ikke har programmert før, bør du lese dette.

Dataprogrammer lages ved at man skriver programkode for å fortelle datamaskinen hva den skal gjøre. Fordi det er veldig vanskelig å skrive kode som datamaskinen forstår, er det blitt laget mange programmeringsspråk som er lettere for mennesker å forstå. Et programmeringsspråk består av forskjellige kommandoer som man kan bruke til å instruere datamaskinen. Men datamaskinen selv kan ikke forstå programmeringsspråk, så derfor finnes det egne programmer, såkalte kompilatorer, som oversetter fra programmeringsspråk til kode som datamaskinen forstår.

Det finnes hundrevis av programmeringsspråk, som egner seg til forskjellige ting. Deltakerne i NIO kan anvende enten C, C++, Java eller Python. Det er umulig å si hvilket språk som er best, men her vil vi fokusere på C++ som er velegnet til algoritmisk programmering. Det er ikke blant enkleste språkene, men det skal gå greit å lære seg det hvis man har en god bok eller nettside om det. Prøv for eksempel http://www.cplusplus.com/doc/tutorial/ eller http://www.cprogramming.com/tutorial.html#c++tutorial.

NIO-oppgavene er kanskje i vanskeligste laget for de som ikke har programmert før, men hvis man er ute etter en utfordring, anbefaler vi å sette i gang med først å lære seg grunnleggende programmering og så ta en kikk på oppgavene.

Oppsett

Se Komme i gang med C++.

trening til 1. runde

Prøv deg på Oppgaver fra 1. runde tidligere år (om du står fast, så sjekk løsningsforslagene).

TRENING TIL 2. RUNDE

Se Pensum til 2. runde i NIO

TRENING TIL Norsk finale / boi / ioi

Fredrik Anfinsen har laget et glimrende kompendium med teori og oppgaver som dekker det som trengs til finalen. Det som er markert med * er mer myntet på de som går videre til BOI og IOI.

MER Trening

Besøk vår bootcamp for trening til NIO/IOI og informasjon om andre relevante aktiviterer.

Bokanbefalinger

Accelerated C++: Practical Programming by Example Andrew Koenig og Barbara E. Moo – MIT Press
En god bok om C++ programmering som går rett på sak.

Algoritmer og datastrukturer med eksempler i C og Java av Helge Hafting og Mildrid Ljosland – Gyldendal Akademisk / Stiftelsen Tisip
En fin innføring som dekker mye på relativt få sider, og som er ganske lettlest.

Competitive Programming 2: This increases the lower bound of Programming Contests. Again. av Steven Halim og Felix Halim
Dekker alle nødvendige forkunnskaper til NIO/IOI og mer til fra et konkurranseperspektiv.

One thought on “Læringsressurser

  1. Pingback: Pensum til andre runde i NIO | Norsk informatikkolympiade

Leave a Reply

Your email address will not be published. Required fields are marked *