20 desember, 2021

Fleire Scratch-nøtter

Her har eg laga eit matematikk-problem (på engelsk denne gong) som du kan bruke Scratch til å eksperimentere litt med. Eg klarar ikkje finne ut kor eg har dette problemet frå, men det er ikkje utenkjeleg at det kom via Polymath på eit eller anna tidspunkt. (Vonar ingen av studentane eg har hatt er like slurvete med referansane!)



Du skriv altså inn eit binært tal (ikkje meir enn femten siffer). Så blir eit nytt tal laga etter følgjande regel: To like siffer blir bytta ut med 0, to ulike blir bytta ut med 1. Kan du forutsjå det eine sifferet som blir ståande igjen til slutt?

I dette prosjektet har eg laga ein eigen funksjon som skriv ut tal, ettersom det ikkje er ein måte å skrive ut ting på i Scratch. I utgangspunktet må ein plassere tekst i snakkebobler eller som bilete på bakgrunnen, så her har eg laga ein eigen funksjon for å skrive ut tekst. (I dette prosjektet er det kun sifra 0 og 1 ein har mulegheit for å skrive ut, men i prinsippet kan ein sjølvsagt skriva ut kva som helst). 


07 desember, 2021

"Pro tip": Lagre tekst på Scratch sine servere

Når ein registrerer seg på Scratch kan ein laga prosjekt der ein brukar variabler som høyrer til ein bestemt figur, eller til alle figurane. Omtrent som lokale og globale variable, altså. Men når ein har bidratt litt i Scratch-miljøet (litt uklårt nøyaktig kor mykje ein må bidra) så blir ein ganske raskt oppgradert til "Scratcher", som da får tilgang til ein ny type variablar,  nemlig skyvariablar. Desse blir lagra på servarane til Scratch slik at dei typisk kan brukast til dømes for å lagre highscore i eit spel ein har laga. Ein kan kun lagra tal, ikkje bokstavar eller lister. Men for ei datamaskin er det jo egentlig ikkje så stor skilnad på korleis ein bokstav eller eit tal er lagra - via ein ASCII-tabell kan ein jo omsete alle teikn til tal og tilbake. 

Hugsar ein tilbake til dei gamle arkadespela (Pac-man, Space Invaders og alt det der) så var det alltid slik at ein berre kunne lagre tre bokstavar som namnet sitt når ein fekk highscore. Dette kan vi få til i Scratch med eit lite omsetingsskript.  

For å kunne omsete att og fram brukar vi ei liste med bokstavane A-Z og ei liste med samsvarande ASCII-kodar. Slike tabellar med ASCII-kodar finn ein lett ved eit google søk, til dømes her: https://www.asciitable.com/ . Vi lagar to slike lister i Scratch, som på biletet:


I prosjektet blir brukaren spurd om tre bokstavar, og taktikken er at desse skal lagras i eitt og same tal. For å få alle tre ASCII-kodane inn i eitt tal finn vi først koden for den første bokstaven og gangar den med 1000000 (ein million). Så legg vi til koden for den neste bokstaven ganget med 1000 og så den siste koden. Da vil vi få eit nisifra tal, der dei første tre gir den første bokstaven, dei neste tre den andre bokstaven og dei siste tre den tredje bokstaven.





Dette talet lagrar vi så i ein skyvariabel. På biletet ser du at variabelen inneheld talet 216 072 076.



Dette talet er altså ei omseting av tre bokstavar, men som no kan lagrast i ein skyvariabel. Du kan jo sjølv slå opp i ASCII-tabellen for å sjå kva det står der. For å få tilbake det opprinnelige namnet (altså dei tre bokstavane) må vi plukke frå kvarandre dette talet og slå opp i lista over ASCII-verdiar igjen. 



For å få den første bokstaven må vi første kvitte oss med dei seks siste desimalane for å kunne få talet 216. Da deler vi først på 100000 og tek heiltalet (modulo) av det. Trekker vi dette frå det opprinnelege talet står vi igjen med 216 000 000. Da kan vi dele dette på ein million for å få 216. Så slår skriptet opp posisjonen av 216 i ASCII-lista, og ser at der står det 28. Til slutt finn vi det 28. elementet i den alfabetiske lista, som gir oss Ø. Tilsvarande gjer vi for dei neste to siffergruppene og sett saman resultatet for å få dei tre initialene. Skulle ikkje forundre meg om det er ein kar ved namn Øyvind som har fuska seg til highscore her.

