Programmering i CAS, del 1.
Man kan stille sig selv det spørgsmål, hvilket formål der er med at belemre eleverne med programmering i matematik? Er der ikke nok at tage sig til, er der ikke nok de skal lære og kan vi nå det hele?
I denne første del af tre i min klumme om programmering i CAS, vil jeg beskrive, hvorledes at programmering kan være med til at skabe en læringsproces, der fremmer elevernes matematiske tænkning, således at de fjerner sig fra blot at gentage det, de undervises i, og i stedet opnår en forståelse ved at forholde sig aktivt til området – fokus i undervisningen flyttes fra udenadslære til problemløsning..
Basic og regneark
Programmeringssproget Basic og regneark falder næppe under begrebet CAS. Når jeg nu alligevel vælger at medtage disse to værktøjer, er det dels fordi de giver eleverne en ide om, hvad det er man undersøger når man løser en ligning, men også dels fordi de er at finde online. Der er findes flere varianter af de to programmer, jeg har valgt at anvende Microsoft Small Basic og Google Sheets. Begge værktøjer udmærker sig ved at være veldokumenteret på skrift som video, og ved at være lette at komme igang med samt er platformuafhængige.
Begrundelse for undervisningen i fagets formål
I Fagets Formål (2019) stk. 2 står at »elevernes læring skal baseres på, at de selvstændigt og gennem dialog og samarbejde med andre kan erfare, at matematik fordrer og fremmer kreativ virksomhed…«, og senere i afsnit 4.4 i afsnittet om Tal og Algebra, at eleverne skal »… bevæge sig fra at løse ligninger i konkrete kontekster og med støtte i materialer mod at udvikle metoder til ligningløsning, som gælder generelt …«
Begge tekstudsnit kan anvendes som begrundelse for at planlægge programmering ind i undervisningen, som en del af de undervisningsværktøjer læreren har til rådighed.
Undervisningen
Det er vigtigt at man forbereder eleverne på at kunne løse de udfordringer, de møder i løbet af forløbet. En grundig forberedelse af hvordan enten regnearket er bygget op eller hvordan sproget basic fungerer, kan ske ved at man viser eksempler og lader eleverne undervise sig selv i grupper, eller evt. individuelt, ved hjælp af videoeksempler, kapitler fra en bog med eksempler etc.
Som Lærer har du forberedt nogle eksemplariske lette eksempler, som I i fællesskab løser og diskuterer. Herefter skal eleverne i grupper selv finde frem til generelle løsningsmetoder på ligningstyper som du har fundet frem, for derefter at overlade det at »programmere den generelle løsningsmodel« til eleverne.
Når først eleverne har sat sig ind i et værktøj, som fx sproget basic, kan det det trækkes frem igen og igen for hver gang man arbejder sig hen imod nogle generaliseringer, fx areal og omkreds af en reetvinklet trekant, senere en vilkårlig trekant, eller lade eleverne finde en generel måde til at bestemme de Pythagoræiske tripler. Eksemplerne er mange.
Eksempel med Google Sheets
Vi starter med en klassisk let metode til i et regneark at løse en ligning af formen ax+b=c, i det viste eksempel skal eleverne finde en løsning til ligningen 2x+5=9.
Først indtastes de x-værdier ligningen skal gennemløbe, i dette eksempel undersøger vi ligningen 2x +5=9 med x-værdierne fra -2 til 6. Det kan være et lille første programmeringsskridt for eleverne, at finde ud af, hvordan de får regnearket til, hele tiden at lægge en til den foregående værdi, for derved at kunne »trække« x-værdierne så langt som de ønsker.
I kolonnen ‘Venstre side’ skrives ligningens ene side og i højre ligningens løsning 9. Lige under 2x+5 skrives den generelle løsningsmetode (=2*A5+5). Regnearket finder nu, ved at »trække« den generelle løsning fra B5 til B13 resultatet af 2x+5. Når ‘Venstre side’ og ‘Højre side’ viser ens værdier er ligningen løst – i dette tilfælde er x-værdien =2.
Man kan diskutere om dette er egentlig programmering, og det er det vel egentlig ikke, men eksemplet lader eleverne arbejde med det generelle i løsningsmetoden, og derved skabe en forståelse for det der ligger bag at løse en simpel ligning, og ved at lade eleverne udarbejde og vise forskellige eksemplariske eksempler for hinanden, skabes en dialog og en kreativ tilgang mod at udvikle metoder til ligningløsning, som gælder generelt.
Eksempel med Small Basic
Microsoft Small Basic er som program eller online til pc, chromebook eller tablet, et veldokumenteret og nemt tilgængeligt programmeringssprog der baserer sig på engelske logiske kommandoer, som det fremgår af eksemplet nedenfor. Jeg har valgt at løse samme eksempel som i regnearket, nemlig 2x + 5 = 9!
Small Basic giver mulighed for et tværfagligt samarbejde med engelsk, og eleverne kan fx udarbejde en ordbog over kommandoer; if = hvis, Text = text, WriteLine = skriv linje etc. eller man kan aftale, at de i engelsk læser manualen, eller dele af manualen (Tutorials) eller se nogle af de mange instruktions-videoer der er på YouTube. Tom Benyons videoer er et godt eksempel.
Programmeringssproget er med vilje ikke særlig omfangsrigt – der er kun ca. 14 nøgleord, men det er fuldt tilstrækkeligt og gør det overskueligt for eleverne at give sig i kast med.
I ovenstående eksempel har jeg lade x-værdien gennemløbe tallene fra -100 til 100, og sagt at;
hvis (if) 2·x+5 = 9, så skriv (TextWindow.WriteLine) i et vindue “x =” x-værdien (her x = 2)
– kryptisk, måske når man bare læser det, men eleverne fatter hurtigt princippet når de har fået det vist eller set nogle instruktionsvideoer eller læst de første små tekster i Tutorials.
Her er målet det samme; at lade eleverne går fra det konkrete til det generelle, selv opstille og afprøve hypoteser, og i dialog finde generelle løsninger på forskellige opgavetyper. Igen, mulighederne er mange, fx løsning af en andengradsligning vha. pq-metoden eller arealet af parallellogrammer.
Afrunding
I denne første del, har jeg anvendt atypiske programmeringsprogrammer på måder vi ikke normalt ikke forbinder med matematikundervisning, og påpeget at dette også er et af mange værktøjer der lader eleverne undersøge og konkludere selv, som der gentages og lægges op til flere steder i faghæftet for 2019.
Flere gange er jeg blevet mødt med, at det har vi ikke tid til, jeg mener at det skal vi have tid til. Indrømmet, det tager tid i starten, men når først værktøjerne er vist for eleven, kan man bruge det som en tilgang til at udvikle metoder til løsninger, der gælder generelt i andre sammenhænge.
I næste afsnit vil jeg skrive om programmering i to andre programmer, Maple og CalcMe.