Programmeringsspråk: Python

Funksjoner i Python - Kompetansemål 10. trinn: Utforske matematiske egenskaper og sammenhenger ved å bruke programmering. Teknologi: Python Eksempelkode: https://replit.com/@SusanneStigberg/funksjonsmaskin https://replit.com/@SusanneStigberg/Funksjonsplotter https://replit.com/@SusanneStigberg/Funksjonsmaskin-med-plot Beskrivelse: I denne oppgaven kan eleven skrive inn ulike x-verdier, og programmet plotter punktene til funksjonen. Denne oppgaven var ikke med i utprøvningen, men har blitt laget i etterkant. Gå in på: https://replit.com/@SusanneStigberg/Funksjonsmaskin-med-plot Use: La elevene gjøre …
Geometri python - Kompetansemål 8. trinn: Utforske hvordan algoritmer kan skapes, testes og forbedres ved hjelp av programmering Kompetansemål 6. trinn: Bruke variabler, løkker, vilkår og funksjoner i programmering til å utforske geometriske figurer og mønstre Teknologi: Python Eksempelkode: https://replit.com/@SusanneStigberg/GeometryTurtlePatterns https://replit.com/@SusanneStigberg/GeometryInnerOuterCircleSquare Beskrivelse: I denne oppgaven skal elevene gjøre seg kjent med Turtle-verktøyet og bruke dette for å tegne …
Kaste terning i python - Kompetansemål 9 trinn: Simulere utfall i tilfeldige forsøk og beregne sannsynligheten for at noe skal inntreffe, ved å bruke programmering. Teknologi: Python Eksempelkode: https://replit.com/@SusanneStigberg/kast-med-2-terninger https://replit.com/@SusanneStigberg/maprogterning https://replit.com/@SusanneStigberg/maprogterningmodified Beskrivelse: I dette programmet kan eleven velge hvor mange kast han/hun vil gjøre med to terninger. I det øvre diagrammet vises fordelingen for antall øyne som var på terningen. …

Funksjoner i Python

Kompetansemål 10. trinn:

Utforske matematiske egenskaper og sammenhenger ved å bruke programmering.

Teknologi:

Python

Eksempelkode:

https://replit.com/@SusanneStigberg/funksjonsmaskin

https://replit.com/@SusanneStigberg/Funksjonsplotter

https://replit.com/@SusanneStigberg/Funksjonsmaskin-med-plot

Beskrivelse:

I denne oppgaven kan eleven skrive inn ulike x-verdier, og programmet plotter punktene til funksjonen. Denne oppgaven var ikke med i utprøvningen, men har blitt laget i etterkant.

Gå in på: https://replit.com/@SusanneStigberg/Funksjonsmaskin-med-plot

Use: La elevene gjøre seg kjent med programmet.

  • Hvilke verdier blir lagret i listen?
  • Hva er sammenhengen mellom x-verdier og y-verdier?

Modify: Gå inn og se på eksempelkoden.

  • Hva beskriver de ulike radene?
  • La elevene endre til en annen funksjon.
  • Kan elevene endre slik at alle koordinater skrives ut på konsollen? Hint: det trengs en løkke for å få det til.

Create: Utforske ​matplotlib og numpy bibliotek for å lage egne funksjonsmaskiner.

Numpy: https://numpy.org/doc/stable/reference/routines.math.html

Matplotlib: https://matplotlib.org/

Robot som skal bevege seg i geometriske figurer

Kompetansemål 8. trinn:

Utforske hvordan algoritmer kan skapes, testes og forbedres ved hjelp av programmering

Kompetansemål 6. trinn:

Bruke variabler, løkker, vilkår og funksjoner i programmering til å utforske geometriske figurer og mønstre

Teknologi:

mBot och mBlock / Blokkprogrammering

Ressurs:

Kom i gang med Mbot-programmering

Beskrivelse:

Denne oppgaven kan passe som en oppstart ved bruk av en robot. Målet er at elevene skal bli kjent med utstyret, og deretter begynne å reflektere omkring hvordan programkoden henger sammen med geometriske figurer.

