Child pages
  • Processing.org
Skip to end of metadata
Go to start of metadata

Programmering har vært et hett tema i norsk skole de siste årene, og den siste tiden har diskusjonen blant annet handlet om programmering sin rolle i faget matematikk. Skal programmering integreres i faget matematikk, eller skal det være et eget fag? I arbeidet med fagfornyelsen har Utdanningsdrektoratet bestemt at programmering skal integreres i de fagene som allerede eksisterer, og det har blant annet ført til programmering er synliggjort i det siste forslaget til kjerneelementer i faget matematikk (UDIR, 2018b). Programmering er nevnt spesielt under de to kjerneelementene utforsking og problemløsing og modellering og anvendelser. Det fremheves at programmering sammen med realistiske data og situasjoner vil bidra til at matematikkfaget oppleves mer relevant (UDIR, 2018a). UDIR (2018a) hevder videre at "Programmering fungerer som hjelpemidler for flere områder av matematikkfaget." og at "Utviklingen går fra å bruke enkel digital programvare og applikasjoner til å forstå matematiske begreper og sammenhenger til stadig mer avansert bruk av programmering som hjelpemiddel i både utforsking, løsing og presentasjon av komplekse matematiske problemer." UDIR (2018b) kobler også programmering til algoritmisk tenkning. Dette økte fokuset på programmering gjør at det er aktuelt med økt bruk av ulike programmeringsverktøy i skolen, og dette er bakgrunnen for vårt valg av digitalt verktøy. Vi har valgt å se nærmere på Processing.org.                                                                                                                                             

Processing (2018a; 2018b; 2018c) er et programmeringsspråk og en applikasjon (et såkalt utviklingsmiljø, Integrated Development Environment, IDE) kalt Processing Development Environment (PDE) for å utvikle og kjøre programmer (kalt sketches) skrevet i dette språket. Språket ble først utviklet som et første programmeringsspråk for å promotere programmeringskompetanse, med fokus på å gjøre det enkelt å lage visuell kunst, bl.a. med tanke på at elever vil like å se noe på skjermen kort tid etter at de har tatt programmet i bruk.

For the past fourteen years, Processing has promoted software literacy, particularly within the visual arts, and visual literacy within technology. Initially created to serve as a software sketchbook and to teach programming fundamentals within a visual context, Processing has also evolved into a development tool for professionals. The Processing software is free and open source, and runs on the Mac, Windows, and GNU/Linux platforms. (Processing, 2018b)

Processing (2018a) kalles et programmeringsspråk og var i utgangspunktet basert på en forenklet utgave av programmeringsspråket Java med en del utvidelser bl.a. for tegning. Senere har det blitt laget andre varianter av Processing som bruker de samme funksjonene for bl.a. tegning basert på andre programmeringsspråk, bl.a. Python (Processing, 2018b). Processing kan da ses på som en utvidelse som kan legges til ulike andre programmeringsspråk. I tillegg er det mulig å installere andre såkalte biblioteker som utvider mulighetene ytterligere. Det er også laget en variant for JavaScript for å kjøre Processing-programmer i nettleseren.

Vi bruker begrepet applikasjon om det programmet som heter Processing som vi starter på PC-en (Processing Development Environment) og bruker begrepet program om det programmet vi selv utvikler ved å bruke Processing.

Beskrivelse av utviklingsmiljøet

Applikasjonen som brukes for å utvikle programmer skrevet med programmeringsspråket Processing, applikasjonen PDE (Processing Development Environment), er laget for å gjøre det enkelt å skrive Processing-programmer (Processing, 2018c).

Hoveddelen av applikasjonen består av et felt for å skrive og redigere programkode. For å kjøre programmet trykker man på play-symbolet oppe til venstre. Eventuelle feilmeldinger kommer i feltet nederst i bildet. I feltet nederst kommer også meldinger som programmet skriver ut mens det kjører. Når programmet startes (ved å trykke på play-knappen) kommer det opp et nytt vindu der programmet skjøres. I Fil-menyen finnes det lett tilgjengelig et stort utvalg av eksempler, bl.a. flere som viser ulik bruk av matematikk-funksjoner. I bildet nedenfor vises hovedvinduet, eksempel-listen og programvinduet, som i dette tilfellet viser en sinus-bølge.

