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)).
Kan koden forbedres med å bruke løkker?
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.
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 )
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 å bruke programmering.
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)
- Endre slik at programmet viser og beregner summen av to terninger. Se eksempelkode: https://scratch.mit.edu/projects/344928401
- Endre slik at du har muligheten til å angi antall kast når programmet starter. Se eksempelkode: https://scratch.mit.edu/projects/345151791
- Lage et lignende spill – slik som stein saks papir. Dette programmet må også ha sannsynlighet og tre ulike muligheter. Se eksempelkode: https://scratch.mit.edu/projects/525883666/