Voiko yksittäisten opintojaksojen arvosanojen perusteella ennustaa, kuinka hyvin tietotekniikan opiskelija tulee selviytymään isosta ohjelmointiprojektista? Onko hän oppinut tulevan ammattinsa kannalta keskeisimmät asiat? Oulun ammattikorkeakoulun (Oamk) tietotekniikan tutkinto-ohjelman opetussuunnitelmassa ensimmäisen vuoden viimeisessä periodissa tehdään projekti, jossa tarvitaan kaikkien ensimmäisen vuoden ohjelmointiaineiden osaamista. Tässä blogitekstissä kerrotaan selvityksestä, jossa tutkittiin projektin arvosanan tilastollisesti merkittävää riippuvuutta muista ensimmäisen vuoden opintojaksojen arvosanoista.
Ohjelmointiprojekti antaa kattavan kuvan siitä, millaista osaamista ohjelmistoalalla nykyään tarvitaan. Siksi projektin arvosana kertoo hyvin, mikä opiskelijan ohjelmointiosaamisen taso on.
Oamkin tietotekniikan tutkinto-ohjelman opetussuunnitelmassa joka toinen periodi on projektityyppinen. Ensimmäisen vuoden kevään viimeisen periodin projekti on nimeltään Ohjelmistokehityksen sovellusprojekti. Kyseessä on pankkiautomaattisovellus, jonka UI-osa tehdään Qt/C++:lla, ja tämä osa kommunikoi tietokannan kanssa http-protokollaa käyttäen. Kaikki tarvittavat asiat on opiskeltu edeltävillä opintojaksoilla, mutta projektissa opiskelijat joutuvat paneutumaan niihin syvällisemmin.
Tutkimus tehtiin vuonna 2020 aloittaneiden opiskelijoiden arvosanoilla. Sen aikainen ensimmäisen vuoden opetussuunnitelma sisältää seuraavat opintojaksot:
- Sähköturvallisuus ja elektroniikan perusteet 5 op
- Matematiikan ja digitaalitekniikan perusteet 5 op
- Johdatus ohjelmointiin 5 op
- Tietotekniikan sovellusprojekti 15 op
- Internet-ohjelmointi ja tietokannat 5 op
- Soveltava fysiikka ja matematiikka mittauksissa 5 op
- Olio-ohjelmointi ja oliopohjainen suunnittelu 5 op
- Engineering English 5 op
- Ohjelmistokehityksen sovellusprojekti 15 op
Tutkittavaksi valittiin kaikki ohjelmointialan opintojaksot ja ne nimettiin lyhyemmin, jotta kaaviot olisivat selkeämmät. Käytetyt nimitykset olivat seuraavat:
- Johdatus ohjelmointiin = Johdatus ohjelmointiin (C-kieli)
- Tietokannat = Internet-ohjelmointi ja tietokannat (SQL ja JavaScript)
- Olio-ohjelmointi = Olio-ohjelmointi ja oliopohjainen suunnittelu
Lisäksi haluttiin tutkia, vaikuttavatko matematiikan ja fysiikan opintojaksojen tulokset projektissa menestymiseen. Projektityössä ei sinänsä tarvita matematiikkaa eikä fysiikkaa, mutta niissä menestyminen yleensä kertoo loogisesta päättelykyvystä. Valitsin tähän siis lisäksi seuraavat opintojaksot:
- Matematiikka = Matematiikan ja digitaalitekniikan perusteet tietotekniikassa (matematiikan osuuden arvosana)
- Fysiikka = Soveltava fysiikka ja matematiikka mittauksissa
Opintojaksojen arvosanojen keskiarvot ja hajonnat
Tutkimusaineisto saatiin Oamkin Peppi-opintorekisteristä. Aineistosta poistettiin sellaiset opiskelijat, jotka eivät olleet suorittaneet kaikkia mainittuja kursseja, ja jäljelle jäi 68 opiskelijaa. Aluksi kullekin opintojaksolle laskettiin keskiarvot ja hajonnat (taulukko 1).
Keskiarvo | Keskihajonta | |
Johdatus ohjelmointiin | 3,41 | 0,85 |
Matematiikka | 4,16 | 0,94 |
Fysiikka | 2,88 | 1,87 |
Olio-ohjelmointi | 2,78 | 1,39 |
Tietokannat | 3,57 | 1,49 |
Projekti | 3,04 | 1,43 |
Korrelaatiot
Spearmanin järjestyskorrelaatiokertoimen avulla voidaan kuvata kahden vähintään järjestysasteikolla olevan muuttujan välistä riippuvuutta. Arvosanat ovat järjestysasteikon muuttujia, joten vaatimukset täyttyvät. On muitakin korrelaatiokertoimia, mutta esimerkiksi Pearsonin korrelaatiokerroin edellyttää, että muuttujien yhteisjakauma on kaksiulotteinen normaalijakauma.
Siksi valittiin Spearmanin korrelaatiokerroin, jonka arvot ovat aina välillä [-1, 1]. Jos kertoimen arvo on lähellä arvoa -1, on kyseessä vahva negatiivinen korrelaatio eli suurta x-arvoa vastaa pieni y-arvo. Jos taas kerroin on lähellä arvoa 1, niin kyseessä on vahva positiivinen korrelaatio eli suurta x-arvoa vastaa suuri y-arvo. Kertoimen ollessa lähellä arvoa 0 ei muuttujien välillä ole riippuvuutta.
Valittujen oppiaineiden arvosanojen väliset korrelaatiot nähdään taulukosta 2.
Johdatus ohjelmointiin | Matema-tiikka | Fysiik-ka | Olio-ohjelmointi | Tieto-kannat | Projekti | |
Johdatus ohjelmointiin | 1.00 | 0.37 | 0.25 | 0.44 | 0.18 | 0.16 |
Matematiikka | 0.37 | 1.00 | 0.62 | 0.50 | 0.59 | 0.41 |
Fysiikka | 0.25 | 0.62 | 1.00 | 0.52 | 0.51 | 0.66 |
Olio-ohjelmointi | 0.44 | 0.50 | 0.52 | 1.00 | 0.50 | 0.52 |
Tietokannat | 0.18 | 0.59 | 0.51 | 0.50 | 1.00 | 0.65 |
Projekti | 0.16 | 0.41 | 0.66 | 0.52 | 0.65 | 1.00 |
Koska tutkimuksen kohteena oli muiden opintojaksojen ja projektin välinen riippuvuus, koottiin taulukkoon 3 vielä korrelaatiot projektin kanssa. Voimakkain korrelaatio oli fysiikan ja tietokantojen kanssa. Sen sijaan Johdatus ohjelmointiin -opintojakson arvosanalla näyttää olevan yllättävän pieni vaikutus.
Projekti | |
Fysiikka | 0.66 |
Tietokannat | 0.65 |
Olio-ohjelmointi | 0.52 |
Matematiikka | 0.41 |
Johdatus ohjelmointiin | 0.16 |
Riippuvuudet diagrammeina
Riippuvuuksia havainnollistetaan pistediagrammeilla (kuviot 1‒5). Pisteet kuvaavat havaintopisteitä, ja yhtenäinen viiva kuvaa sitä, millainen malli muuttujien välille näyttäisi muodostuvan.
Regressioanalyysi
Edellisistä diagrammeista voidaan arvioida silmämääräisesti, että esimerkiksi projektiarvosanan ja fysiikan arvosanan välillä on lineaarinen riippuvuus. Regressioanalyysin avulla pyritään ilmaisemaan selittävän muuttujan (tässä fysiikan arvosana) vaikutus selitettävään muuttujaan (tässä projektiarvosana). Regressioanalyysin avulla saataisiin siis regressiomalli eli yhtälö, joka tässä tapauksessa olisi lineaarinen malli. Usein halutaan myös testata, kuinka hyvä tuo malli on.
Yksi tähän soveltuvista testeistä on nimeltään F-testi. Testi suoritetaan laskemalla F-arvo ja sitä vastaava p-arvo. Testissä niin sanottu nollahypoteesi on, että mallilla ei ole merkitystä selittämään riippuvuutta. Mainittu p-arvo kuvaa todennäköisyyttä eli kuinka suuri riski on hylätä nollahypoteesi. Yleensä rajana pidetään 5 prosentin todennäköisyyttä. Eli mikäli p<0,05, niin saatu malli on hyvä.
Kullekin selittävälle opintojakson arvosanalle ja projektiarvosanalle tehtiin regressiomallit ja laskettiin F-testejä vastaavat p-arvot. P-arvot ovat taulukossa 4.
F-testi | P-arvo |
Johdatus ohjelmointiin | 0,1994 |
Matematiikka | 0,0006008 |
Fysiikka | 0,0000000009 |
Olio-ohjelmointi | 0,00000478 |
Tietokannat | 0,00000000251 |
Taulukon 4 perusteella voidaan sanoa, että kaikilla muilla paitsi Johdatus ohjelmointiin -opintojakson arvosanalla on vahva riippuvuus projektiarvosanan kanssa.
Ohjelmointiosaaminen karttuu vuoden mittaan
Hieman yllättävää oli se, että Johdatus ohjelmointiin -opintojakson arvosanalla näytti olevan kaikkein vähiten merkitystä projektin arvosanaan. Ehkä tämä selittyy sillä, että opintojakso on heti opintojen alussa. Kun asia on useimmille opiskelijoille täysin uutta, niin he eivät täysin pääse sinuiksi asian kanssa. Kuitenkin myöhemmillä opintojaksoilla (olio-ohjelmointi ja tietokannat) he ovat jo enemmän tottuneita siihen, kuinka ohjelmointia tulee opiskella.
Lohdullista on kuitenkin huomata, että vaikka Johdatus ohjelmointiin -opintojakso olisi mennyt heikostikin, voi projektissa menestyä silti hyvin. Projektin arvosana kuitenkin parhaiten kertoo, mille tasolle opiskelija on ensimmäisen vuoden aikana päässyt.
Pekka Alaluukas
lehtori
Oulun ammattikorkeakoulu, Informaatioteknologian yksikkö
Vastaa
Sinun täytyy kirjautua sisään kommentoidaksesi.