Notebooks – enemmän aikaa opetuksen ytimelle

Jokaisessa oppimistapahtumassa on kahdenlaista sisältöä: "jännää", joka edistää ydinaineksen oppimista, ja "pakkopullaa", joka on tavalla tai toisella välttämätöntä ymmärrykselle. Hyvä pedagogi pyrkii minimoimaan jälkimmäisen sisällön määrän ja käsittelemään ydintä mahdollisimman suuren osan opetusajasta.

Turhauttavin pakkopullan muoto lienee esitiedot ja valmistelut: ne ovat välttämättömiä, eikä niitä voi ohittaa ilman, että ydinaineksen omaksuminen kärsii. Tietotekniikkaa hyödyntävässä opiskelussa yksi ratkaistava ongelma on ohjelmistoympäristöjen asentaminen ja säätö.

Ohjelmistoja on saatavilla oppilaitosten koneilla, mutta opiskelijat eivät tyypillisesti pääse niihin käsiksi kotoaan. Joitain ohjelmistoja voi asentaa omalle koneelle, mutta yksinkertaiseenkin asennukseen tuhlautuu helposti tunti poikineen.

Notebooks.csc.fi on CSC:n tarjoama palvelu, joka on suunniteltu ratkaisemaan tämä ongelma, erityisesti ohjelmointi- ja analyysiympäristöjen tapauksessa.
 


Notebooks.csc.fi

CSC:n Notebooks tarjoaa oppijalle yksinkertaisen käyttöliittymän: palveluun kirjaudutaan Haka-tunnuksilla, ja sieltä voi nappia painamalla saada käyttöönsä ohjelmointiympäristön. Käytettävissä ovat suoraan Jupyter Notebooks ja RStudio Server -ympäristöt.

Oppija voi kirjautua järjestelmään miltä tahansa koneelta. Itse ympäristö pyörii CSC:n pilvessä, ja oppija käyttää sitä verkkoselaimen kautta. Jupyter Notebooks toimii rajoitetusti myös mobiililaitteilla.

Notebooks.csc.fi-palvelu on nimetty avoimen lähdekoodin Jupyter Notebooks -ohjelmiston mukaan. Se on (ohjelmointi)kieliriippumaton palvelinohjelmisto, joka on suunniteltu selaimessa tapahtuvaan, ymmärrettävään ohjelmointiin (literate programming). Ohjelmiston avulla oppijalle voidaan tarjota vuorotellen ohjelmakoodia ja koodia selittävää tekstiä ja kuvia.

Kaikki koodi on muokattavissa, ja oppija voi halutessaan ajaa osia koodista uudelleen muokkaamisen jälkeen ja tarkastella tuloksia. Käyttäjän ei ole välttämätöntä osata ohjelmoida, vaan opettaja voi kirjoittaa koodin valmiiksi ja antaa oppijan edetä omaan tahtiinsa koodia seuraten.

Jupyter Notebooks on erityisesti suunniteltu Julia, Python ja R -ohjelmointikielten kanssa käytettäväksi, mutta liitännäisten kautta sillä voidaan ohjelmoida myös Rubylla, Haskellilla, JavaScriptillä, Scalalla ja monilla muilla kielillä. Useimpia kielien kirjastoja voi käyttää ympäristössä, ja jotkin Python ja R-kirjastot erityisesti on suunniteltu toimimaan yhteen Jupyter Notebooksin kanssa.

Software as a Service (SaaS) -hengessä yksittäinen ympäristö on olemassa vain rajatun ajan, jonka jälkeen se siivotaan pois kuluttamasta resursseja. Halutessaan oppija saa kuitenkin nappia painamalla uuden identtisen ympäristön. Jos jotain menee pieleen, hajonneen ympäristön voi tuhota ja uuden käynnistää nopeasti.
 


 