Det er mulig å installere biblioteker som utvider mulighetene i språket. Mange biblioteker ligger lett tilgjengelig i et menyvalg der tilgjengelige biblioteker kan velges fra en liste. Andre biblioteker kan lastes ned fra nettet og kopieres inn i en mappe på PC-en og blir tilgjengelig når applikasjonen startes på nytt.

Beskrivelse av programmeringsspråket

Programmeringsspråket er basert på Java, selv om andre utgaver har kommet til senere. Det er for omfattende å beskrive programmeringsspråket i detalj her, men vi vil beskrive noen elementer som er vesentlige for å komme i gang. Vi vil også presentere tre eksempler i et senere avsnitt.

Kodelinjer avsluttes med semikolon (;). Det finnes mange funksjoner som utfører ulike oppgaver, f.eks. å tegne på skjermen. Slike funksjoner brukes ved å skrive navnet på funksjonen og oppgi parametere i parentes der ulike parametere skilles fra hverandre med komma. Dette følger samme notasjon som funksjoner i matematikk der vi vil bruke f(0) eller også f(0, 2) for funksjoner av flere variabler. Hvis man skal bruke en funksjon som ikke har parametere skal fortsatt parentesene være med. For å tegne en linje fra (0,0) til (10,10) skriver man dermed:

line(0, 0, 10, 10);

Så enkelt er det altså å komme i gang. Denne ene linjen er alt som skal til for å tegne en linje.

For å tegne bruker Processing et kartesisk koordinatsystem (Processing, 2018c), men i motsetning til det vi er vant til å matematikk er origo øverst til venstre og y-koordinatene øker nedover, noe som er tradisjon innen programmering av datamaskiner. Det er også mulig å tegne i 3D. Se figur nedenfor.

For å tegne i Processing velger man mellom ulike funksjoner avhengig av figuren man vil tegne og angir koordinater. F.eks. vil koden nedenfor tegne et rektangel med øvre venstre hjørne i (50,50) som har bredde 100 og høyde 100, en sirkel (ellipse) med sentrum i (100,100) som har bredde 50 og høyde 50, og en linje fra (50,50) til (150,150):

Det er mulig å endre slik at sirkler (ellipser) tegnes ved å angi radius istedenfor høyde og bredde med koden ellipseMode(RADIUS) noe som antagelig er fordelaktig for bruk i matematikkundervisning:

 

Hvis man vil gjøre mer avanserte ting må man bruke et rammeverk som består av to funksjoner. Dette må man også gjøre dersom man vil lage egne funksjoner. De to standard funksjonene heter setup() og draw(). Det som står inni setup() utføres en gang, når programmet starter. Det som står inni draw() utføres om og om igjen så lenge programmet kjøres. I eksemplet nedenfor vises at det er vanlig å angi størrelsen på vinduet som programmet skal tegne i med funksjonen size(). Dette trengs å gjøres bare i starten, altså i setup(). I draw() kan vi starte med å slette bildet med å overskrive med sort bagrunnsfarge med background(0), sette tegnefargen til hvit med stroke(255) og så tegne det vi vil tegne. Dette vil ta bli tegnet om og om igjen så lenge programmet kjører.

Eksemplet nedenfor viser hvordan vi kan lage en funksjon som returnerer en verdi. Avhengig av radius vil funksjonen areal() returnere arealet til en sirkel. Programmet vil også tegne en sirkel der radius er avhengig av musepekerens x-verdi, og skrive arealet på skjermen.

I eksemplet over ser vi også bruk av to variabler, r og areal. I Java har alle variabler en type, f.eks. desimaltall kalt float (engelsk floating point), eller heltall kalt int (engelsk integer).

Beskrivelse av opplæringsressurser og opplevelse av hvordan det er å komme i gang

