Pariohjelmoinnilla lisää mielekkyyttä ohjelmoinnin opetukseen? Annika Alakastari



Samankaltaiset tiedostot
Annika Alakastari PARIOHJELMOINTI OLIO-OHJELMOINNIN OPETUSMENETELMÄNÄ

Ohjelmoinnin opetus pariohjelmoinnin näkökulmasta

Linjakas palaute TAHI Palautteen pedagogiikkaa

SEPA päiväkirja. BetaTeam. Juho Mäkinen, 57796V, Jari Leppä, 42710V, Versio Pvm Tekijä Kuvaus

OPPIMISEN MONET MUODOT Työsuhteessa tapahtuva harjoittelu. Anniina Friman Bioanalyytikko, AMK, YAMK- opiskelija TuAMK

CASE- harjoittelusta simulaatio-oppimiseen. Juhani Seppälä Lehtori (ensihoito) Kaakkois-Suomen ammattikorkeakoulu

VERSIONHALLINTA. PARIOHJELMOINTI Lari Ahti, 62634M Antti Kauppinen, 58390D

Ajattelu ja oppimaan oppiminen (L1)

CASE- harjoittelusta simulaatio-oppimiseen - Avoimen korkeakoulutuksen neuvottelupäivät XAMK Kouvolan kampus

Tervetuloa opiskelemaan DIGITAALI- TEKNIIKKAA! Digitaalitekniikan matematiikka Luku 0 Sivu 1 (9)

Opiskelijoiden ja opettajien erilaiset käsitykset opettamisesta koulutuksen suunnittelun taustalla

Menetelmiä jatkuvaan opiskeluun kannustamiseen ja oppimisen seurantaan

POHJOIS-KARJALAN AMMATTIKORKEAKOULU AIKUISKOULUTUS

Kansainvälisen opinnäytetyöryhmän ohjaus kokemuksia ja havaintoja. Outi Kivirinta Rovaniemen ammattikorkeakoulu

Opetuksen suunnittelun lähtökohdat. Keväällä 2018 Johanna Kainulainen

Tehostettu kisällioppiminen tietojenkäsittelytieteen ja matematiikan opetuksessa yliopistossa Thomas Vikberg

Työelämälähtöinen projektioppiminen vahvuudet ja karikot

11. Oppimismotivaatio ja tehokas oppiminen. (s )

Toimijuuden tutkimus opetuksen kehittämisen tukena. Päivikki Jääskelä & Ulla Maija Valleala

Kirjaston integrointi opetukseen

Korkeakoulujen henkilöstön pedagogisen ja digitaalisen opetus- ja ohjausosaamisen vahvistaminen

Yhteisöllisen oppimisen työpaja Reflektori 2010 Tulokset

Kokemuksia ja havaintoja työelämäläheisyydestä korkeakouluissa

ILO OPPIA! Uuden koulun monikäyttöisyys ja toiminnallisuus

OPS-KYSELY. Syksy Vetelin lukio

Sormitietokoneet alkuopetuksessa pintaselailua vai syvällistä oppimista?

Case-opetusmenetelm. opetusmenetelmä. Mirja Anttila, Elina Kettunen, Kristiina Naski, Kaija Ojanperä

Pentti Haddington Oulun yliopisto englantilainen filologia. Anna Marin OAMK, liiketalouden yksikkö; Oulun yliopisto, UniOGS

Työelämälähtöistä oppimista ympäristötehokkuuspajassa. Susanna Vanhamäki Lahden ammattikorkeakoulu

LÄHIOPETUKSEN KÄYTÄNTEET. Opiskelumotivaatioon vaikuttavat tekijät lähiopetuksessa tekniikan alan opetuksessa

Mikä ihmeen projektioppiminen?

Lapset luovina luonnontutkijoina tutkimusperustainen opiskelu esija alkuopetuksessa

TUKIMATERIAALI: Arvosanan kahdeksan alle jäävä osaaminen

Kohti varhaiskasvatuksen ammattilaisuutta HYVINKÄÄN VASU2017