Det er nok fleire måtar å forbedre dette skriptet på, slik eg gjorde det her er kun henta frå hukommelsen frå eit snart tredve år gammelt programmeringskurs. Mulege forbedringar av dette highscore-konseptet er at ein kan bruke tre nettvariabler for dei tre bokstavane for å gjere det litt mindre matematisk komplisert å omsete mellom tal og bokstavar. Treng ein forresten å halde seg til ASCII-kodar? Ein kan jo like gjerne dikte opp sine eigne kodar for dette. Ein kan sjølvsagt lagre lengre ord, men det blir fort ganske omstendelege scratch-kodar om ein skal skrive det ut i ei snakkeboble. Derfor vil det nok trenges eit lurare triks om ein skal skrive lengre ord. Det er vel og ei grense på kor mange skyvariablar ein kan bruke i eit prosjekt. 

Sjå inni prosjektet under for å sjå korleis dette fungerer:

 

16 november, 2021

Median

 I dette prosjektet tenkte eg å vise korleis ein kan bruke Scratch til å lage ein slags animert forklaringsvideo. Kombinasjonen av lav inngangsterskel og mange muligheter gjør at Scratch er godt eigna til slike ting, og med større fleksibilitet enn til dømes PowerPoint eller tilsvarende. 

Her er det ingen interaksjon med brukeren, det er berre Scratcy som teiknar og forklarer korleis einn finn median i eit datasett. Datasettet har forskjellig storleik og forskjellige dataelement kvar gong prosjektet køyrast.

09 november, 2021

3D puslespel del 2

 Nevnte på ein tidlegare post at ein kan lage det fantastiske (ja, for det er det nemlig!) tredimensjonale puslespelet ved hjelp av origami. Ein kan sjølvsagt ta det vidare og lage ei massiv utgåve i plast, no når ein har 3d skrivarar tilgjengelege i mange skular. Mange har vel og kjøpt slike privat. 

Slik ser mitt puslespel ut i 3D-printa versjon:


Her har eg printa ein open kube, fire pyramider og eit regulært tetraeder. No kan ein vel kalle pyramidene tetraedere og, men dei er ikkje regulære i dette høvet. 



Det ein kan tenkje på når ein skal printe desse formene er at sjølv om matematikken er eksakt så må ein bruke avrunda verdier i printinga. I tillegg er nok ikkje printarane nøyaktige nok (iallfall ikkje min) til at det blir heilt perfekt uansett. Så eg måtte slipe til litt ekstra etter printing, og i tillegg akseptere at det stakk ein millimeter opp av kuben når alt var plassert inni. 

28 oktober, 2021

3D-puslespill del 1

Eg har alltid hatt sansen for papirbretting (origami) og fått mykje matematisk å tenkje på i arbeid med origami-figurar. Til dømes har eg ofte brukt fugletetraederet i første økt med lærarstudentar da denne figuren har gitt oss mykje matematikk å prate om. Den er fin til å få nye studentar til å snakke saman og til å tenkje matematisk, kanskje på litt uvant måte og. Du kan lese om denne i (Gjøvik, 2005) eller (Gjøvik, 2012). Medan eg satt og laga teikningar av korleis ein skulle gå fram for å brette fugletetraederet kom eg over ei liknande origami-oppskrift. Fugletetraederet er bygd opp av to pyramider, og om ein lagar fire slike pyramidar, og eit regulært tetraeder så klakker dette saman heilt nøyaktig til ein kube. Dette høyres kanskje korkje logisk eller imponerandes ut, men om ein ser for seg dei fem formene, så kan det vera vanskeleg å tru på at dette får plass oppi kuben. Prøv sjølv, brett eska, tetraederet og dei fire pyramidane og sett saman! Du kan finne bruksanvisninga her i pdf (den er litt endra frå det formatet den opprinneleg fantes i på nettet):


Du treng fire pyramidar som dette:

Så treng du eit tetraeder som du lager av to ark på denne måten:
Og så treng du til slutt ei eske å stappe dei fem andre figurane oppi. 


