Nopat gif-animaationa

Lisäsin noppa-appiin tason x + y + x = n ja tein siitä gif-animaation. Nauti elokuvasta. Tarina nopista löytyy artikkelista https://mikonfysiikka.wordpress.com/2019/08/27/kolme-noppaa-ja-zip-komento/

Mainokset

Kolme noppaa ja Zip-komento

Millä todennäköisyydellä kolmea noppaa heitettäessä saadaan summaksi 10? Havainnollistetaan tilannetta kolmiulotteisesti käyttämällä GeoGebran listoihin liittyviä komentoja. Teen sovellukseni GeoGebra 5:llä ja komennot kirjoitan Syöttökenttään.

Luodaan ensin kaikki tulosvaihtoehdot pisteiksi kolmiulotteiseen koordinaatistoon käyttämällä kolmea sisäkkäistä Jono-komentoa. Jos tämän kirjoittaa käsin, niin kannattaa ensin kirjoittaa

Jono( <Lauseke>, <Muuttuja>, <Alkuarvo>, <Loppuarvo> )

ja sen jälkeen <Lauseke> korvata uudella Jono-komennolla tyyliin

Jono( Jono( <Lauseke>, <Muuttuja>, <Alkuarvo>, <Loppuarvo> ),<Muuttuja>, <Alkuarvo>, <Loppuarvo> )

ja sen jälkeen vielä kerran samalla tavalla

Jono( Jono( Jono( <Lauseke>, <Muuttuja>, <Alkuarvo>, <Loppuarvo> ), <Muuttuja>, <Alkuarvo>, <Loppuarvo> ), <Muuttuja>, <Alkuarvo>, <Loppuarvo> )

Lopuksi täytetään muut muuttujien kohdat ja annetaan lista nimeksi pisteet. Lopullinen komento on

pisteet = Jono(Jono(Jono((aa, bb, cc), aa, 1, 6), bb, 1, 6), cc, 1, 6)

Komento tuottaa kuusi listaa, jossa on kaikki 6·6·6 = 216 pistettä.

pisteet = {{{(1, 1, 1), (2, 1, 1), (3, 1, 1), (4, 1, 1), (5, 1, 1), (6, 1, 1)}, {(1, 2, 1), (2, 2, 1), (3, 2, 1), (4, 2, 1), (5, 2, 1), (6, 2, 1)}, {(1, 3, 1), (2, 3, 1), (3, 3, 1), (4, 3, 1), (5, 3, 1), (6, 3, 1)}, {(1, 4, 1), (2, 4, 1), (3, 4, 1), (4, 4, 1), (5, 4, 1), (6, 4, 1)}, {(1, 5, 1), (2, 5, 1), (3, 5, 1), (4, 5, 1), (5, 5, 1), (6, 5, 1)}, {(1, 6, 1), (2, 6, 1), (3, 6, 1), (4, 6, 1), (5, 6, 1), (6, 6, 1)}}, {{(1, 1, 2), (2, 1, 2), (3, 1, 2), (4, 1, 2), (5, 1, 2), (6, 1, 2)}, {(1, 2, 2), (2, 2, 2), (3, 2, 2), (4, 2, 2), (5, 2, 2), (6, 2, 2)}, {(1, 3, 2), (2, 3, 2), (3, 3, 2), (4, 3, 2), (5, 3, 2), (6, 3, 2)}, {(1, 4, 2), (2, 4, 2), (3, 4, 2), (4, 4, 2), (5, 4, 2), (6, 4, 2)}, {(1, 5, 2), (2, 5, 2), (3, 5, 2), (4, 5, 2), (5, 5, 2), (6, 5, 2)}, {(1, 6, 2), (2, 6, 2), (3, 6, 2), (4, 6, 2), (5, 6, 2), (6, 6, 2)}}, {{(1, 1, 3), (2, 1, 3), (3, 1, 3), (4, 1, 3), (5, 1, 3), (6, 1, 3)}, {(1, 2, 3), (2, 2, 3), (3, 2, 3), (4, 2, 3), (5, 2, 3), (6, 2, 3)}, {(1, 3, 3), (2, 3, 3), (3, 3, 3), (4, 3, 3), (5, 3, 3), (6, 3, 3)}, {(1, 4, 3), (2, 4, 3), (3, 4, 3), (4, 4, 3), (5, 4, 3), (6, 4, 3)}, {(1, 5, 3), (2, 5, 3), (3, 5, 3), (4, 5, 3), (5, 5, 3), (6, 5, 3)}, {(1, 6, 3), (2, 6, 3), (3, 6, 3), (4, 6, 3), (5, 6, 3), (6, 6, 3)}}, {{(1, 1, 4), (2, 1, 4), (3, 1, 4), (4, 1, 4), (5, 1, 4), (6, 1, 4)}, {(1, 2, 4), (2, 2, 4), (3, 2, 4), (4, 2, 4), (5, 2, 4), (6, 2, 4)}, {(1, 3, 4), (2, 3, 4), (3, 3, 4), (4, 3, 4), (5, 3, 4), (6, 3, 4)}, {(1, 4, 4), (2, 4, 4), (3, 4, 4), (4, 4, 4), (5, 4, 4), (6, 4, 4)}, {(1, 5, 4), (2, 5, 4), (3, 5, 4), (4, 5, 4), (5, 5, 4), (6, 5, 4)}, {(1, 6, 4), (2, 6, 4), (3, 6, 4), (4, 6, 4), (5, 6, 4), (6, 6, 4)}}, {{(1, 1, 5), (2, 1, 5), (3, 1, 5), (4, 1, 5), (5, 1, 5), (6, 1, 5)}, {(1, 2, 5), (2, 2, 5), (3, 2, 5), (4, 2, 5), (5, 2, 5), (6, 2, 5)}, {(1, 3, 5), (2, 3, 5), (3, 3, 5), (4, 3, 5), (5, 3, 5), (6, 3, 5)}, {(1, 4, 5), (2, 4, 5), (3, 4, 5), (4, 4, 5), (5, 4, 5), (6, 4, 5)}, {(1, 5, 5), (2, 5, 5), (3, 5, 5), (4, 5, 5), (5, 5, 5), (6, 5, 5)}, {(1, 6, 5), (2, 6, 5), (3, 6, 5), (4, 6, 5), (5, 6, 5), (6, 6, 5)}}, {{(1, 1, 6), (2, 1, 6), (3, 1, 6), (4, 1, 6), (5, 1, 6), (6, 1, 6)}, {(1, 2, 6), (2, 2, 6), (3, 2, 6), (4, 2, 6), (5, 2, 6), (6, 2, 6)}, {(1, 3, 6), (2, 3, 6), (3, 3, 6), (4, 3, 6), (5, 3, 6), (6, 3, 6)}, {(1, 4, 6), (2, 4, 6), (3, 4, 6), (4, 4, 6), (5, 4, 6), (6, 4, 6)}, {(1, 5, 6), (2, 5, 6), (3, 5, 6), (4, 5, 6), (5, 5, 6), (6, 5, 6)}, {(1, 6, 6), (2, 6, 6), (3, 6, 6), (4, 6, 6), (5, 6, 6), (6, 6, 6)}}} 