Multimodaalisuus oppijan tukena oppimateriaaleista eportfolioon

Osaamisperustaisuuden arviointia tentillä

Näkökulmia tietoyhteiskuntavalmiuksiin

OPPIVA YHTEISÖ - YHTEISÖLLINEN KOULU

Oulun ammattikorkeakoulu LIIKETALOUDEN AMK-TUTKINNOT, KEVÄÄN 2017 YHTEISHAKU

Käsityökasvatuksen (tekninen työ) perusopinnot (28 op)

- ja tänä elinikäisen oppimisen aikakautena myös aikuiset..

Valmis tutkinto työelämävalttina - VALTTI. Toimenpiteet ja toiveet Oulun seudun ammattikorkeakoulu, Diakonia ammattikorkeakoulun Oulun yksikkö

KOKEMUKSIA JATKUVASTA ARVIOINNISTA JA KOTITENTISTÄ. Jari Hannu

Miten minun tulisi toimia, jotta toimisin oikein?

Vaihtoehto A. Harjoittelu Oulun seudun harjoitteluverkostossa Vaihtoehto B. Harjoittelu Rovaniemen seudun harjoitteluverkostossa

Verkko-oppiminen: Teoriasta malleihin ja hyviin käytäntöihin. Marleena Ahonen. TieVie-koulutus Jyväskylän lähiseminaari

Työpaikkaohjaajakoulutus Kouvolan seudun ammattiopistossa

Verkossa opiskelu vaatii opiskelijalta paljon aktiivisuutta ja kykyä työskennellä itsenäisesti

Harjoittelu omassa opetustyössä ammatillisen koulutuksen parissa

Osallisuuden taitojen harjoittelua yhteisöllisesti kirjoittamalla. Anne Jyrkiäinen ja Kirsi-Liisa Koskinen-Sinisalo Tampereen yliopisto

Pienryhmäopetuksen soveltuminen fysiikan opetukseen: Tapaustutkimus Oulun normaalikoululta keväältä 2013

Trialogisen oppimisen suunnitteluperiaatteet

Tervetuloa jatkamaan DIGITAALI- TEKNIIKAN opiskelua! Digitaalitekniikka (piirit) Luku 0 Sivu 1 (8)

ASKELMERKKI. suoritettu. - Koulunkäynnin intensiivinen tuki

Opinnäytteen edellytyksistä ammattikorkeakoulussa

Mikä innostaa oppimaan yhdessä?

Yksin työskentelystä ryhmäblogiksi

TUKIMATERIAALI: Arvosanan kahdeksan alle jäävä osaaminen

Kansainvälistyvä Keski-Suomi

Turvakävely pedagogisena menetelmänä

University of Joensuu Island in Second Life. Teemu Moilanen Telmus Noel Joensuun yliopisto/ Savonlinnan koulutus- ja kehittämiskeskus skk.joensuu.

Yhteenveto Hiekanpään koulun opettajien haastatteluista, 5/2015. Riku Ruotsalainen,

TUTKIMUSLÄHTÖINEN FYSIIKAN OPISKELU. MAOL:n syyskoulutuspäivät

Kurssipalaute HTKP103 Johdanto tieto- ja viestintäteknologiaan, harjoitukset, syksy 2015

PROFILES -hankkeeseen osallistuvien opettajien osaamisalueiden kartoittaminen

KOULUTTAJAKOULUTUS (20 op)

Tietostrategiaa monimuotoisesti. Anne Moilanen Rehtori, Laanilan yläaste, Oulu

Tiimityö- ja esiintymistaitojen kehittäminen

Trakla2-opetusympäristö

Portfolio Humanistisessa ammattikorkeakoulussa. Hannu Sirkkilä YTT, yliopettaja

Hei Sinä ryhmän FYS15K opiskelija,

OPPIKIRJATON OPETUS! Kari Nieminen!! Tampereen yliopiston normaalikoulu!! ITK 2015!

Avoin toimintakulttuuri. SotePeda 7/24 Hanna Lahtinen

