Algoritmer
8. trinn
En algoritme som fungerer på ÉN test er ikke nødvendigvis en god algoritme – den må testes med flere ulike innganger, inkludert vanskelige spesialtilfeller, før du kan stole på den. Denne siste ferdigheten, å teste, feilsøke og forbedre kode systematisk, er noe av det mest nyttige du lærer i programmering – langt utover matematikken.
Bygger på: Algoritmer (7. trinn)
Start: Teste og forbedre en algoritme →- 1Teste og forbedre en algoritmeUndertema
- 2Programmere en enkel matematisk algoritmeUndertema
- 3Feilsøke i kodeUndertema
- 4Ord og uttrykkOrdliste
- 5Sjekk din forståelseQuiz
- 6EksamensoppgaverEksamensoppgaver
Vanlige feil
| Vanlig feil | Gjør heller dette |
|---|---|
| Tester en algoritme kun med ett «vanlig» tilfelle og konkluderer at den er feilfri. | Test alltid med randtilfeller også: like tall, null, negative tall, tomme lister – det er der de fleste feil skjuler seg. |
| Bruker feil sammenligningstegn, f.eks. > i stedet for ≥, og overser dermed grensetilfeller (en «av-med-én»-feil). | Sjekk grensen nøye ved å spore algoritmen med akkurat grenseverdien – gir den svaret oppgaven faktisk krever? |
| Retter en feil uten å teste den nye versjonen mot ALLE tidligere testtilfeller igjen. | Etter en rettelse, kjør gjennom alle testtilfellene på nytt – en rettelse kan ha innført en NY feil et annet sted. |
Til foreldre / leksehjelper
Kompetansemål fra læreplanen (Udir)
- utforske hvordan algoritmer kan skapes, testes og forbedres ved hjelp av programmering (se hos Udir)
Eleven skal kunne utforske hvordan algoritmer kan skapes, TESTES og FORBEDRES ved hjelp av programmering – vekten på testing og feilsøking (ikke bare det å skrive kode) er kjernen i dette kompetansemålet.
Slik kan du hjelpe
- Spill «finn feilen» sammen: skriv ned en enkel steg-for-steg-oppskrift (algoritme) for noe hverdagslig, som å lage en brødskive, med en bevisst feil – la eleven finne og rette feilen.
- Hvis du selv ikke har programmeringsbakgrunn: fokuser på selve tenkemåten («hva skjer hvis input er 0, eller negativt, eller veldig stort?»), ikke syntaksen i et bestemt programmeringsspråk.
Nye begreper
- Feilsøking (debugging)
- Å finne og rette feil i en algoritme eller et program.
- Randtilfelle
- En vanskelig eller uvanlig inngangsverdi (som null eller like tall) som ofte avslører feil i en algoritme.
Pedagogikken bak
På 8. trinn løftes algoritme-arbeidet fra mellomtrinnets fokus på å FORSTÅ og SPORE algoritmer, til å TESTE, FEILSØKE og FORBEDRE dem – en overgang fra å lese kode til å tenke kritisk om kodens pålitelighet, som er sentralt i faktisk programmeringsarbeid.
Alternative metoder
Læres dette annerledes i landet du selv gikk på skole i? Se «Alternativ forklaring/metode» på: Teste og forbedre en algoritme, Programmere en enkel matematisk algoritme, Feilsøke i kode.
Vanlige feil å være oppmerksom på
Se «Vanlige feil» over for en oversikt over misforståelser å se etter, og hva som er riktig i stedet.