For én av oss var Processing en helt ny applikasjon, og vår analyse tar derfor også hensyn til nybegynner-perspektivet.  Hvordan er det å komme i gang med Processing for en lærer som ikke har brukt applikasjonen tidligere? Applikasjonen lastes enkelt ned fra nettsiden https://processing.org/download/. Der kan brukeren laste ned versjoner for Windows, Linux og Mac OS. Selve installasjonen er gjort på noen få minutter.

Processing bygger på et annet programmeringsspråk enn for eksempel Logo, og da er det flott at man finner en egen side for opplæring, https://processing.org/tutorials/. På denne siden er det flere ressurser, både videoer og tekster, som gir nybegynnere en grundig innføring i applikasjonen. Vi anbefaler å starte med opplæringsverktøyet Hello processing. Dette er en interaktiv video, der brukeren blir ledet gjennom de grunnleggende idéene bak programmering i applikasjonen. Underveis får brukeren små oppgaver som skal løses i selve opplæringsverktøyet. Opplæringen starter med en innføring i hvordan man tegner de geometriske figurene, rektangel og ellipse. Dette innebærer også en enkel og god forklaring på koordinatsystemet som ligger i bakgrunnen.  Videre får brukeren grunnleggende opplæring i fargelegging, animasjon og if/else-programmering. Vi opplever opplæringen som svært god, selv om brukeren selvsagt bare får en innføring i de mest grunnleggende funksjonene. Brukeren kan bruke den tiden han/hun selv føler for, og vi synes det er en artig vri at man prøver å skape et autentisk lærer/elev-forhold. Vi mener at man etter å ha gått gjennom denne opplæringen er i stand til å begynne med enkel programmering i Processing.

De som ønsker en enda grundigere innføring i det aktuelle programmeringsspråket kan gjennomføre opplæringen på https://www.khanacademy.org/computing/hour-of-code/hour-of-drawing-code/v/welcome-hour-of-code. Dette er en lignende interaktiv opplæring. I tillegg til de to nevnte opplæringsverktøyene kan det være greit å se gjennom videoen Welcome to processing 3, der nye funksjoner i den siste versjonen av applikasjon blir forklart. Det finnes også flere skriftlige opplæringsdokument på Processing sin egen opplæringsside.

Etter noen runder med oppæring er det bare å ta i bruk programmet. Når man starter applikasjonen første gang får man opp et relativt enkelt programvindu som er oversiktlig for brukeren. Det er ingen tvil om hvor man skal skrive inn kodene sine, og man skjønner også intuitivt hvor man skal trykke for å kjøre programmet sitt (play-symbolet).

Når man kjører et program dukker det opp et nytt vindu der programmet kjøres. Det som umiddelbart kan virke som den største forskjellen fra Logo-verktøyene vi har vært borti, er at man her har veldig god kontroll på hele programmet sitt. Det skrives inn linje for linje, og brukeren får hele tiden en tilbakemelding på om det som skrives inn er korrekt. Ved feil dukker det opp varsler, og i fanen Errors nederst i programvinduet, får man tilbakemelding på hvilken feil som er gjort og hvor den er gjort. Dette fremstår som meget brukervennlig. Det er også mulig å velge en slags "autofullfør-funksjon" for kodene du skal legge inn. Denne er ikke valgt som standard, men må hukes av under innstillinger. I tillegg finner brukeren en liste over mulige koder på nettsiden https://processing.org/reference/.  

Vi vurderer at det er enkelt å komme i gang med og deretter bruke applikasjonen. Det er få knapper og funksjoner brukeren må forholde seg til, og hvis det er feil i koden får man umiddelbart beskjed om dette i feltet nederst i vinduet uten å måtte vente til man vil kjøre programmet. Det er selvsagt stor forskjell mellom det en nybegynner og en erfaren bruker får til i programmet, men mye av dette handler om å bli gradvis vant til hvilke funksjoner som kan brukes. Brukeren må ha et stort fokus på i hvilken rekkefølge kodene blir skrevet inn i programmet, og det er noe vi kan overføre til matematikken. I tillegg må brukeren selv oppdage noen av de matematiske mulighetene som er til stede. Her har man for eksempel ikke de samme mulighetene til å angi retning som i Logo-verktøy. I Processing må man derimot angi retning gjennom vektorer i et koordinatsystem.

Analyse