LÄHI- JA VERKKO- OPETUKSEEN OSALLISTUNEIDEN KOKEMUKSIA OPETUKSESTA

KTKO104. Luento

Flippausta 3 korkeakoulun opiskelijoille

MATEMATIIKKA. Elina Mantere Helsingin normaalilyseo Elina Mantere

Osaamista opintojen ohessa (OOO) - tutkimusnäkökulma

JATKUVA JA MONIPUOLINEN ARVIOINTI LUKIOSSA

Kenelle tutkimusetiikan koulutus kuuluu? Heidi Hyytinen ja Iina Kohonen TENK

Yhteisöllistä oppimista edistävät ja vaikeuttavat tekijät verkkokurssilla

Teknologiaa kouluun -projekti

AJATUKSIA TYÖPAIKKAOHJAAJALLE PARTURI- KAMPAAJA OPISKELIJAN OHJAAMISESTA JA MOTIVOINNISTA TYÖPAIKALLA

Kun ruotsi on hauskaa - laadunhallintamallin rakentaminen monimuotokurssille

Vanhan kertausta?(oklp410): Shulmanin(esim. 1987) mukaan opettajan opetuksessaan tarvitsema tieto jakaantuu seitsemään kategoriaan:

Turun ammattikorkeakoulun opiskelijabarometri 2007

Kansainvälinen liiketoiminta Digitalisaatio ja digitaaliset oppimisympäristöt. Pepe Vilpas

Opetussuunnitelma uudistuu. Syksy 2016

Aalto University School of Engineering Ongelmaperusteisen oppimisen innovatiivinen soveltaminen yliopisto-opetuksessa

Opetusteknologiastako apua matematiikan opiskelun reaaliaikaisessa ohjaamisessa ja arvioinnissa. Kari Lehtonen Metropolia ammattikorkeakoulu

Tekijä: Pirkko Jokinen. Osaamisen arviointi

Eihän yksittäinen opettaja voi vaikuttaa yliopiston tuloksiin ja opiskelijan valmistumiseen! Tarve skaalautuville sähköisille seurantatyövälineille?

Opetussuunnitelmauudistus opettajan näkökulmasta. Uudistuva esiopetus Helsinki Lastentarhanopettajaliitto puheenjohtaja Anitta Pakanen

Seminaari Heli Lepistö

Erikoiskirjastojen kansallinen käyttäjäkysely 2013

Opiskelutaidot Tiina Kerola

Yleisiä ohjeita visualisointien käyttöönotosta ohjelmointikurssilla

Miten uraseuranta- ja työelämätietoa käytetään opetussuunnitelmatyössä ammattikorkeakouluissa? Uraseurantafoorumi Jaana Kullaslahti

Perusopetuksen opetussuunnitelman perusteet. Vanhempainiltakiertue Iissä syyskuu 2017 Alarannan koulu Vuosiluokat 0-6 Jaana Anttonen

Lappeenrannan lukiokoulutuksen strateginen kehittämissuunnitelma Suomen paras lukiokoulutus 2022

Transkriptio:

Pariohjelmoinnilla lisää mielekkyyttä ohjelmoinnin opetukseen? Annika Alakastari Pariohjelmointi soveltuu opetusmenetelmäksi ryhmille, joilla on riittävät perusvalmiudet ohjelmointiin sekä halua ja kykyä yhteistyöhön. Parhaimmillaan pariohjelmointi vähentää opettajan työtaakkaa sekä lisää opetustyön ja opiskelun mielekkyyttä. Ohjelmoinnin opettamisessa riittää haasteita. Ohjelmoinnin abstraktien käsitteiden havainnollistaminen opiskelijoille on vaativaa. Lisäksi opettajan pitäisi saada opiskelijat oivaltamaan, että ohjelmoinnin opiskelussa ei ole kyse pelkästään ohjelmakoodin tuottamisesta. Opiskelijoiden pitäisi hallita myös ohjelman tai sovelluksen suunnittelu- ja testausvaiheet, ymmärtää valmista ohjelmakoodia ja oivaltaa dokumentoinnin tärkeys. Usein opiskelijat tyytyvät tuottamaan ohjelmakoodia yrityksen ja erehdyksen kautta, mikä ei auta kokonaisuuden hahmottamisessa ja tuottaa usein uusia virheitä. Opettajan tehtävänä olisi saada opiskelijat ymmärtämään, että ohjelmointi vaatii systemaattisuutta, ennakointia ja tarkkuutta. Opettajan tehtävänä on muistuttaa opiskelijoita myös siitä, että hyvä ohjelmoija kykenee yhteistyöhön eri osapuolten, kuten asiakkaiden ja kollegoiden kanssa. Ohjelmointia opiskellaan yleensä opettajajohtoisesti. Opiskelijat työskentelevät itsenäisesti omissa työpisteissään, ja yhteistyö muiden opiskelijoiden kanssa on satunnaista. Opettajalla ei ole aina riittävästi aikaa syventyä opiskelijoiden kysymyksiin, jos ryhmä on suuri. Opiskelijoiden ohjelmointitaidot vaihtelevat erityisesti aikuisopiskelijoiden keskuudessa melkoisesti vasta-alkajista jo ohjelmoinnin parissa työskenteleviin ammattilaisiin. Osalle opintojaksojen vaatimukset ovat todella haasteellisia, kun taas osa turhautuu haasteiden puuttumiseen. Opiskelijoiden vaihtelevat taustat ja ohjelmointitaidot tuovat lisähaastetta opetukseen. Oppiminen on prosessi, johon vaikuttavat esimerkiksi opiskelijan motivaatio, tietopohja, oppimistyyli, oppimisympäristö ja opetustyyli. Myös vuorovaikutuksen merkitys oppimisessa on olennainen. Keskustelemalla ja pohtimalla yhdessä saavutetaan monipuolisempi ja syvällisempi käsitys opiskeltavasta aiheesta. Ihanteellisessa oppimisympäristössä oppija saa laajentaa tietämystään omista lähtökohdistaan vuorovaikutuksessa toisten opiskelijoiden ja opettajan kanssa. Siten myös pariohjelmointi voi auttaa ohjelmoinnin lainalaisuuksien omaksumisessa.

Pariohjelmointi opetusmenetelmänä Pariohjelmoinnilla tarkoitetaan menetelmää, jossa kaksi ohjelmoijaa tekee tiivistä yhteistyötä saman päätteen ääressä toisen tuottaessa lähdekoodia (driver) ja toisen korjatessa virheitä ja tehdessä kehitysehdotuksia (copilot) (ks. kuvio 1). Osapuolet kommunikoivat aktiivisesti keskenään. Rooleja sekä pareja vaihdetaan säännöllisesti. Ohjelmoijat istuvat siten, että molemmilla on esteetön näkymä päätteelle. Vuorojen vaihtuessa siirretään pelkkää näppäimistöä. [1], [2] Driver Co-pilot KUVIO 1. Pariohjelmoinnin roolit Tutkimukset ovat osoittaneet, että pariohjelmointi ei vaikuta merkittävästi arvosanoihin [3], mutta se lisää opintojakson loppuun saakka suorittaneiden määrää [4]. Pariohjelmointi nostaa myös harjoitustöiden tasoa [5]. Suunnittelun ja dokumentoinnin merkitys korostuu itsenäiseen työskentelyyn verrattuna, koska ratkaisuista pitää keskustella ja uuden parin täytyy ymmärtää tuotettua lähdekoodia [6]. Pariohjelmoinnin avulla opiskelijat työskentelevät intensiivisemmin [7]. Työskentely etenee ripeästi, koska pari auttaa ongelmallisissa tilanteissa, eikä opettajan apua tarvitse odottaa. Opettajien kokemusten mukaan pariohjelmointi helpottaa työtaakkaa ja lisää opetustyön mielekkyyttä, koska korjattavaa on puolet vähemmän ja opettajalle jää oppitunneilla enemmän aikaa keskittyä opiskelijoiden haastavampiin kysymyksiin. [8] Pariohjelmointikokeilu Oamkissa syksyllä 2012 Pariohjelmoinnin soveltuvuutta ohjelmoinnin opetusmenetelmäksi tutkittiin Oulun seudun ammattikorkeakoulun Liiketalouden yksikön Tietojenkäsittelyn koulutusohjelman olio-ohjelmoinnin opintojaksolla. Pariohjelmointikokeilu toteutettiin syksyllä 2012. Opiskelijat jaettiin pareihin alkukartoituksen perusteella niin, että osapuolten ohjelmointitaidot vastasivat toisiaan. Pareja vaihdettiin opiskelijoiden halukkuuden mukaan