Eksempel på opplegg:

Laste ned programmet (mBlock). Gå in på linken https://www.mblock.cc/en-us/download/ og følg instruksjonene.

Velg om du vil at elevene skal bruke Bluetooth (anbefales da du kan kjøre programmet uten å laste opp programvaren til roboten) eller laste opp programvaren med USB.  Se på filmen hvordan du gjør det.

La elevene gjøre seg kjent med koding gjennom å få roboten til å bevege seg framover, snu, bakover.

La elevene få roboten å gå etter geometriske firkanter (kvadrat, rektangel, parallellogram, trapes, og få elevene å reflektere over figurenes egenskaper (vinkler i hjørnene, parallelle linjestykker. Gjør på samme måte med trekanter (likesidet, likebeint, rettvinklet)).

Eksempelkode for en firkant. Elevene må justere tiden.

Kan koden forbedres med å bruke løkker?

Eksempelkode med bruk av lykker

Oppsummering: velg å se på ulike koder. Hva er egenskapene hos de ulike geometriske figurene? Hva kan forbedres i koden, hvordan?

Geometri python

Kompetansemål 8. trinn:

Utforske hvordan algoritmer kan skapes, testes og forbedres ved hjelp av programmering

Kompetansemål 6. trinn:

Bruke variabler, løkker, vilkår og funksjoner i programmering til å utforske geometriske figurer og mønstre

Teknologi:

Python

Eksempelkode:

https://replit.com/@SusanneStigberg/GeometryTurtlePatterns

https://replit.com/@SusanneStigberg/GeometryInnerOuterCircleSquare

Beskrivelse:

I denne oppgaven skal elevene gjøre seg kjent med Turtle-verktøyet og bruke dette for å tegne geometriske figurer. Informasjon om verktøyet finnes her: https://docs.python.org/3.3/library/turtle.html?highlight=turtle. Et forslag er at elevene først kun skal forklare hva som skjer, siden se på koden og tolke koden og etterpå forandre i koden. Målet kan tilpasses etter hvor mye elvene har jobbet med Python tidligere, men det overgripende målet er å lære om ulike egenskaper hos figurer og hvordan man kan tegne figurer i Python.

Gå in på https://replit.com/@SusanneStigberg/GeometryTurtlePatterns.

Les koden (Use)​:

  • Hvordan tegne en blå sirkel?​
  • Hvordan tegne et  gult kvadrat?​
  • Hvordan tegne en lilla trekant?​

Endre koden (Modify)​:

  • Endre fargen i 2. rad​
  • Endre mangekanter i 6. rad​
  • Endre rotasjoner 180 grader i 5. rad

Ha en oppsummering og se på noe kodeavsnitt felles.

Ekstraoppgave (Create):

Prøv å lage figuren​.

Skriv ut sidelengde, indre radius og ytre radius​

Løsningsforslag finns her: https://replit.com/@SusanneStigberg/GeometryInnerOuterCircleSquare

Utvikle oppgaven videre​

Kaste terning i python

Kompetansemål 9 trinn:

Simulere utfall i tilfeldige forsøk og beregne sannsynligheten for at noe skal inntreffe, ved å bruke programmering.

Teknologi:

Python

Eksempelkode:

https://replit.com/@SusanneStigberg/kast-med-2-terninger

https://replit.com/@SusanneStigberg/maprogterning

https://replit.com/@SusanneStigberg/maprogterningmodified

Beskrivelse:

I dette programmet kan eleven velge hvor mange kast han/hun vil gjøre med to terninger. I det øvre diagrammet vises fordelingen for antall øyne som var på terningen. Dette kan brukes i diskusjon om hvor mange øyne som er mest sannsynlig å få. Hvorfor blir fordelingen (trolig) mer jevn jo flere kast man gjør? Det nedre diagrammet viser summen av de to terningene.

Forslag til opplegg:

USE: La elevene bli kjent med programmet ( https://replit.com/@SusanneStigberg/kast-med-2-terninger eller https://replit.com/@SusanneStigberg/maprogterning). Hvor mange sider har terningene? Hvorfor ser fordelingen ulik ut om man ser på hver enkelt terning eller summen av to terninger. Hva blir forskjellen om eleven kaster 10 kast eller 1000 kast (store talls lov)? La elevene jobbe i grupper og utforske programmet og svare på disse spørsmålene.

Eksempel: 100 terningkast med 2 terninger med 4 sider

MODIFY: La elevene se på koden og forsøke å forstå hva de ulike radene betyr. De kan prøve å endre. Det er ikke farlig om de gjør feil og programmet slutter å fungere. Det går alltid an å begynne på nytt. Forsøk å endre i koden slik at antall sider på terningene endres til seks sider. Hva skjer med fordelingen da? Hvorfor? Fortsett å utforske hva som skjer hvis antall sider er ni eller endre antall terninger til tre terninger? (https://replit.com/@SusanneStigberg/maprogterningmodified )

Eksempel: 1000 Terningkast med 3 terninger med 9 sider

Oppsummering om hva dere har funnet ut.

(CREATE: Lage et lignende spill – slik som stein saks papir. Dette programmet må også ha sannsynlighet og tre ulike muligheter. Se eksempelkode: https://replit.com/@SusanneStigberg/SteinSaksPapir).

Kaste terning i regneark

Kompetansemål for 9. trinn :

Målet for opplæringa er at eleven skal kunne simulere utfall i tilfeldige forsøk og beregne sannsynligheten for at noe skal inntreffe, ved å brukeprogrammering. 

Teknologi:

Regnearkprogram

Eksempelkode:

Kast med en terning
Kast med to terninger

Beskrivelse:

Vi tenker at bruk av regneark, her excel, også er en form for programmering der elevene lager formler. I eksemplet brukes kast med en terning og kast med to terninger. 

Mange elever på 9. trinn kan allerede lage formler i et regneark der de bruker tilfelidigformelen, sum, antallhvisformel mm.  Dersom elevene har gode ferdigheter i å lage regneark, kan de lage regnearket selv. Dersom de ikke har så mye erfaring med regnearket, kan lærer levere ut et ferdig regneark som elevene prøver i bruk (Use). De kan prøve seg fram og endre formelen slik at de bruker andre typer terninger (nikantet) eller flere terninger (Modify). Til slutt kan de bruke regnearket og lage et annet eksempel, e.g. Stein, Saks, Papir (Create). 

Tips:

Det kan være interessant å sammenlikne bruk av regneark med Scratch og Python, som er to andre måtene som viser simulering av utfall i tilfeldige forsøk. Elevene kan oppfordres til å finne fordeler og ulemper med ulike måtene å bruke programmering på. 

 

Kaste terning i scratch

Kompetansemål 9. trinn:

Simulere utfall i tilfeldige forsøk og beregne sannsynligheten for at noe skal inntreffe, ved å bruke programmering.

Teknologi:

Scratch / Blokkprogrammering

Eksempelkode:

Scratch Studio med 4 eksempler https://scratch.mit.edu/studios/25998548/

Beskrivelse:

Denne oppgaven kan koble sammen programmering og sannsynlighet ved å bruke Scratch. Tanken bak er at eleven kan begynne med en terning med tre sider (Use) for å siden endre antall sider til seks sider (Modify). Et av læringsmålene kan kobles til fordeling av antall øyne og se sammenheng med antall kast. Når antallet kast økes, blir fordelingen (trolig) mer jevn ifølge store talls lov.

Gå inn på:https://scratch.mit.edu/projects/345153246

  • Kjør programmet. Hva skjer? Hvordan ser fordelingen ut. Er det en mulig fysisk terning?
  • Åpne programmet «se inni»
  • Les programkoden. Hva gjør hver blokk?
  • Endre programmet til et ekte terningkast med seks sider. Se eksempelkode: https://scratch.mit.edu/projects/345150775

Forslag til to ulike utvidelser av oppgaven (Create)