Paremman havainnollistuksen saa, kun katsoo listaa CAS-ikkunassa.

3D-piirtoalueella lista pisteet näyttää tältä.

Listan pisteet pituus on kuusi. Luodaan yksi lista, jossa pisteet ovat peräkkäin listana käyttämällä Tiivistä-komentoa. Se ikään kuin poistaa ylimääräiset sulkeet eli tässä tapauksessa turhat listat.

kaikki = Tiivistä(pisteet)
kaikki = {(1, 1, 1), (2, 1, 1), (3, 1, 1), (4, 1, 1), (5, 1, 1), (6, 1, 1), (1, 2, 1), (2, 2, 1), (3, 2, 1), (4, 2, 1), (5, 2, 1), (6, 2, 1), (1, 3, 1), (2, 3, 1), (3, 3, 1), (4, 3, 1), (5, 3, 1), (6, 3, 1), (1, 4, 1), (2, 4, 1), (3, 4, 1), (4, 4, 1), (5, 4, 1), (6, 4, 1), (1, 5, 1), (2, 5, 1), (3, 5, 1), (4, 5, 1), (5, 5, 1), (6, 5, 1), (1, 6, 1), (2, 6, 1), (3, 6, 1), (4, 6, 1), (5, 6, 1), (6, 6, 1), (1, 1, 2), (2, 1, 2), (3, 1, 2), (4, 1, 2), (5, 1, 2), (6, 1, 2), (1, 2, 2), (2, 2, 2), (3, 2, 2), (4, 2, 2), (5, 2, 2), (6, 2, 2), (1, 3, 2), (2, 3, 2), (3, 3, 2), (4, 3, 2), (5, 3, 2), (6, 3, 2), (1, 4, 2), (2, 4, 2), (3, 4, 2), (4, 4, 2), (5, 4, 2), (6, 4, 2), (1, 5, 2), (2, 5, 2), (3, 5, 2), (4, 5, 2), (5, 5, 2), (6, 5, 2), (1, 6, 2), (2, 6, 2), (3, 6, 2), (4, 6, 2), (5, 6, 2), (6, 6, 2), (1, 1, 3), (2, 1, 3), (3, 1, 3), (4, 1, 3), (5, 1, 3), (6, 1, 3), (1, 2, 3), (2, 2, 3), (3, 2, 3), (4, 2, 3), (5, 2, 3), (6, 2, 3), (1, 3, 3), (2, 3, 3), (3, 3, 3), (4, 3, 3), (5, 3, 3), (6, 3, 3), (1, 4, 3), (2, 4, 3), (3, 4, 3), (4, 4, 3), (5, 4, 3), (6, 4, 3), (1, 5, 3), (2, 5, 3), (3, 5, 3), (4, 5, 3), (5, 5, 3), (6, 5, 3), (1, 6, 3), (2, 6, 3), (3, 6, 3), (4, 6, 3), (5, 6, 3), (6, 6, 3), (1, 1, 4), (2, 1, 4), (3, 1, 4), (4, 1, 4), (5, 1, 4), (6, 1, 4), (1, 2, 4), (2, 2, 4), (3, 2, 4), (4, 2, 4), (5, 2, 4), (6, 2, 4), (1, 3, 4), (2, 3, 4), (3, 3, 4), (4, 3, 4), (5, 3, 4), (6, 3, 4), (1, 4, 4), (2, 4, 4), (3, 4, 4), (4, 4, 4), (5, 4, 4), (6, 4, 4), (1, 5, 4), (2, 5, 4), (3, 5, 4), (4, 5, 4), (5, 5, 4), (6, 5, 4), (1, 6, 4), (2, 6, 4), (3, 6, 4), (4, 6, 4), (5, 6, 4), (6, 6, 4), (1, 1, 5), (2, 1, 5), (3, 1, 5), (4, 1, 5), (5, 1, 5), (6, 1, 5), (1, 2, 5), (2, 2, 5), (3, 2, 5), (4, 2, 5), (5, 2, 5), (6, 2, 5), (1, 3, 5), (2, 3, 5), (3, 3, 5), (4, 3, 5), (5, 3, 5), (6, 3, 5), (1, 4, 5), (2, 4, 5), (3, 4, 5), (4, 4, 5), (5, 4, 5), (6, 4, 5), (1, 5, 5), (2, 5, 5), (3, 5, 5), (4, 5, 5), (5, 5, 5), (6, 5, 5), (1, 6, 5), (2, 6, 5), (3, 6, 5), (4, 6, 5), (5, 6, 5), (6, 6, 5), (1, 1, 6), (2, 1, 6), (3, 1, 6), (4, 1, 6), (5, 1, 6), (6, 1, 6), (1, 2, 6), (2, 2, 6), (3, 2, 6), (4, 2, 6), (5, 2, 6), (6, 2, 6), (1, 3, 6), (2, 3, 6), (3, 3, 6), (4, 3, 6), (5, 3, 6), (6, 3, 6), (1, 4, 6), (2, 4, 6), (3, 4, 6), (4, 4, 6), (5, 4, 6), (6, 4, 6), (1, 5, 6), (2, 5, 6), (3, 5, 6), (4, 5, 6), (5, 5, 6), (6, 5, 6), (1, 6, 6), (2, 6, 6), (3, 6, 6), (4, 6, 6), (5, 6, 6), (6, 6, 6)}

