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).

TAULUKKO 1. Opintojaksojen arvosanojen keskiarvot ja hajonnat.

 KeskiarvoKeskihajonta
Johdatus ohjelmointiin3,410,85
Matematiikka           4,160,94
Fysiikka      2,881,87
Olio-ohjelmointi     2,781,39
Tietokannat   3,571,49
Projekti       3,041,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.

TAULUKKO 2. Arvosanojen väliset korrelaatiot.

 Johdatus
ohjelmointiin
Matema-tiikkaFysiik-kaOlio-ohjelmointiTieto-kannatProjekti
Johdatus ohjelmointiin1.000.370.250.440.180.16
Matematiikka  0.371.000.620.500.590.41
Fysiikka          0.250.621.000.520.510.66
Olio-ohjelmointi0.440.500.521.000.500.52
Tietokannat0.180.590.510.501.000.65
Projekti0.160.410.660.520.651.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.

TAULUKKO 3. Projektin korrelaatio muiden opintojaksojen arvosanojen kanssa suuruusjärjestyksessä.

 Projekti
Fysiikka0.66
Tietokannat0.65
Olio-ohjelmointi0.52
Matematiikka0.41
Johdatus ohjelmointiin0.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.

Kuviosta käy ilmi, että projektin arvosana oli riippuvainenn fysiikka-kurssin arvosanasta.
KUVIO 1. Projektin arvosanan riippuvuus fysiikan arvosanasta.
Kuviosta käy ilmi, että projektin arvosana oli riippuvainenn matematiikka-kurssin arvosanasta.
KUVIO 2. projektin arvosanan riippuvuus matematiikan arvosanasta.
Kuviosta käy ilmi, että projektin arvosana oli riippuvainenn oli-ohjelmointi-kurssin arvosanasta.
KUVIO 3. Projektin arvosanan riippuvuus olio-ohjelmoinnin arvosanasta.
Kuviosta käy ilmi, että projektin arvosana oli riippuvainenn tietokannat-kurssin arvosanasta.
KUVIO 4. Projektin arvosanan riippuvuus tietokantojen arvosanasta.
Kuviosta käy ilmi, että projektin arvosana ei ollut riippuvainenn johdatus ohjelmointiin -kurssin arvosanasta.
KUVIO 5. Projektin arvosanan riippuvuus johdatus ohjelmointiin arvosanasta.

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.

TAULUKKO 4. Muuttujien välinen riippuvuus F-testin mukaan.

F-testiP-arvo
Johdatus ohjelmointiin0,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ö