opintojakson puolivälissä. Parit työskentelivät pääsääntöisesti siten, että rooleja vaihdettiin jokaisen tapaamiskerran aluksi. Opintojaksoon kuuluvat harjoitustehtävät ohjelmoitiin parin kanssa. Harjoitustyöt sekä tentit suoritettiin kuitenkin itsenäisesti. Pariohjelmointi ei ollut pakollista, mutta sitä suositeltiin kaikille opiskelijoille. [9] Pariohjelmoinnin toimivuutta opetusmenetelmänä tarkasteltiin niin opiskelijoiden kuin opettajankin näkökulmasta. Opiskelijat vastasivat neljään sähköiseen kyselyyn, joista kolme toteutettiin opintojakson aikana ja yksi noin kolmen kuukauden kuluttua opintojakson päättymisestä. Kyselyillä kartoitettiin mm. suhtautumista pariohjelmointiin, pariohjelmoinnin toteutumista, pariohjelmoinnin vaikutusta oppimiseen sekä pariohjelmoinnin hyödyntämistä opintojakson päättymisen jälkeen. Opettajan havaintoja ja näkemyksiä kartoitettiin haastattelun avulla. Syksyn 2012 toteutuskertaa verrattiin myös aiempien vuosien toteutuskertoihin oppimistulosten ja läpäisyprosentin suhteen. [9] Pariohjelmointikokeilun tuloksena havaittiin, että pariohjelmointi soveltuu opiskelijoille, joilla on riittävät perusvalmiudet ohjelmoinnissa sekä halua ja kykyä yhteistyöhön. Opiskelijat, jotka hyödynsivät pariohjelmointia eniten, saivat korkeimmat arvosanat. Vastaavasti opiskelijat, joilla oli heikko lähtötaso ja vaikeuksia kommunikoida parin kanssa, menestyivät opintojaksolla vaatimattomammin. Suhtautuminen pariohjelmointiin muuttui opintojakson edetessä pääsääntöisesti positiivisemmaksi, kun opiskelijat havaitsivat hyötyvänsä pariohjelmoinnista. Opintojakson läpäisyprosentti oli korkein viiteen vuoteen. Osa opiskelijoista jatkoi pariohjelmointia tutkittavana olleen opintojakson päättymisen jälkeen työelämälähtöisessä projektissa. Vaikka tutkimuksen tulokset olivat pääosin rohkaisevia, tarvitaan kuitenkin jatkokokeiluja toimivan kokonaisuuden saavuttamiseksi. [9] Vinkkejä pariohjelmoinnin toteuttamiseen opintojaksolla Seuraavaan luetteloon on lyhyesti koottu pariohjelmointikokeilun pohjalta ohjeita, joita ohjelmoinnin opettaja voi halutessaan noudattaa toteuttaessaan pariohjelmointia omilla opintojaksoillaan. 1. Tutustu pariohjelmoinnin työskentelyperiaatteisiin huolellisesti ennen ensimmäistä pariohjelmointikokeilua. Kokeile pariohjelmointia itse, jos se on mahdollista. 2. Varmista, että opetustila soveltuu pariohjelmointiin (tilaa vierekkäiselle työskentelylle). 3. Varaa riittävästi aikaa opiskelijoiden opastukseen ennen pariohjelmoinnin alkua. 4. Pyri luomaan opetustilaan virheet salliva ja avoin ilmapiiri.