Listan kaikki pituus on 216.

Jotta saamme ongelmastamme hieman yleisemmän, luodaan liuku n. siten, että se saa kokonaislukuarvoja välillä [1, …, 20]. Tuossa on pari ylimääräistä lukua, mutta ne toiminevat tarkastuksena, että menetemä on oikea. Kirjoitetaan syöttökenttään

n = 10

ja klikataan Algebra-ikkunassa sen vasemmalla puolella olevaan pallukkaan. Klikkaamalla liukua hiiren oikealla painikkeella saadaan ominaisuudet ja Liukusäädin ikkunassa:

Seuraavaksi selvitetään, millä kaikki-listan pistellä summa on yhtä suuri kuin n.

Tässäkin voisi käyttää sisäkkäisiä jono-komentoja, mutta ehkä tyylikkäämpää on käyttää Zip-komentoa. Komennon yleinen syntaksi on seuraava

Zip( <Lauseke>, <Muuttuja1>, <Lista1>, <Muuttuja2>, <Lista2>, ... )

Selvennetään Zip-komentoa esimerkillä. Jos lista A = {1, 2, 3} ja B = {4, 5, 6, 7}, niin komento

testi = Zip((a, b), a, A, b, B)

tuottaa listan 

testi = {(1, 4), (2, 5), (3, 6)} 

Komennossa a on listan A alkioihin liittyvä sisäinen muuttuja ja b liittyy B:n alkioihin. Tässä tapauksessa (a, b) tuottaa pisteitä siten, että ensin otetaan ensimmäinen alkio A:sta ja ensimmäinen B:stä eli (1, 4), sitten toiset alkiot eli (2, 5) ja sitten kolmannet (3, 6). Nyt kaikki A:n alkiot on käyty läpi ja ei tuoteta lisää pisteitä. Yleisesti tällä komennolla voidaan suorittaa komentoja useille listoille. Syntyvän listan pituuden määrittää lyhin lista. Itse käytän Zipiä useimmiten, kun haluan käydä yhden listan kaikki alkiot kerralla. 

Luodaan lista suotuisille tapauksille. Sisäinen muuttuja a käy läpi kaikki-listan alkiot. Jos-ehdon sisällä x(a) + y(a) + z(a) laskee a-pisteen koordinaattien summan.

suo = Zip(Jos(x(a) + y(a) + z(a) == n, a), a, kaikki)

