Modul 1: Introduksjon til programmering

Oversikt

170 minutter + utprøving med elever
Algoritmisk tenkning, Programmering

Målet med denne modulen er å utvikle kunnskap om begrepene algoritme, variabel, løkke og pseudokode i programmering.

Ressurser

Forberedelse for alle deltakerne

  • Les målet for modulen.
  • Gjør A – Forarbeid individuelt før dere starter med B – Samarbeid.

Forberedelse for den som leder modulen

  • Les gjennom hele modulen, og forbered deg på å lede B – Samarbeid og D – Etterarbeid.
  • Se gjennom presentasjonen du skal bruke under gjennomføringen av modulen.
  • Løs oppgavene i presentasjonen før dere starter med B – Samarbeid.
  • Gi deltakerne beskjed om å gjøre A – Forberedelse før dere starter med B – Samarbeid.
  • Skriv ut artikkelen til deltakerne, hvis de ikke leser den digitalt.

A – Forarbeid

30 minutter
Individuelt

Les avsnittene om algoritmer, variabler, løkker og pseudokode i artikkelen Programmering – noen sentrale begrep.

Skriv ned noen tanker relatert til punktene nedenfor.

  • Hva forbinder du med begrepet programmering?
  • Gi eksempler hvordan programmering kan brukes som verktøy i matematikkopplæringen.

B – Samarbeid

100 minutter
Grupper og plenum

Gå gjennom innholdet i presentasjonen i fellesskap.

Oppsummer forarbeidet i grupper og plenum (15 minutter)

Arbeid i grupper på 2-3 lærere.

  • Ta utgangspunkt i notatene fra A – Forarbeid og del refleksjonene i gruppene (5 minutter).
  • Bli enige om noen punkter som dere vil løfte frem i plenum.
  • Del gruppenes punkter i plenum (10 minutter).

Faglig påfyll (30 minutter)

  • Programmering er mer enn koding
    • Mange setter likhetstegn mellom koding og programmering. En programmerer gjør derimot mye mer enn å skrive programkode. Programmering inkluderer blant annet å identifisere problemer, tenke ut mulige løsninger, finne mønstre, designe logisk struktur, kode, feilsøke, teste og forbedre.
  • Algoritmer
    • Programmeringsfaget eier ikke algoritmebegrepet. Vi bruker mer eller mindre formelle algoritmer i det meste av det vi foretar oss, fra tannpuss til løsning av likninger og programmering av avanserte datamaskiner. Mange har negative assosiasjoner knyttet begrepet. Det gjelder både i den digitale verden hvor «algoritmene vet hva vi vil se, hva vi gjør, hva vi liker etc.», men også i matematikkfaget hvor begrepet ofte har negativt fortegn fordi «algoritmer er automatisering og bruken av de stimulerer overflatelæring eller instrumentell forståelse». Gjennom programmering må vi utvikle egne algoritmer, som krever en annen type forståelse.
  • Variabler
    • Variabler er plassholdere for forskjellige verdier. De kan kalles nærmest hva man ønsker, bortsett fra noen få reserverte ord. Variabler kan enten tilordnes en verdi, eller kontrolleres for hvilken verdi de har. Forsøk å pek på hvor i eksemplet i PowerPoint-presentasjonen variabelen tilordnes verdi, og hvor verdien kontrolleres.
  • Film om løkker: Hour of Code - Mark Zuckerburg teaches Repeat Loops
  • Løkker
    • Gå gjennom innholdet på i PowerPoint-presentasjonen. Forsøk å identifisere kontrolluttrykk og kropp i eksemplet, før dere prøver å finne ut hva som blir resultatet av at løkkene i eksemplene kjøres.
  • Pseudokode
    • Det lønner seg ofte å planlegge strukturen og logikken i et program, før man begynner å lage selve koden. Dette kan gjøres ved hjelp av pseudokode, hvor vi kan ta i bruk et mer lesbart språk, samtidig som vi strukturerer algoritmene slik som den skal være i det ferdige programmet.

Film: Hour of Code - Mark Zuckerberg teaches Repeat Loops

Oppgave om pseudokode og lag program (30 minutter)

Gjør oppgaven som beskrevet i presentasjonen. Pass på å få nok tid til å prøve ut programmeringsaktiviteten i Scratch.

Planlegge egen undervisning (25 minutter)

Deltakerne skal nå planlegge og gjennomføre en aktivitet der elevene skal få en introduksjon til begrepene algoritme, variabel, løkke og pseudokode. Aktiviteten kan deles opp i flere økter, og skal gjennomføres før neste samling.

Deltakerne kan velge om de jobber individuelt eller flere sammen.

C – Utprøving

Hele eller del av ei undervisningsøkt
Individuelt

Gjennomfør den planlagte aktiviteten. Etter gjennomføringen skal du reflektere over:

  • Hvilket forhold har elevene til begrepene som det arbeides med?
  • Var noen begreper enkle eller vanskelige - hvorfor?
  • Hvor effektive var algoritmene til elevene? Hva kjennetegner effektive algoritmer?

Brukte elevene løkker for å løse problemet/problemene?

D – Etterarbeid

40 minutter
Grupper og plenum

Erfaringsdeling i grupper (15 minutter)

  • Les gjennom dine egne notater fra planleggingen og gjennomføringen.
  • Gå sammen i gruppene som planla undervisningsopplegget sammen, og del erfaringer.
  • Bli enige om minst tre erfaringer som gruppa vil dele i plenum.

Oppsummering i plenum (20 minutter)

  • Hver gruppe presenterer kort undervisningsopplegget sitt, før de deler erfaringer fra felles undervisningsopplegg.

Veien videre og neste modul (5 minutter)

  • Neste modul handler om betingelser og funksjoner i programmering (ikke publisert enda).
  • Diskuter og bli enige om dere vil gjøre en ny utprøving av et opplegg med målene fra denne modulen, eller om dere vil gå videre til neste modul.