Hudson (2014) skriver at "A thorough evaluation of digital curricula requires defining goals, honoring learning principles, research analysis, and a focus on student empowerment and critical thinking." (s. 3). Vi vil her analysere Processing ut fra disse punktene.

Mål

Goldenberg (2000) presiserer at en god undervisningsøkt har en sentral ide som fokus, og teknologi kan brukes for å unngå fokus på det som ikke er målet for undervisningen. Bruk av kalkulator når det ikke er utregningen som er målet for undervisningen er et eksempel på dette. Vi tenker at bruk av programmering i matematikkundervisningen kan støtte en slik tankegang ved at f.eks. beregninger og tegning kan automatiseres. Oppdeling i funksjoner vil bidra til å bryte ned problemet i mindre deler som kan løses uavhengig av hverandre og på den måten redusere kompleksitet. Samtidig er det en mulighet for at selve programmeringen og utfordringer med dette tar fokus bort fra det faktiske læringsmålet.

Læringsprinsipper

MAKVISE (LearningLab, u.å.) har i lang tid vært en huskeregel for planlegging av god undervisning. Huskeregelen gjenspeiler viktige læringsprinsipper. Vi vil vå analyse omtale hvordan Processing ivaretar disse prnsippene.

Motivasjon
Det digitale verktøyet, Processing, og programmering generelt kan gjøre det mer motiverende for elever å jobbe med forskjellige matematiske temaer. Verktøyet egener seg godt til å gi elevene problemløsningsoppgaver og åpne oppgaver. Dette er oppgavetyper som kan virke positivt på elever motivasjon (Nosrati & Wæge).

Aktivisering
Ved å la elevene selv arbeide med ulike programmeringsverktøy vil vi alltid sørge for at elevene er aktive.

Konkretisering
Processing kan for eksempel konkretisere hvilken betydning variabler har i algebraiske uttrykk. Elevene kan bruke variabler i sine programmer, og vil da umiddelbart se et konkret resultat når de kjører programmet sitt.

Variasjon
Gjennom å bruke Processing og andre digitale verktøy kan læreren gjøre undervisningen mer variert. Det vil oppleves som positivt å gjøre noe annet enn å løse oppgaver i læreboka.

Individualisering
Gjennom å gi elevene problemløsningsoppgaver og åpne oppgaver som skal løses i programmeringsverktøyet, vil hver enkelt elev kunne arbeide på sitt eget nivå. Slik mener vi at prinsippet om individualisering er ivaretatt.

Samarbeid
Oppgavetypene som kan bli gitt tilknyttet programmering vil egne seg godt for samarbeid mellom elever.

Evaluering
Processing ivaretar evalueringsprinsippet på en god måte. Elevene vil få en umiddelbar tilbakemelding på om det er mangler ved kodene de skriver inn, og samtidig får de en visuell tilbakemelding når de kjører programmet sitt.

På bakgrunn av beskrivelsen ovenfor mener vi altså at Processing ivaretar viktige læringsprinsipper på en god måte.

Forskning

Goldenberg (2000) hevder at teknologi brukt riktig for å undervise "higher-order thinking skills" (s. 2) slik som resonnering og problemløsning korrelerer positivt med prestasjon i matematikk. Teknologi brukt for "higher-order thinking skills" krever bl.a. at det er elevene som formulerer og løser problemene. F.eks. vil generelle programmer som en tekstbehandler kreve at elevene har ideene og utvikler disse, på samme måten vil programmeringsspråk være generelle og la elevene utvikle sine egne ideer, noe Goldenberg (2000) kaller "idea-processing" (s. 3). Både i matematikkundervisningen og norskundervisningen krever slike teknologier at elevene har gode oppgaver (problemer), strategier og måter å tenke på, og veiledning, men valg av problemer å jobbe med er under lærernes kontroll, og ikke utvikleren av teknologien. Problemløsningsprosessen er under elevens kontroll, under veiledning av læreren.