tuottaa listan

suo = {(?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (6, 3, 1), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (5, 4, 1), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (4, 5, 1), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (3, 6, 1), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (6, 2, 2), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (5, 3, 2), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (4, 4, 2), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (3, 5, 2), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (2, 6, 2), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (6, 1, 3), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (5, 2, 3), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (4, 3, 3), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (3, 4, 3), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (2, 5, 3), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (1, 6, 3), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (5, 1, 4), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (4, 2, 4), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (3, 3, 4), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (2, 4, 4), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (1, 5, 4), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (4, 1, 5), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (3, 2, 5), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (2, 3, 5), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (1, 4, 5), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (3, 1, 6), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (2, 2, 6), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (1, 3, 6), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?), (?, ?, ?)} 

Noista määrittelemättömistä pisteistä (?, ?, ?) pääsee eroon komenolla

suotuisat = PoistaMäärittelemätön(suo)
suotuisat = {(6, 3, 1), (5, 4, 1), (4, 5, 1), (3, 6, 1), (6, 2, 2), (5, 3, 2), (4, 4, 2), (3, 5, 2), (2, 6, 2), (6, 1, 3), (5, 2, 3), (4, 3, 3), (3, 4, 3), (2, 5, 3), (1, 6, 3), (5, 1, 4), (4, 2, 4), (3, 3, 4), (2, 4, 4), (1, 5, 4), (4, 1, 5), (3, 2, 5), (2, 3, 5), (1, 4, 5), (3, 1, 6), (2, 2, 6), (1, 3, 6)} 

Listan suotuisat pituus on 27, niinpä summan 10 todennäköisyys on 27/216 = 1/8.

Valmis appletti löytyy sivulta https://www.geogebra.org/m/rdhryznv

Kirjat 2019

Antti Heikkinen, Risainen elämä. Elämänkerta. Mielettömän moniin haastatteluihin perustuva Juicen elämän tarina. Minusta haastatteluja olisi voinut olla vähemmän. Tuli surullinen olo Juicen alkoholismin kuvauksesta. Sain joululomalla lopulta luettua tämän kesällä aloitetun mökkikirjan.

Dave Eggers, The Circle. Science fiction. Lähitulevaisuuteen sijoittuva dystopia. 1984 tyyppinen Iso Veli valvoo -tarina. Googlen ja Applen kaltainen yritys, jonka somesovellukset valtaavat markkinat on kai pahis. Päähenkilö on ärsyttävän tyhmästi käyttäytyvä nainen tai sitten hän on äärimmäisen häikäilemätön sosiopaatti.

James S. Corey, Leviathan Wakes. Science fiction. Vajaat 600 sivua avaruusoopperaa. Ihminen osaa liikkua nopeahkosti Aurinkokunnassa ja energiaakin on käytössä. Maa, Mars ja asteroidivyöhyke ovat eriytyneet omiksi kansoikseen. Mukana myös elämää muualta. En ihmettele, että Amazon tuotti/osti tämän omalle tv-kanavalleen. Pakko katsoa Expanse-sarja ja lukea koko trilogia. Suosittelen.

Peter Farrell, Math Adventures with Python. Oppikirja. Hyvä opas matikanopettajille, jotka haluavat käyttää Pythonia ohjelmoinnin opetuksessa. Aloittaa ohjelmoinnin kilpikonnagrafiikalla, niin kuin moni meistä vanhoista nörteistä Logolla. Hyvä opas.

Margaret Atwood, Orjattaresi. Science fiction. Miehet (ja osa naisista) ovat ottaneet vallan ja  uskonnon avustuksella orjuuttavat naisia. Mielenkiintoinen dystopia, kirjan viimeinen luku oli hyvä.

James S. Corey, Caliban’s War. Science fiction. Expanse-sarjan toinen osa. Mukaan tulee pari uutta henkilöä ja taistelu pahoja korporaatioita vastaan saa ratkaisun. Taustalla on Aurinkokunnan ulkoisen elämän tuottaman protogeenin uhka. Vauhdikas tarina, riittävästi actionia.

Reijo Mäki, Gekko. Dekkari. Viihdyttävä Vares kesälomalle. Tällä kertaa tutkitaan kadonneen taiteilijan tapausta. Paljon tasa-arvoisia vitsejä. Tämä oli hyvä. Kun lukee Vareksen noin vuodessa niin ei kyllästy.

Marco Vinchi, Kuolema Firenzessä. Dekkari. Mielenkiintoinen tarina 60-luvun Firenzestä. Vanhahko poliisi tutkii teinipojan katoamista. Aika hidastempoinen. Kehystarinana Firenze ja vuoden 1966 suurtulva. Loppu on aika tyly.

Heikki Ylikangas, Nurmijärven rosvot. Tietokirja. Puuduttavan tarkka tutkimus mitä Nurmijärvellä ja sen ympäristössä tapahtui 1820-luvulla. Tässäkin olisin kaivannut sen ajan karttoja esittämään miten Nurmijärveltä kuljettiin vaikkapa Sipooseen tai Hämeenlinnaan. Kirja valotti hyvin Taaborilla nähtyä teatteriesitystä.