Gjøvik, Ø. (2005). Fugletetraederet. Tangenten, 2005(2), 40–45.
Gjøvik, Ø. (2012). Flying Higher with the Bird Tetrahedron. Mathematics Teacher, 106(1), 16–21.

27 oktober, 2021

Øvelse i gjenkjenning

Brukar du Scratch, har du ei grei mulegheit til å lage øvingsopplegg til elevane dine der ein skal kjenne igjen bestanddeler av kjende figurer eller situasjonar. Til dømes kan det dreie seg om å identifisere/kjenne igjen alle formane for firkantar som vi har, dei forskjellige delane av ei celle eller sette namn på religiøse symbol eller planetane i Melkeveien. Med Scratch kan du legge inn bilete av det du vil det skal handle om, for så å legge til knappar på kvar del som kjennast igjen. Når eleven trykker på knappen kan hen få lese opp med lyd eller tekst kva delen heiter. Her er eit døme der eg har lagt inn dei nye fylka i Noreg. Kan du alle desse? Vel, det er kanskje eit retorisk spørsmål no når dei ser ut til å skifte ut fylka våre med kvar ny regjering, men pr. oktober 2021 er det iallfall desse som gjeld! :)

Kartet er henta frå Wikipedia og i kvart fylke kan du trykke på knappen for å få namnet på fylket lese opp. Eg har brukt tillegg "tekst til tale" slik at figurane i Scratch får mulegheit til å prate. Om du vil kan du la elevane lese inn det som skal seiast og heller spele det av som lydfiler. Det kan kanskje gi ytterlegare ein slags eigarskap til prosjektet.

Tekst-til-tale-tillegget kan også være kjekt å vite om, viss du skal jobbe med til dømes gloseprøver i engelsk, eller kanskje spansk?

17 september, 2021

Skyvariablar

 Ei hending oppdatering i  Scratch er muligheita til å bruke skyvariablar (cloud variables). Du får ikkje tilgang til desse med ein gong du registrerer deg, men om du lagar nokre prosjekt, kommenterer litt og deler ut nokre hjerter og stjerner så får du eit nytt valg neste gang du oppretter ein variabel. I utgangspunktet har du kun valget mellom lokal variabel (kun for ein figur) eller global (for alle figurer i prosjektet). Det tredje valget blir da skyvariabler, som lagres på serveren til Scratch. Desse har kun muligheit til å lagre tallverdiar, og det er maksimalt ti slike som kan lagras til eit prosjekt. Den typiske bruken er at ein lagrar ein highscore i eit spel ein har laga.

I dette spelet, ein digital versjon av Kast grisane, er det til dømes lagra ein highscore på serveren til Scratch, og klarer du å slå den blir det din verdi som blir ståande der:

 

Du kan finne reglane for spelet her: https://www.readymixinc.com/regler-for-kast-grisene/ 

For å bruke ein slik highscore-variabel så må ein ha ein lokal score-variabel i prosjektet som ein samanliknar med verdien i hichscore når spelet er ferdig. Om score > highscore så sett vi highscore = score. 

Ganske morsomt, og eit fint tillegg til funksjonaliteten til Scratch. I neste post skal vi sjå på korleis vi kan utnytte denne skyvariablen meir til vår fordel!

15 juli, 2021

 Bruk av sekundklokken i Scratch: 



06 juni, 2021

Feynman

 For den som er interessert i naturvitenskap er Richard Feynman eit kjent namn. No har hans berømte forelesingar i fysikk vorte publisert i heilskap på https://www.feynmanlectures.caltech.edu/flptapes.html . Det må vel vera eit ganske bra alternativ til sumarens podcast! 

31 mai, 2021

Inne eller ute?

I helga var det full runde i Eliteserien i fotball for menn, og oppgjeret eg fulgte var Mjøndalen - Molde (naturleg nok). Molde hadde ein ball i mål - meinte dei - men likevel ende det 0-0. Vi hadde nok kunne avslørt denne type problematikk om vi hadde mållinjeteknologi i Noreg. Og det kunne vi jo ha hatt UTAN å ha brukt VAR i sin heile og fulle bredde. 