Programmering, i for eksempel Processing, kan ifølge Gadanidis m.fl. (2017) styrke elevenes læring i matematikk på tre ulike måter. For det første vil programmering på en konkret måte gi elevene økt forståelse av det abstrakte som er sentralt i matematikken. Det gir også elevene til dynamisk modellering av matematiske begreper og sammenhenger. I tillegg har mange programmeringsverktøy, også Processing, en lav inngangsterskel. Dette gjør at de fleste elever kan engasjere seg i aktiviteten. Samtidig legger Processing til rette for et miljø med stor takhøyde. Her kan alle elver få en utfordring på sitt nivå.

Myndiggjøring og kritisk tenkning

Processing kan gi elevene en bedre matematisk kompetanse, og dette medfører at også at elevene oppnår en økt matematisk myndiggjøring. De vil få økt forståelse for den teknologien som ligger bak mange av de verktøyene de møter i hverdagen, og dette vil forhåpentligvis gjøre elevene bedre i stand til å ha et kritisk blikk på disse verktøyene.  

Drøfting av muligheter og begrensninger med Processing

Selve utviklingsapplikasjonen er brukervennlig. Det er lite som skal til for å komme i gang og skrive kode og kjøre programmet man har laget. Mulighetene for bruk i matematikk drøftes i neste avsnitt. Det at det er enkelt å komme i gang og det er enkelt å tegne noe på skjermen taler for at Processing egner seg som for nybegynner i programmering. Det at Processing er basert på et vanlig brukt programmeringsspråk betyr også at elevene lærer realistisk programmering som ikke er begrenset til en skolekontekst.

Programmeringsspråket vil være en terskel og for små barn vil kanskje blokk-basert programmering slik som f.eks. Scratch være et alternativ. Noe begrensede språk som f.eks. LOGO vil også ha lavere inngangsterskel, men for større barn, spesielt de som blir interessert i programmering, vil Processing ha muligheter som vil kunne gjøre programmeringen mer givende. Vi vurderer terskelen for å komme i gang med Processing som ganske lav noe vi håper eksemplene nedenfor vil vise.

En utfordring for tekstbasert programmering (til forskjell fra blokk-basert som f.eks. Scratch) er at det er nødvendig å forholde seg til syntaks (som hvordan; () {} skal plasseres). Feil vil gis som feilmeldinger som kan være vanskelige å forstå, men reglene er veldefinerte så med tanke på at programmene vil være av begrenset kompleksitet vil det være mulig å finne mange feil ved å se nøye over det som er gjort. Man vil også i de fleste tilfeller få beskjed om hvilken linje feilen er i.

En begrensning med Processing som vi er forundret over er at det ser ut til at det ikke er en enkel måte å be brukeren om å skrive inn en verdi, f.eks. ved å spørre brukeren om radius eller antall sider i et polygon. Et alternativ som kan brukes er å bruke posisjonen til musepekeren som en måte å hente inn et tall.

Hvordan Processing kan være et redskap for å nå læringsmål i matematikk

Det meste av drøftingen her vil være generell for de aller fleste vanlig brukte programmeringsspråk, men styrken til Processing er primært at det er enkelt å lage tegninger, både i to og tre dimensjoner. Vi fokuserer primært på bruk i grunnskolen. For videregående skole er det flere andre muligheter som er interessante, f.eks. muligheten til å tegne i tre dimensjoner og bruk av vektormatematikk.