Päivittelen tätä sivua pikkuhiljaa vuoden myötä, kun kirjoja tulee luetuksi.

Kirjat 2018
Kirjat 2017

Pivot ja Excel YTL:n datasta

Edellisessä tarinassani esitin miten YTL:n jakamaa oppilaskohtaista dataa voi käsitellä Google Sheetsissä. Tässä esitän saman MS Excelillä. Käytän tarinassani edellisen tarinan virkkeitä laiskuuksissani, joten älä ihmettele jos tarina tuntuu tutulta.

Ylioppilaslautakunnan sivulla Oppilaitoskohtaisia tunnuslukuja https://www.ylioppilastutkinto.fi/tietopalvelut/tilastot/koulukohtaisia-tunnuslukuja on ohjeet miten ladata kevään 19 ylioppilaskirjoitusten tulokset csv-tiedostona. Myös aiempien tutkintokertojen tiedostot ovat ladattavissa. Tiedostoja on kahta eri tyyppiä riippuen niiden päivitettävyydestä. D3000-sarjan tiedostot eivät päivity. D4000-sarjan tiedostot päivittyvät kun ylioppilastutkinnon tiedot täsmentyvät esimerkiksi tarkistusarvostelun takia.

Tehdään tämä versio eri tiedostosta kuin edellinen Google Sheets -versio. Sheets-versiossa tutkittiin pakollisten aineiden keskiarvoa. Tässä käytetään kaikkien aineiden dataa. Kevään 19 kaikkien aineiden aineiden (ei päivittyvät) tulokset löytyvät tiedostosta https://www.ylioppilastutkinto.fi/ext/data/FT2019KD3001.csv. Käytän tässä Excelin Mac-versiota koska olen omenaihminen. Testailen lähipäivinä onko Windows-versiossa niin paljon eroa, että sitä pitäisi kommentoida.

Kun klikkaat tuohon osoitteeseen, niin selaimesi lataa tiedoston lataukset-kansioosi. Käytän tätä tiedostoa mallina siitä, miten tietoa voi käsitellä Excelin Pivot-taulukkotoiminnolla.

Avaa Excelillä ladattu csv-tiedosto. Excel avaa tiedoston Ohjattu tiedoston luominen-ikkunaan.

Valitse seuraavassa ikkunassa Erottimeksi puolipiste ”:”. Jos kaikki meni oikein, niin Excel avaa suuren taulukon.

Tässä vaiheessa tiedostolle on syytä antaa nimi vaikka 19Kkaikki. Taulukon otsikkoriveinä on:

tutkintokerta koulun_nro   koulun_nimi opetuskieli    tyyppi           sukup            yht                A                   O                   Z                   I                      W                  Q                   A5                 O5                 M                  N                   BI                  FF                 FY                 HI                      PS                 UE                 UO                ET                 GE                KE                TE                 YH                BA                BB                      CA                CB                 EA                FA                 SA                 PA                VA                EC                 FC                 SC                      PC                 VC                DC                IC                  QC                GC                TC                 L1                 L7                      opintotausta

Ytl:n sivulla on ohje muuttujanimistä:

  • [koekoodi] – Arvosanapisteet; I=0, A=2, B=3, C=4, M=5, E=6, L=7
  • yht – Tutkinnon arvosanapisteet yhteensä
  • sukup – Sukupuoli 1=mies, 2=nainen
  • ka_pak – Pakollisten aineiden keskiarvo
  • ka – Oppilaitoksen keskiarvo kokelaiden kaikken kokeiden keskiarvosta
  • n – Vastaavasti kokeiden lukumäärä (oppilatoksen keskiarvo)
  • ka_pkr – Oppilaitoksen keskiarvo kokelaiden ”pitkien aineiden” keskiarvosta; mukana pitkä matematiikka, pitkät kielet, pitkä toinen kotimainen, äidinkieli ja kaikki reaalikokeet
  • n_pkr – Vastaavasti kokeiden lukumäärä (oppilaitoksen keskiarvo)
  • ylioppilas – niiden kokelaiden lukumäärä, jotka ovat kyseisellä tutkintokerralla saaneet hyväksytyn tutkintokokonaisuuden ja joilla lisäksi on julkaisuajankohtana lukion päättötodistus.
  • opintotausta:
    • 1 – Lukion opiskelija
    • 2 – Ammatillisten opintojen pohjalta tutkintoa suorittava kokelas
    • 3 – Lukion oppimäärää ja ammatillista tutkintoa suorittava kokelas
    • 4 – Muu opiskelija/tuntematon

Ytl:n sivulta löytyy linkki sivulle https://www.ylioppilastutkinto.fi/ext/data/FT2016KD0010.csv, sieltä löytyvät yo-kokeiden koodit.

koe                nimi              namn

A                   Äidinkieli, suomi                Modersmålet, finska