Men så var det spørsmålet om korvidt ballen var inne eller ikkje. På TV-bileta kunne det unekteleg sjå slik ut og Moldespelarane som var i nærheiten var sikre i si sak. Like sikre var nok Mjøndalenspelarane og, på at den IKKJE var inne. Linjedommar stod langt unna og dommaren hadde nesten ei umuleg oppgåve i å fatte rett avgjerd. 

Det er fort gjort å klage på dommaren, men om vi lagar oss ein tilsvarande modell av situasjonen i GeoGebra 3D så ser vi kor vanskeleg oppgåva til dommaren er! Sjå her: 

 https://www.geogebra.org/m/tenqf2q6

26 mars, 2021

Slik går no dagan med nettundervisning

I matematikk 2, emne 2 (5-10) har vi jobba med statistikk og sannsyn i vår. Når undervisninga no vart lagt online nesten heile semesteret vart det stort behov for å lage noko undervisningsmateriale som ein kan bruke over nett. Det er fint å kunne lage nokre lysbilete og prate om dem, men korleis får ein aktivert studentane der dei sitt på kvar sin hybel eller heime hjå far? Eg har prøvd å tatt i bruk nokre verktøy som i og for seg har vore mykje brukt i undervisninga, men som no kan sjåast i eit litt anna perspektiv. Ei førebels liste over kva platformar eg har bruka:
  1.  GeoGebra
    Ein kjem ikkje unna at GeoGebra er eit av dei viktigaste verktøya for ein lærar å beherske. Der eg tidlegare har gitt studentar lenke til GeoGebra-filer har eg no prøvd å lage aktivitetar via GeoGebra Classroom. Slik får ein og innsikt i om det vi driv med er heilt skivebom eller treffer sånn høveleg. 
  2. Scratch
    I statistikk og sannsyn-semesteret har det vore viktige å kunne gjere nokre simuleringar og slikt. Scratch er ikkje fantastisk godt eigna til dette, men det er da ein del mulegheitar. Vi hadde inkludert programmering for første gong i eit fag på lærarutdanninga i år, der Scratch og Python-trinket, som dei to no vanlegaste platformane i skulen (trur eg). På Scratch laga vi fleire av dei aktivitetane som vi har lese om i pensum. Eg laga dei fleste sjølv, men vi brukte og nokre døme frå statistikken for å lage relevante prosjekt i opplæringa av Scratch. 
  3. desmos
    Eg har alltid vore litt imponert over dei innebygde desmosaktivitetane som ein kan finne på teacher.desmos.com. Her er det muleg for studentane å delta slik at eg som lærar får god oversikt både over kva dei svarar og kor langt dei har kome. 
  4. trinket.io
    Det er ikkje så lett å drive programmering over nett (sjølv om ein skulle tru at det var det perfekte tema for nettundervisning). Trinket er ein web-basert python-variant som har fungeret prikkfritt for oss. Ein må vere litt klar over skilnaden mellom å drive med python 2.7 eller 3.0 (ein kan til dømes ikkje lage histogram i 2.7 på trinket). Og for 3.0 må ein betale eit abonnement for å bruke trinket. Ein kan sjølvsagt laste ned python frå python.org og bruke siste versjon heilt gratis, men da mistar ein den oversikta ein som lærar har over at studentane sitt med omtrent same skjermbilete.

Eg har nemnt alle desse på bloggen før, men skal i dei neste innlegga sjå på korleis eg brukte desse over nett.

08 februar, 2021

Forsøk på embedding av ferdig program

Trinkets frå trinket.io kan og leggas inn som direkte køyrbare, altså slik at ein ikkje ser koden først. Ein kan uansett laste ned ein slik trinket for å kunne bruke det vidare sjølv, om ein vil. I trinketen (det kan umuleg vere eit godkjent ord i Word) nedanfor har eg simulert ein aktivitet frå boka Stokastik, som vi brukar i lærarutdanninga. Du skal trekke kuler frå ei eske, der kulane er x kvite og y raude. Du oppgjør sjølv det totale tal på kuler og kor mange som er raude. Denne kulemodellen/urnemodellen kan til dømas gjerast om til ein terningkastsimulering ved å velgje 600 kuler totalt og 100 raude. Du oppgir om du vil ha tilbakeleggjing og kor stort utval du vil trekkje ut.