5. Varaudu opiskelijoiden skeptiseen asenteeseen. Mieti perustelut pariohjelmoinnin käyttämiseen ennakkoon. Myös oma asenteesi vaikuttaa opiskelijoiden suhtautumiseen. 6. Pyri jakamaan parit niin, että parin osapuolet ovat tasavahvoja ohjelmointitaidoiltaan (lähtötasotesti tai aikaisemmat arvosanat), jotta opiskelijat eivät passivoidu ja turhaudu. 7. Anna opiskelijoille mahdollisuus vaikuttaa parien muodostamiseen. 8. Parityöskentelyn tulisi olla ensisijainen työskentelymuoto, mutta ei pakollinen. 9. Seuraa parien työskentelyä. Älä anna toisen osapuolen dominoida. Puutu epäkohtiin nopeasti. Roolien omaksuminen voi olla opiskelijoille haasteellista. 10. Rooleja (driver ja co-pilot) pitää vaihtaa riittävän usein (esim. 15-30 minuutin välein tehtävän mukaan), jotta molemmat roolit tuntuvat mielekkäiltä. 11. Pareja kannattaa kierrättää muutaman viikon välein. Pareille pitää kuitenkin jäädä aikaa löytää oma työskentelyrytmi ennen parin vaihtamista. 12. Pariohjelmointia ei kannata käyttää kaikkein yksinkertaisimpiin ohjelmointiharjoituksiin, vaan haastavampiin ja pitkäkestoisiin tehtäviin. 13. Harjoitustöiden teettäminen parin kanssa voi vähentää opettajan työtaakkaa. Myös paritenttejä voisi kokeilla. 14. Työskentelystä parin kanssa kannattaa kerätä palautetta. Opiskelijat voivat antaa toisilleen myös vertaispalautetta tai arvioida omaa panostaan parityöskentelyssä. 15. Jaa kokemuksiasi toisille opettajille, jotta saadaan aikaan toimiva kokonaisuus. [9] Lähteet: 1. Williams L. & Kessler R. 2003. Pair programming illuminated. Addison-Wesley. 2. Beck, K. & Anders, C. 2004. Extreme Programming Explained: Embrace Change Second Edition. Addison-Wesley Longman. Boston. 3. Nagappan, N., Williams, L., Ferzli, M., Wiebe, E., Yang, K., Miller, C. & Balik, S. 2003. Improving the CS1 experience with pair programming. Proceedings of the 34 th SIGCSE Technical Symposium on Computer Science Education (SIGCSE 03), Reno, Nevada, USA, 359-362. 4. Mendes, E., Al-Fakhri, L. B. & Luxton-Reilly, A. 2005. Investigating pair programming in a 2 nd -year software development and design computer science course. Proceedings of the 10 th Annual SIGCSE Conference on Innovation and Technology in Computer Science Education (ITICSE 05), Caparica, Portugal, 296-300. 5. Williams L. & Kessler R. 2000. The effects of pair-pressure and pair-learning. Proceedings of the 13 th Conference on Software Engineering Education & Training, 59-65. 6. DeClue, T. H. 2003. Pair programming and pair trading: Effects on learning and motivation in a CS2 course. Journal of Computing Sciences in Colleges 18 (5), 49-56.

7. Williams, L. 1999. But, isn t that cheating? [collaborative programming]. Frontiers in 29 th Annual Education Conference (FIE 99), 2 (12B9), 26-27. 8. Williams, L., Wiebe, E., Yang, K., Ferzli, M. & Miller C. 2002. In support of pair programming in the introductory computer science course. Hakupäivä 15.2.2013. http://collaboration.csc.ncsu.edu/laurie/papers/pp%20in%20introductory_csed.pdf. 9. Alakastari, A. 2013. Pariohjelmointi olio-ohjelmoinnin opetusmenetelmänä. Oulun seudun ammattikorkeakoulu. Tietojenkäsittelyn koulutusohjelma. Opinnäytetyö. Hakupäivä 24.5.2013 http://urn.fi/urn:nbn:fi:amk- 2013052410699.