A5                 Suomi toisena kielenä        Finska som andraspråk

BA                Ruotsi, pitkä oppimäärä     Svenska, lång lärokurs

BB                Ruotsi, keskipitkä oppimäärä                  Svenska, medellång lärokurs

BI                  Biologia        Biologi

CA                Suomi, pitkä oppimäärä     Finska, lång lärokurs

CB                Suomi, keskipitkä oppimäärä                  Finska, medellång lärokurs

DC                Pohjoissaame, lyhyt oppimäärä               Nordsamiska, kort lärokurs

EA                Englanti, pitkä oppimäärä  Engelska, lång lärokurs

EC                 Englanti, lyhyt oppimäärä  Engelska, kort lärokurs

ET                 Elämänkatsomustieto         Livsåskådningskunskap

FA                 Ranska, pitkä oppimäärä    Franska, lång lärokurs

FC                 Ranska, lyhyt oppimäärä    Franska, kort lärokurs

FF                 Filosofia       Filosofi

FY                 Fysiikka        Fysik

GC                Portugali, lyhyt oppimäärä Portugisiska, kort lärokurs

GE                Maantiede     Geografi

HI                 Historia         Historia

I                    Äidinkieli, inarinsaame      Modersmålet, enaresamiska

IC                  Inarinsaame, lyhyt oppimäärä                  Enaresamiska, kort lärokurs

KE                Kemia           Kemi

L1                 Latina, lyhyt oppimäärä     Latin, kort lärokurs

L7                 Latina, pidempi oppimäärä Latin, längre lärokurs

M                  Matematiikka, pitkä oppimäärä               Matematik, lång lärokurs

N                   Matematiikka, lyhyt oppimäärä               Matematik, kort lärokurs

O                   Äidinkieli, ruotsi                Modersmålet, svenska

O5                 Ruotsi toisena kielenä        Svenska som andraspråk

PA                 Espanja, pitkä oppimäärä   Spanska, lång lärokurs

PC                 Espanja, lyhyt oppimäärä   Spanska, kort lärokurs

PS                 Psykologia    Psykologi

Q                   – ei käytössä –                     – ej i bruk –

QC                Koltansaame, lyhyt oppimäärä                Skoltsamiska, kort lärokurs

SA                 Saksa, pitkä oppimäärä      Tyska, lång lärokurs

SC                 Saksa, lyhyt oppimäärä      Tyska, kort lärokurs

TC                 Italia, lyhyt oppimäärä       Italienska, kort lärokurs

TE                 Terveystieto  Hälsokunskap

UE                Evankelis-luterilainen uskonto                Evangelisk-luthersk religion

UO                Ortodoksi uskonto              Ortodox religion

VA                Venäjä, pitkä oppimäärä    Ryska, lång lärokurs

VC                Venäjä, lyhyt oppimäärä    Ryska, kort lärokurs

W                  Äidinkieli, koltansaame     Modersmålet, skoltsamiska

YH                Yhteiskuntaoppi                 Samhällslära

Z                   Äidinkieli, pohjoissaame    Modersmålet, nordsamiska

Valitse Excelin Lisää valikosta Pivot-taulukko

ja paina OK.

Valitse Pivot—taulukon kentät ikkunasta koulun_nimi ja yht.

Vedä ∑ Arvot-laatikosta koulun nimi Rivit laatikkoon ja klikkaa ∑ Arvot-laatikossa i-pompulaan. Muuta Summa Keskiarvoksi.

Valitse alue B4:B404 eli koulujen keskiarvot ilman otsikkoa ja Tiedot-valikosta Lajittele ja suodata Ö:stä A:han.

Näin saatiin koulut järjestykseen. Miksi, ainakin minä kysyn?

Kun pisteiden arvot kopioi ja liittää uuteen lomakkeeseen, niin Excel piirtää oletusarvoilla (hyvä on, oli pakko lisätä otsikko) seuraavanlaisen kuvaajan.

kevään 19 yo-kokeiden kaikkien aineiden koulukohtainen keskiarvo exelillä

Kun tätä vertaa Google Sheetsin piirtämään histogrammiin pakollisista aineista, niin pohdituttaa, miksi siinä on tuo kyhmy oikealla ja mitä se tarkoittaa.

kevään 19 yo-kokeiden pakollisten aineiden koulukohtainen keskiarvo sheetsillä

Tätä kirjoitettaessa havaitsin, että ainakin minulla Excel toimi jouhevammin. Se voinee johtua siitä, että olen käyttänyt Exceliä 30 v ja Sheetsiä 5 v.

Palaan aiheeseen lähiaikoina. Tiedon louhinta on kivaa, kun sitä osaa. Vasitenkin se oppimispuoli on aina hauskaa.

Ylioppilasdatan louhimista Pivot-taulukoilla

[edit. 25.5. Korjasin pari kirjoitus vihrettä ja muutin yo-tiedoston otsikkorivi-kohdan luettavammaksi.]

