Kvifor arbeide med denne oppgåva?
Denne oppgåva tek utgangspunkt i konteksten sortering av spelekort for å gjere elevane nysgjerrige på effektiviteten til forskjellige sorteringsalgoritmar.
Ved å undersøkje kor lang tid kvar metode tek ved verst/best mogleg utgangspunkt, kan oppgåva brukast til å introdusere og belyse meir eller mindre komplekse algoritmar. Det kan også vere ein programmeringsaktivitet, der det er naturleg å bruke og sortere lister.
Når elevane får møte mange forskjellige algoritmar som har same funksjon, håpar vi at dei vil reflektere over fordelane med å ha mange forskjellige verktøy i den «matematiske verktøykassen» når dei skal løyse problem.
Mogleg tilnærming
Kvar elev treng alle korta frå ess til konge av éin sort i ein kortstokk. Alternativt kan dei bruke andre nummererte kort. «Bland korta dykkar og legg dei i rekkjefølgje frå ess til konge. Sjå på korleis andre sorterer korta sine. Gjer de det på same måten? Kor effektiv er måten din?»
Deretter kan du vise filmane under Starthjelp, eller dele ut kopioriginalen. Elevane bør prøve å forstå algoritmane før dei prøver dei sjølve.
«Gjennomfør kvar algoritme nokre gonger for å bli betre kjend med han. Deretter vel du to algoritmar som du vil samanlikne. Kva for ein er raskast? Kvifor? Kan du plassere korta dine i det verst tenkjelege utgangspunktet for kvar av dei to algoritmane, for å få det til å ta så lang tid som mogleg?»
Gi elevane tid til å utforske både spørsmåla nedanfor og spørsmåla i oppgåva eller kopioriginalen:
- Kva for ein algoritme synest du er gjennomsnittleg raskast?
- Kva er det verste tenkjelege utfallet for kvar algoritme? Kva for eit utgangspunkt vil gi flest «trekk» eller «byte»?
- Kor lang tid vil det ta å sortere ved verst tenkjelege utgangspunkt?
Diskuter funn og oppdagingar saman med heile klassen.
Mogleg utviding
Utfordre elevane til å bruke ein pseudokode eller eit programmeringsspråk dei kjenner, for å uttrykkje algoritmane.
Mogleg støtte
Introduser éin algoritme om gongen. Denne nettsida https://www.toptal.com/developers/sorting-algorithms kan visualisere algoritmane, og kan hjelpe elevane til å forstå dei forskjellige metodane.