Viser innlegg med etiketten spel. Vis alle innlegg
Viser innlegg med etiketten spel. Vis alle innlegg

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:

 

02 april, 2017

NUXO - fem på rad med tall

Ein fin ting med å jobbe med studentar på alle nivå er at ein alltids får innsyn i noko nytt. (Onde tunger skal ha det til at det blir meir og meir av dette jo eldre ein blir. For noko tull.) For nokre veker sida blei eg spurt om å spele kort etter timen, noko eg eigentleg ikkje hadde gjort på veldig mange år (Kortspel er heller ikkje ein favorittaktivitet. Usikker på kvifor, men det har aldri appellert noko særleg). Det viste seg at spelet var Casino, og at det hadde ikkje så reint få innslag av matematikk. (Eg hadde nok prøvd å lere meg Casino for tjue år sida og, men no var alt borte gitt!)
Litt mindre tilfeldig er det at masterstudentane på kurset Modellering og IKT har som arbeidskrav å skrive om ein nettstad eller ein applikasjon for matematikklering. Da er det ofte gode tips å finne. Eit av krava er at dei skal analysere noko som ikkje har vore analysert av dei andre studentane, korkje i år eller foregåande år. I år var det eit par ting som fall svært godt i smak, kanskje ikkje i kraft å vere dei mest lererike, men for å ha skapt mest engasjement.

Nuxo var eit av desse spela som skapte engasjement. Dette er ein slags fem-på-rad, men i staden for å sette kryss der ein vil må ein gjere eit reknestykkje som gir eit ønsket tal som svar - slik at ein kan sette eit kryss eller runding i akkurat den ruta ein hadde planlagt.

Ein kikk på spelebrettet gjer det kanskje litt greiare å forstå. Ein får oppgjeve eit tal, i dette høve 15 (sjå øvst til høgre). Så skal ein velje ein regneart. I dette spelet har ein valet mellom ganging og deling (dei to knappane nederst). Så må ein velje to tal på spelebrettet. Først må ein velje det ein skal gange eller dele med, og så må ein finne svaret på det reknestykkjet ein har laga. Ein kan til dømes her trykke på deleteiknet, så på 5-talet på spelebrettet, og så må ein trykkje på 3-talet å brettet. Med litt kløkt klarer ein å finne taktiske tal slik at ein kan bruke eit av dei for å byggje opp fem på rad, og med litt meir kløkt får ein utnytta begge tala.

Ein vel ved spelets start om ein skal spele med litt lavare tal, og kva for rekneartar ein vil fokusere på.

Ein spelar mot kvarandre eller mot ein robot, der ein kan velje nivået. Ein treng ikkje å vere påkobla samstundes for å spele, men ein kan gjere sine flytt og så sende over turen til motstanderen. Så ein kan spele over lengre tid og det er ikkje naudsynt å vere i umiddelbar nærleik.

Dette må vel vere ein mykje artigare og meir givande måte å øve multiplikasjon på, enn å pugge gangetabellen på vanleg vis. Det vart iallfall stort engasjement da vi prøvde dette i klassen!


Last ned gratis på
https://play.google.com/store/apps/details?id=no.playway.android.nuxo&hl=no

21 februar, 2017

CERME10

Congress of European Research in Mathematics Education (CERME 10) gikk av stabelen for tiande gong 1. - 5. februar 2017. Denne gongen var det Croke Park i Dublin som var staden. Croke Park er eit imponerande anlegg for merkverdige irske fotballiknande sportar som til dømes Hurley. Det skal visstnok vere europas tredje største fotballarena og har plass til 80 000 tilskodarar. Imponarende! Det er og U2 sin "heimearena".
Konferansen hadde over 800 påmelde og det er ei ambisiøs oppgåve å handtere så mange mennesker. Uten at eg kjenner til virksemda deira, virka det som det er firmaet KEYNOTE som tok seg av heile sulamitten og har laga ein bransje av å drifte konferanser og liknande av ymse storleikar. Det fungerte eigentleg heilt utmerket så vidt eg kunne sjå. Registrering, paper levering, hotell...alt mogleg vart liksom handtert gjennom same systemet.

Hovedaktiviteten på Cerme er det som skjer i Thematic Working Groups (TWG). Her har ein på førehand lasta opp sitt bidrag i form av paper eller poster og får så tilbakemelding på disse og ei anbefaling om ein kan få bli med på konferansen eller om ein heller bør sende inn bidraget som poster. Under konferansen er det fleist timar sett av til å jobbe i disse gruppene der ein diskuterer seg gjennom alle innsende paper i tur og orden - med litt forskjellig organisering. 


I tillegg er det nokre presentasjonar frå "kanonar" innen matematikkdidaktikken. I år var det Elena Nardi og Lieven Verschaffel som holdt disse. 

Eg hadde eit bidrag saman med Svein Arne Sikko, Ragnhild Staberg, Maria Febri og Jardar Cyvin i TWG 15 Teaching Mathematics with Technology and Other Resources. Dette bidraget var relatert til EU-prosjektet FaSMEd (Improving Progress for Lower Achievers through Formative Assessment in Science and Mathematics Education). Paperet vårt var ‘Walking a graph' - primary school students' experimental session on functions and graphs, og handla om korleis ungar som ikkje tidlegare har jobba med funksjonsomgrepet kan gjere det ved å halde på med grafar laga ved hjelp av å gå framfor ekkolodd-liknande sensorar. 


Eg hadde og eit bidrag i TWG 16 Learning Mathematics with Technology and Other Resources saman med Iveta Kohanova. Paperet vårt der hadde tittelen Preliminary testing of apps in mathematics, based on international collaborative work. Dette paperet var knytt til AiM-prosjektet. Dette er eit samarbeidsprosjekt mellom det som da heit HiST og Universitetet i Bratislava. Dette prosjektet handla om å utvikle spel-applikasjoner for mobiltelefoner og nettbrett. Det vart i alt laga 25 små spel som ein kan laste ned gratis på Android eller Apple-produkt.