Tein tämän alunperin Excelillä, niinpä päätin tuottaa saman Google Sheetsin Pivot toiminnolla, jotta oppisin uutta. Tulevassa tarinassa teen saman Excelillä.

Mielestäni kaikkien matikan opettajien tulisi osata käyttää Pivot-toimintoa taulukkolaskennossa ja opettaa se oppilailleen. Näin monen taulukkoja käyttävien henkilöiden työ muuttuisi helpommaksi ja maamme kansantalous kasvaisi :o)

Ylioppilaslautakunnan sivulla Oppilaitoskohtaisia tunnuslukuja https://www.ylioppilastutkinto.fi/tietopalvelut/tilastot/koulukohtaisia-tunnuslukuja on ohjeet miten ladata kevään 19 ylioppilaskirjoitusten tulokset csv-tiedostona. Myös aiempien tutkintokertojen tiedostot ovat ladattavissa. Tiedostoja on kahta eri tyyppiä riippuen niiden päivitettävyydestä. D3000-sarjan tiedostot eivät päivity. D4000-sarjan tiedostot päivittyvät kun ylioppilastutkinnon tiedot täsmentyvät esimerkiksi tarkistusarvostelun takia.

Kevään 19 pakollisten aineiden (ei päivittyvät) tulokset löytyvät tiedostosta https://www.ylioppilastutkinto.fi/ext/data/FT2019KD3002.csv

Kun klikkaat tuohon osoitteeseen, niin selaimesi lataa tiedoston lataukset-kansioosi. Käytän tätä tiedostoa mallina siitä, miten tietoa voi käsitellä Google Sheetsin ja Excelin Pivot-taulukkotoiminnolla (myöhemmin).

Tavoitteena on tuottaa samankaltainen lista koulujen menestymisessä pakollisissa aineissa kuin lehdet ovat tuottaneet. Samoilla menetelmillä voi helposti laittaa kouluja järjestykseen vaikkapa eri oppiaineiden tulosten perusteella tai vertailla tyttöjen ja poikien (vaikka sukupuolella ei ole väliä) menestymistä eri aineissa.

Google Sheets

Koska Google on luonut Google Sheetsin, käytän Googlen Chrome selainta. Mene omaan Driveesi ja luo tyhjä Google Sheets-taulukko. Valise Tiedosto-valikosta Tuo ja Tuo tiedosto-ikkunassa Lähetä. Klikkaa Valitse tiedosto ja hae ladattu Ytl:n tiedosto Lataukset-kansiosta. Laita Erotintyypiksi puolipiste ”;”.

Jos kaikki meni oikein meillä on 29574 riviä dataa eli 29573 oppilaan pakollisten aineiden tulokset. Tässä vaiheessa tiedostolle on syytä antaa nimi vaikka 19Kpakolliset.

Otsikkorivinä näyttää olevan seuraavanlaista:

tutkintokerta koulun_nro koulun_nimi opetuskieli tyyppi sukup yht A O Z I W Q A5 O5 M N BI FF FY HI PS UE UO ET GE KE TE YH BA BB CA CB EA FA SA PA VA EC FC SC PC VC DC IC QC GC TC L1 L7 opintotausta

Ytl:n sivulla on ohje muuttujanimistä:

  • [koekoodi] – Arvosanapisteet; I=0, A=2, B=3, C=4, M=5, E=6, L=7
  • yht – Tutkinnon arvosanapisteet yhteensä
  • sukup – Sukupuoli 1=mies, 2=nainen
  • ka_pak – Pakollisten aineiden keskiarvo
  • ka – Oppilaitoksen keskiarvo kokelaiden kaikken kokeiden keskiarvosta
  • n – Vastaavasti kokeiden lukumäärä (oppilatoksen keskiarvo)
  • ka_pkr – Oppilaitoksen keskiarvo kokelaiden ”pitkien aineiden” keskiarvosta; mukana pitkä matematiikka, pitkät kielet, pitkä toinen kotimainen, äidinkieli ja kaikki reaalikokeet
  • n_pkr – Vastaavasti kokeiden lukumäärä (oppilaitoksen keskiarvo)
  • ylioppilas – niiden kokelaiden lukumäärä, jotka ovat kyseisellä tutkintokerralla saaneet hyväksytyn tutkintokokonaisuuden ja joilla lisäksi on julkaisuajankohtana lukion päättötodistus.
  • opintotausta:
    • 1 – Lukion opiskelija
    • 2 – Ammatillisten opintojen pohjalta tutkintoa suorittava kokelas
    • 3 – Lukion oppimäärää ja ammatillista tutkintoa suorittava kokelas
    • 4 – Muu opiskelija/tuntematon

Ytl:n sivulta löytyy linkki sivulle https://www.ylioppilastutkinto.fi/ext/data/FT2016KD0010.csv, sieltä löytyvät yo-kokeiden koodit.

koe                nimi              namn

A                   Äidinkieli, suomi                Modersmålet, finska

A5                 Suomi toisena kielenä        Finska som andraspråk