Opettaja voi rakentaa palveluun reseptin, jonka avulla hänen oppilaansa saavat käyttöönsä kaikki samanlaisen ympäristön. Valmiiksi tarjottuihin ympäristöihin voidaan käynnistämisen yhteydessä asentaa lisäkirjastoja tai ladata valmiita datasettejä ja erityisesti valmiita notebook-tiedostoja, jotka sisältävät ohjelmakoodia ja selitteitä.
 

Notebookit opetuskäytössä

Donald Knuthin kehittämä ymmärrettävä ohjelmointi yhdistelee selitystä ja koodia. Opetuskäytössä yksinkertaisimmat notebookit esittelevät ohjelmointikielen tai opetettavan kirjaston ominaisuuksia ja yleisiä käyttötapauksia. Oppija voi seurata notebookia omaan tahtiinsa ja ajaa joka kohdan – ja näin varmistaa ymmärtävänsä, mitä esimerkissä tapahtuu.

Kokemus on osoittanut, että valtaosa opiskelijoista ei lue pitkiä tekstikappaleita kokonaan. Ytimekkyys on ymmärrettävässä ohjelmoinnissa hyve. Interaktiiviset kokeilutehtävät toimivat hyvin, ja avoimet kysymykset saattavat toimia, riippuen oppijan mielenkiinnosta asiaa kohtaan.
 


Esimerkkien jälkeen seuraava askel on tehtävien kehittäminen. Oppimistavoitteista riippuen tehtävät voi rakentaa eri tavoin. Ymmärrystä haettaessa opiskelijaa voidaan esimerkiksi pyytää muuttamaan jotain parametria tai tekemään yksinkertaisia muunnelmia jo esitetyistä ratkaisuista. Tehtävistä voi tehdä haastavampia vaatimalla radikaalimpia muutoksia tai jättämällä tyhjän koodisolun, johon opiskelija voi yhdistellä jotain täysin uutta jo opetetun perusteella.

Esitietojen vaihdellessa samaa notebookia voi käyttää sekä opetukseen että esitietojen varmistamiseen. CSC:llä on hyviä kokemuksia kaksipäiväisen R-ohjelmointikurssin järjestämisestä siten, että vain osa koulutettavista osallistuu ensimmäiselle päivälle.

Aiemmassa kaksipäiväisessä R-ohjelmointikurssissa oli vaikeaa sovittaa lähtötaso ja opetuksen tahti kaikille sopivaksi. R on ohjelmointikieli ja -ympäristö, mutta tavoite sen käytössä on yleensä selvästi data-analyysi ja yleisö pääsääntöisesti sellaista, joka ei ole aiemmin ohjelmoinut.

Erilaisia verkkokursseja ja itseopiskelumateriaaleja aiheeseen on pilvin pimein. Henkilökohtaista opetusta kaipaavat kuitenkin ne, joille asia on uutta ja hankalaa. Kun kurssin alkupää muotoiltiin itsenäiseksi notebookiksi, toimii se sekä itseopiskelumateriaalina että kurssirunkona ja -materiaalina lähiopetuspäivässä.

Ensimmäisen päivän aikana käydään läpi yksi notebook, joka opettaa keskeisimmät käsitteet ohjelmoinnin kannalta, jolloin toiseen päivään lähdetään kaikki samasta pisteestä.
 


Lisätietoja Notebooks-palvelusta voit tiedustella kehityspäällikkö Aleksi Kalliolta tai CSC:n asiakaspalvelusta (asiakaspalvelu@csc.fi).

Aleksi Kallio
kehityspäällikkö, CSC
p. 050 384 5158
aleksi.kallio@csc.fi
 

Blogisarjassa tutustutaan datan analysoinnin ja tiedolla johtamisen työkaluihin ja tietolähteisiin. Seuraavaksi vuorossa opetushallinnon tilastopalvelu Vipunen.

KUVA: THINKSTOCK

Jyry Suvilehto

Jyry Suvilehto

The author is a software developer and data analyst working at CSC.

To front page
Trackback URL:

comments powered by Disqus

LATEST POSTS: LATEST POSTS:

ARCHIVE: