tirsdag den 24. november 2015

Fysik, programmering og Hour of code.

Hvorfor skrive om Hour of code i forbindelse med fysik? Eller for den sags skyld i forbindelse med de andre naturfag for udskolingen? Fordi det at kunne bruge computerprogrammering kan tilføre noget nyt til vores undervisning i naturfagene.


Hvad kan programmerings-kompetencer tilføre undervisningen?
Først og fremmest er det at kunne lade elever programmere simulationer eller animationer en (set i forhold til traditionen i vores skolefag) ny måde at vise sin forståelse af det faglige stof og at arbejde med modeller og sammenhænge.

Det kan handle om den elev, der har lidt svært ved at udtrykke sig verbalt. Hun kunne i stedet kode en animation, og evt bruge den som grundlag til at forklare / fremlægge.

Det kræver ofte en bedre forståelse af stoffet at programmere animationer. Hvis du f.eks vil programmere en animation om et frit fald, skal du have en vis minimums-forståelse for fysikken i det for at kunne overføre det til din kodning. Heri kan der altså også ligge udfordringer til de ekstra talentfulde elever.

Programmeringen kan være en måde at komme dybere ned i stoffet under indlæringen. Når man leger med matematikken, mens man koder, ser man øjeblikkeligt, hvad ændringerne gør ved bevægelsen. Koder eleverne sammen to og to kan de diskutere og på den måde blive endnu skarpere i deres forståelse og formidling.

Og som lærer vil man kunne lave de animationer, man ellers sidder og leder efter på nettet. Eller evt forbedre dem, man har fundet.

Desuden vil en stor del af de elever, der vælger at gå videre med naturvidenskabelig uddannelse, skulle lære at kode i f.eks Java eller Python. De vil derfor have gavn af at kende  logikken i programmering.

Rent kognitivt fremmer arbejde med programmering en analytisk tankegang, der vil kunne understøtte deres forståelse af den naturvidenskabelige metode. Se evt artiklen her fra The Hechinger Report om "How one school district works computational thinking into every grade and class"


Lidt eksempler på, hvad man kunne gøre med programmering i fysik-undervisningen.

Jeg har for dette blogindlægs skyld leget med at lave to forskellige animationer om det frie fald.
Det første er tænkt som været lavet af den elev, der har forstået, at tyngdeaccelerationen er forskellig på hhv. Jorden og Månen. Og hvad denne forskel gør ved æblets bevægelse.
Tryk på det grønne flag for at starte. Når æblet er faldet ned, tryk igen på det grønne flag for at tage et nyt valg.




I det næste eksempel forestiller jeg mig, det er en dygtigere elev, og at jeg derfor vil have vedkommende til at arbejde lidt mere med matematikken i bevægelsen. Det kunne ende som dette bud, hvor både hastighed (velocity), tid og tilbagelagt strækning skal beregnes af programmet.



Jeg er ikke selv afsindigt erfaren udi det med at programmere. Men jeg mener, det giver mange muligheder og redskaber i undervisningen. Hvis man er helt begynder, er Hour of code et godt sted at begynde. Mere om det længere nede.

Først vil jeg lige vise et eksempel på, hvordan en mere hardcore programmør end jeg har simuleret en simpel harmonisk svingning i Scratch.




Og her er et fjerde Scratch-eksempel. Lavet af en elev. Denne gang er vi i biologiens verden.





Kom i gang med programmering. Hvordan?
I folkeskolen kan vi nå langt med programmering bare ved at lære eleverne at kode i Scratch, som er en online ressource udviklet og stillet til gratis rådighed af MIT (Massachusetts Institute of Technology) .

Man bygger sit program op med kulørte klodser som på billedet herunder.



Logikken i sammensætningen og funktionerne af klodserne, modsvarer logikken i "rigtig" programmering.

Netop derfor anvendes det også i CS50x, som er et populært, gratis online-kursus i introduktion til computer science fra Harvard University.
I første modul af kurset skal de studerende arbejde med Scratch. I andet modul arbejders der med at bringe programmerings-forståelsen fra Scratch over i at arbejde med programmeringssproget C.

CS50x's karismatiske og populære underviser David J. Malan har opnået kultstatus i visse online kredse. Her er hans introvideo til kurset.



Har du og dine elever aldrig før prøvet at programmere, er Hour of code et udramatisk sted at starte.
Det er hjemmesiden for et verdensomspændende event, hvor man forsøger at få så mange skolebørn som muligt til at stifte bekendtskab med logikken i computerkodning. Der kan man som lærer finde kodeaktiviteter til begyndere. Man koder små, lette programmer i populære universer f.eks Star Wars (min klare favorit), Frozen og Mine Craft. Det er meget, meget let at gå til for både børn og voksne. Jeg har gjort det med elever på ned til 6 år.

I de små lektioner i Hour of code arbejder man med de samme blokke, som der anvendes i Scratch, og de er derfor velegnede som introduktion.



Når man springer ombord i selve Scratch, er der masser af hjælp at hente fra de andre brugeres produktioner. Har man lyst, kan jeg også klart anbefale at tage første modul af CS50.

Vil man videre over i de rigtige programmeringssprog, er der masser af gratis hjæp at hente på nettet. Her er et par forslag til websteder med gode kurser:




1 kommentar:

  1. Fedt, jeg har brugt Hour of Code ned i 5 klasse.. de var super gode til at programmere. Programmet gør dem selvhjulpet i stor grad..
    Der er også https://www.codecademy.com/
    Dejligt med denne side du har gang i Gitte
    Klaus

    SvarSlet