BA                Ruotsi, pitkä oppimäärä     Svenska, lång lärokurs

BB                Ruotsi, keskipitkä oppimäärä                  Svenska, medellång lärokurs

BI                  Biologia        Biologi

CA                Suomi, pitkä oppimäärä     Finska, lång lärokurs

CB                Suomi, keskipitkä oppimäärä                  Finska, medellång lärokurs

DC                Pohjoissaame, lyhyt oppimäärä               Nordsamiska, kort lärokurs

EA                Englanti, pitkä oppimäärä  Engelska, lång lärokurs

EC                 Englanti, lyhyt oppimäärä  Engelska, kort lärokurs

ET                 Elämänkatsomustieto         Livsåskådningskunskap

FA                 Ranska, pitkä oppimäärä    Franska, lång lärokurs

FC                 Ranska, lyhyt oppimäärä    Franska, kort lärokurs

FF                 Filosofia       Filosofi

FY                 Fysiikka        Fysik

GC                Portugali, lyhyt oppimäärä Portugisiska, kort lärokurs

GE                Maantiede     Geografi

HI                 Historia         Historia

I                    Äidinkieli, inarinsaame      Modersmålet, enaresamiska

IC                  Inarinsaame, lyhyt oppimäärä                  Enaresamiska, kort lärokurs

KE                Kemia           Kemi

L1                 Latina, lyhyt oppimäärä     Latin, kort lärokurs

L7                 Latina, pidempi oppimäärä Latin, längre lärokurs

M                  Matematiikka, pitkä oppimäärä               Matematik, lång lärokurs

N                   Matematiikka, lyhyt oppimäärä               Matematik, kort lärokurs

O                   Äidinkieli, ruotsi                Modersmålet, svenska

O5                 Ruotsi toisena kielenä        Svenska som andraspråk

PA                 Espanja, pitkä oppimäärä   Spanska, lång lärokurs

PC                 Espanja, lyhyt oppimäärä   Spanska, kort lärokurs

PS                 Psykologia    Psykologi

Q                   – ei käytössä –                     – ej i bruk –

QC                Koltansaame, lyhyt oppimäärä                Skoltsamiska, kort lärokurs

SA                 Saksa, pitkä oppimäärä      Tyska, lång lärokurs

SC                 Saksa, lyhyt oppimäärä      Tyska, kort lärokurs

TC                 Italia, lyhyt oppimäärä       Italienska, kort lärokurs

TE                 Terveystieto  Hälsokunskap

UE                Evankelis-luterilainen uskonto                Evangelisk-luthersk religion

UO                Ortodoksi uskonto              Ortodox religion

VA                Venäjä, pitkä oppimäärä    Ryska, lång lärokurs

VC                Venäjä, lyhyt oppimäärä    Ryska, kort lärokurs

W                  Äidinkieli, koltansaame     Modersmålet, skoltsamiska

YH                Yhteiskuntaoppi                 Samhällslära

Z                   Äidinkieli, pohjoissaame    Modersmålet, nordsamiska

Minä itse koen vastenmielisenä laittaa kouluja johonkin ”paremmuusjärjestykseen” mutta pitkin hampain esitän tässä, miten se tehdään.

Google Sheets-taulukossa valitse kaikki rivit klikkaamalla vasemmalla riviin 1 ja sitten Vaihto pohjassa riviin 25974. Tämä on kohta hankala muistaa, jos on tottunut käyttämään Exceliä. Valitaan Tiedot-valikosta Pivot-taulukko.

(Google Sheets-taulukossa valitse ensin koko taulukko klikkaamalla taulukon rivien ja sarakkeiden nurkkaan tai ctrl -A (Macissa cmd-A). Ei toimi sillä se tuottaa tyhjän rivin alkuun joka haittaa suuruusjärjestystä myöhemmin.)

Sheets luo uuden lomakkeen nimeltä Pivot-taulukko.

Valitse Pivot-taulukon editorissa Rivit -> Lisää -> Lajitteluperuste -> Koulun nimi ja Arvot ->Lisää -> yht sekä Yhteenvedon peruste -> Average. Jätä myös Kokonaismäärä pois.

Näin saatiin koulukohtaiset keskiarvot laskettua pakollisista kirjoitetuista aineista.

Jostain kumman syystä en saanut suuruusjärjestystä toimimaan Pivot-taulukossa. Niinpä valitsin koko taulukon ctrl-A:lla (cmd-A Macissä) loin uuden lomakkeen ja Muokkaa valikosta Liitä määräten ->Liitä vain Arvoja.

Valitaan koko taulukko ja Tiedot-valikosta Lajitteluväli.

Näin saatiin koulut järjestykseen.

Kuvittelin, että tämä olisi ollut helpompaa. Se muuten on Excelillä. Niinpä seuraavassa tarinassa tehdään sama Execlissä ja siirretään dataa GeoGebraan.

Lisätään loppuun bonuksena Google Sheetsin lähes ilmaiseksi tuottama histogrammi.