Archive | syyskuu 2011

Kurssin kulissien takana

Opiskelijat tulevat harjoituksiin tekemään tehtäviä. He lukevat tehtävänantoja, palauttavat tehtäviä Goblin-tarkistusjärjestelmään ja katselevat ehkä jonotusjärjestelmän näyttämiä vinkkejä. Kuinkahan moni opiskelija tulee kuitenkaan ajatelleeksi, kuinka paljon työtä tällaisen kurssin järjestämisen takana on?

Siinä vaiheessa, kun luennoitsija on saanut tehtävänannot kirjoitettua, on yksi tärkeä vaihe kurssin valmistelussa vasta alkamassa. Pääassarin tehtäviin kuuluu pystyttää kurssin tehtävien automaattinen tarkistusjärjestelmä ja tehdä jokaista tehtävää varten tarkistin testaamaan opiskelijoiden palauttamia ratkaisuja.

Saattaa kuulostaa helpolta, mutta tämän vaiheen työmäärä on kuitenkin muutaman tunnin sijaan kymmeniä tunteja hyvin lyhyessä ajassa. Goblinin tarkistimiin täytyy määritellä esimerkiksi, miten riveittäin tapahtuva vertailu tehdään, mistä kohdista tulee pisteitä jne… Lisäksi suurimpaan osaan tehtävistä täytyy vielä kirjoittaa erillinen testiohjelma, joka hyödyntää opiskelijan laatimaa tai laatimia luokkia. Testi pitäisi suunnitella vielä siten, että se testaisi oikeasti jotakin hyödyllistä ja huomaisi erilaiset puutteet ja virheet. Yhteen tehtävään voi mennä helposti tunti tai kaksikin ja tehtäviä on kurssilla kolmisenkymmentä.

Pätkä tehtävän tarkistinta pääassarin ja opiskelijoiden silmin.

Kun tarkistimet on tehty, ei homma kuitenkaan ole vielä valmis. Opiskelijoille on kiva antaa harjoituksiin jotakin vinkkejä, joten kierroksittain pitäisi miettiä sopivia juttuja ja tehdä Powerpointilla vinkkikooste harjoitusten jonotusnäkymään. Tähänkin saa helposti kulumaan tunnin jokaista kierrosta kohden.

Tärkein asia tarkistimen valmistumisen jälkeen on kuitenkin seurata koko kurssin ajan, että kaikki toimii Goblinissa oikein. Käytännössä siis pitää lukea opiskelijoiden antamaa palautetta ja selailla palautuksia läpi sen varalta, että sieltä löytyisi jotakin outoa. Palautteita siis ihan oikeasti luetaan ja saatatpa saada sähköpostilla vastauksenkin, jos olet jostakin asiasta huomauttanut. Kurssin IRC-kanavallakin on kiva neuvoa opiskelijoita, joten myös ilta-aikaan riittää puuhasteltavaa sen verran kuin omaa aikaa hommaan haluaa käyttää.

Jos kaipaa siis säännöllistä virastotyöaikaa ja hommaa, jossa työasiat voi jättää töihin, kannattaa harkita muita toimia kuin pääassarin paikkaa. Kuitenkin tästä työstä voi ihan oikeasti tykätä enkä tätä paikkaa pois antaisi, jos joku ehdottaisi vaihtokauppaa. On mukavaa tehdä työtä, jonka tulokset näkyvät toivottavasti vajaalle 400 opiskelijalle toimivana palautusjärjestelmänä. Toisaalta, jos jokin menee pieleen, niin katastrofi on valmis, mutta se onkin jo toinen juttu… 🙂

Mainokset

Voisit sä vähän auttaa?

Noin, taas on Pythonin perusteita käyty läpi useamman opiskelijan kanssa. Ensimmäiset isot kysymykset liittyvät muuttujiin ja funktioihin. Mutta, ei mennä ohjelmoinnin yksityiskohtiin, vaan pysytään tässä korkeammalla tasolla.

Yksi isoimpia kysymyksiä assaroinnissa minulle on, että kuinka paljon meidän kuuluisi auttaa: siinä kohtaa kun assari kirjoittaa koodia, tilanne ei välttämättä ole täydellinen. Toisaalta, se on vain niin paljon helpompaa itse kirjoittaa pari riviä, kysellen välissä mietteitä ja pitää yllä huomiota, esimerkiksi kysymällä ”Mitenkäs tässä tulostettiin?”

Nyt pitää huomata, että ihmisillä on usein eritasoisia ongelmia: on niitä, joiden koodi on täynnä syntaksivirheitä, mutta ajatukset ovat oikein, on niitä joilla tehtävän ratkaisu on lähtenyt sivu-uralle ja on niitä, joilla ei ole mitään hajua, mitä pitäisi tehdä. Ja, varmasti monia muita, mutta pääpointti on, että erilaisiin ongelmiin tarvitsee vastata eri tavalla: syntaksiongelmat voi korjata tai käydä nopeasti läpi, yksinkertaiset operaatiokysymykset voi vastata sellaisenaan. Meidän klassikko taitaa olla tässä jakojäännöksen laskeminen Pythonilla, josta aina kysytään.

Sen sijaan niissä kohdissa kun tehtävän ratkaisutapa on kallellaan tai tai ideaa ratkaisuksi ei ole, tarvitseekin miettiä jo vähän enemmän. Olemme vielä kielen opiskelun alussa, tehtävät ovat yksinkertaisia tulostuslauseita, joilla saadaan tuntumaa sen kielen toimintaan. Siksi vielä uskallan antaa varsin suoria ohjeita: ”tee uusi muuttuja”, ”sijoita tämä luku siihen”, ”tulosta tämä” — tai, jopa kirjoitan niitä itse, kysellen välillä.

Tämä ei toimi kovinkaan hyvin silloin, kun ratkaisu ohjelmat monimutkaistuvat: silloin ensisijaisesti pitää saada se ratkaisun perusrakenne kuntoon. Noh, onneksi tässä on vielä pari viikkoa aikaa miettiä, että mitenkäs sen saisi toimimaan.

Ensimmäinen viikko Maarilla

Palasin kesän jälkeen tutun ja turvallisen Maarin syleilyyn. Edessä on taas puoli vuotta ohjelmoinnin peruskurssin laskuharjoituksia, erikoisuutena tänä vuonna on — kauan odotettu — kielimuutos Javasta Pythoniin.

Tekemistä on laskareissa riittänyt, vaikkakin ei kovinkaan paljon näin ensimmäisenä viikkona. Ensi viikosta lähtien tiistaisin on palautuspäivä ja oma päivystysvuoro osuu maanantaille 10-16. Eli, toivottavasti riittää tekemistä.

Tosin, vaikka luokassa onkin hiljaista, niin kurssikanava irkissä on hyvin aktiivinen. Emme tosin välttämättä aina puhu ohjelmoinnista — tänäänkin aiheena oli Big Brother, asuminen ja jopa muutama ohjelmointiongelmakin. Ja, olen siis itse näitä aktiivisemman suunnan irkkaajia tuolla kanvalla.

Miksi edes höpistä kaikkea satunnaista irkissä? Toisin kuin voisi arvata, syynä ei ole tylsyys, vaan yhteisön luominen: sellaisessa ympäristössä, jossa kanavalla näkyy aktiivisuutta vuorokauden ympäri ja ihmisistä tietää muutakin kuin nikin, on toivottavasti mielekkäämpää kysellä myös muista ongelmista. Ja, toki irkkaaminen on myös kivaa.