Flere begreper i matematikk er naturlig i bruk i programmering, spesielt variabler og funksjoner. Ved å bruke variabler og funksjoner tenker vi at elevene får erfaring med disse begrepene og ser nytten av dem, og får erfaring med generalisering når de ved bruk av variabler prøver å skrive kode som er generell slik at den kan brukes for ulike parametere (variabler). F.eks. vil de kunne lage en funksjon som kan tegne samme figur på flere plasseringer (ved å bruke variabler for x og y, og i ulike størrelser (f.eks. ved å bruke variabel for radius).

For å tegne uten bruk av skilpaddegeometri vil det være bruk for å angi koordinater i et koordinatsystem, og det vil være nødvendig å forholde seg til et koordinatsystem som ikke er helt likt det som vanligvis presenteres i lærebøkene. Dette vil kunne gi dypere forståelse for hva et koordinat og et koordinatsystem er ved at elevene må utforske selv hvordan dette fungerer. Det at det ikke finnes en funksjon for å tegne sirkel eller kvadrat gjør kanskje at elevene må reflekter over sammenhengen mellom ulike begreper slik som ellipse og sirkel, og mellom rektangel og kvadrat, og vil måtte forholde seg til at et kvadrat er et rektangel. Verktøyet vil kunne gi elevene økt forståelse for matematiske begrep og sammenhengen mellom disse. Elevene lærer matematikk ved å programmere, men i tillegg vil Processing gi elevene gode muligheter til å utvikle generelle kognitive ferdigheter. De må planlegge koden, dekomponere problemer og tenke reversibelt. Elevene ser behov for å utvikle sine egne problemløsningsstrategier. Dette er i tråd med de to målene Kaput (1992) beskrev for programmering i skolen. 

Ved å bruke variabler må de bestemme typen til variabelen, vanligvis ved å velge mellom heltall (int) og desimaltall (float). Dette gjør kanskje at elevene reflekterer over ulike tallmengder. Når de bruker funksjoner som tar parameter og i noen tilfeller returnerer en verdi vil det være mulig for læreren å koble dette til definisjonsmengde og verdimengde.

Ved å gjøre mer eller mindre kompliserte beregninger, spesielt ved bruk av variabler, vil elevene se behovet for å forholde seg til regnerekkefølge og parenteser på en ryddig måte.

Hvis elevene skriver noe større kode vil de snart se behovet for å beskrive hva de har gjort (som kan gjøres i koden med // eller /* */ for å legge inn kommentarer). Dette vil læreren kunne utnytte for å overføre samme tankegang til arbeid med tradisjonelle matematikkoppgaver ved at elevene venner seg til å bruke tekst for å forklare og argumentere for beregninger.

Vi tenker også at kjennskap til programmering vil forberede elevene til å utnytte mulighetene i verktøy som GeoGebra, spesielt for å bruke CAS på en oversiktlig måte. Ved å bruke variabler i CAS (f.eks. r := 2) i GeoGebra blir beregningene mer lesbare og risiko for feil reduseres.

Lær Kidsa Koding!, "en frivillig bevegelse som arbeider for at barn og unge skal lære å forstå og beherske sin egen rolle i det digitale samfunnet " (LKK, 2018a), argumenterer for at informatikk er et viktig fag "på lik linje med for eksempel matematikk" (2018b). De hevder at "Ved å lære om programmeringsspråk og datamaskiner blir man i stand til å ta kontroll over teknologien og bruke den slik man vil, fullt ut. Alle som skriver sitt første program opplever at datamaskinen blir mye mindre mystisk. Programmering gir makt til å bruke datamaskinen som kreativt verktøy." (2018b). LKK (2018b) trekker frem flere grunner til programmering i skolen, bl.a. at programmering er et nyttig verktøy som gir mulighet til å uttrykke seg kreativt, at det lærer bort systematisk tenkning og kreativ problemløsning, utvikling av arbeidsmetodikk med iterativ testing og forbedring og at det er motiverende å se visuelle resultater.

Eksempel med kartesisk koordinatsystem

For å vise et eksempel på bruk med kartesisk koordinatsystem i matematikkundervisning har vi løst en oppgave fra eksamen 10. trinn 2016 der elvene skulle finne radius av den lille sirkelen øverst i et vindu fra en bygning i Venezia, der radius i den omskrevne halvsirkelen er kjent, i dette tilfellet 80 cm.

Her må elevene gjøre det samme som de må gjøre for å løse eksamensoppgaven, men de må i tillegg beregne sentrum i de ulike sirklene. Ved å programmere dette vil de få umiddelbar tilbakemelding på om beregningene er tilnærmet riktige, selv om det bør presiseres at dette er en empirisk tilbakemelding og ikke et bevis for at beregningene er riktige. I eksemplet er det brukt en variabel for å beregne radius r. Verdien til r kunne vært brukt direkte i den siste kodelinjen, men i dette tilfellet mener vi elevene bør introduseres for variabler i programmering noe vi tenker vil ha overføringsverdi for variabelbegrepet i matematikk.

Her har vi brukt funksjonen arc som tegner en sirkelbue. Vi må da gi to vinkler for å fortelle hvilken del av sirkelbuen som skal tegnes og dette må oppgis i radianer. Vi ser ikke på dette som et stort problem, men heller som en mulighet for nysgjerrige elever å utforske radianer.

Dette eksemplet er det også mulig for interesserte elever å utvide ved å lage en funksjon som tegner vinduet basert på gitte parametere, noe som vi tenker vil gi elevene erfaring med funksjonsbegrepet, skrivemåten f(x), variabelbegrepet og generalisering.

Eksempel med skilpaddegeometri

For å vise et eksempel på bruk av Turtle-biblioteket for skilpaddegeometri ala LOGO viser vi hvordan vi kan tegne mangekanter.

Det er mulig for interesserte elever å utvide dette til generelle mangekanter der det blir behov for å generalisere vinkelen.

Og for veldig interesserte elever er det mulig å la mangekanten være innskrevet i en sirkel, noe som gjør det nødvendig å generalisere også sidelengden ved bruk av trigonometri (Formel for sidelengden er det mulig å finne på internett for elever som ikke har lært trigonometri. Kanskje det også kan trigge nysgjerrighet?) Eksemplet nedenfor viser innskrevet mangekant der musepekerens y-verdi brukes for å velge antall sider.

Med Turtle-biblioteket er det mulig å gjøre det samme som man kan gjøre i LOGO, men ved å bruke Processing er også andre muligheter slik som bruk av kartesisk koordinatsystem lett tilgjengelig, samtidig som man lærer et noe mer moderne programmeringsspråk.

Eksempel utenfor geometri

Nedenfor er et eksempel på å skrive ut en tallrekke fra en eksplisitt formel, i dette tilfellet  . Det første eksemplet skriver direkte ved å bruke formelen, mens det andre eksemplet gjør det samme ved å bruke en formel som returnerer ledd nummer n. Verdiene blir skrevet ut i feltet nedenfor programkoden.

Referanser

Clements, D. H. (1985). Logo programming: Can it change how children think. Electronic Learning4(4), 28.

Gadanidis, G., Brodie, I., Minniti, L. & Silver, B. (2017) Computer Coding in the K-8 Mathematics Curriculum? Hentet fra http://www.edu.gov.on.ca/eng/literacynumeracy/inspire/research/Computer_Coding_K8_en.pdf

Goldenberg, E. P. (2000). Thinking (and talking) about technology in math classrooms. Education Development Center Inc.

Hudson, T. (2014). Best Practices for Evaluating Digital Curricula. DreamBox Learning, Inc.

Kaput, J. J. (1992). Technology and mathematics education. I D. A. Grouws (Ed.), Handbook of research on mathematics teaching and learning (s. 515-556). Reston, Va: National Council of Teachers of Mathematics / Information Age Publishing.

LearningLab. (u.å.). MAKVIS eller KAMPVISE for planlegging av undervisning. Hentet fra https://www.bi.no/forskning/learninglab/teaching-excellence/makvis/

LKK. (2018a). Om LKK. Hentet fra https://kidsakoder.no/om-lkk/

LKK. (2018b). Motivasjon. Hentet fra https://kidsakoder.no/skole/motivasjon/

Nosrati, M. & Wæge, K. Sentrale kjennetegn på god læring og undervisning i matematikk, Matematikksenteret

NOU 2013:2. (2013). Hindre for digital verdiskaping. Oslo: Departementenes servicesenter, Informasjonsforvaltning.

Processing. (2018a). Cover. Hentet fra https://processing.org/

Processing. (2018b). Overview. Hentet fra https://processing.org/overview/

Processing. (2018c). Environment. Hentet fra https://processing.org/reference/environment/

UDIR. (2018a). Høring: Siste utkast til kjerneelementer i matematikk fellesfag og programfag. Hentet fra https://hoering.udir.no/Hoering/v2/197?notatId=358

UDIR. (2018b). Kjerneelementer og begrunnelser for valg av innhold i faget. Hentet fra https://hoering.udir.no/LastNedVedlegg/508

  • No labels