Ohjelmoinnin opetusta yhteiskuntatieteilijöille Helsingissä – jotain ajatelmia

English version available at Science & Industry, Matti’s personal blog.

Ensimmäinen Helsingin yliopiston Programming for social science kurssi pidettiin syksyllä 2014. Silloin ei ollut kovinkaan monia kursseja, joista katsoa mallia suunnittelun avuksi. 2014 jälkeen olen muuttanut kurssia ja yrittänyt mielestäni parantaa sitä. Esimerkiksi kurssin harjoitustehtäviä on muokattu yhteiskuntatieteitä käsitteleviksi (kevät 2015syksy 2016). Nykyisin ohjelmointi, yhteiskuntatiede ja ´data science’ on paljon trendikkäämpää kuin vuonna 2014. Esimerkiksi SAGE Publishing on SAGE Campuselleen luonut kurssin ohjelmoinnista videomateriaaleineen ja kertomuksineen (selkeyden vuoksi: pääsin käyttämään materiaalia ilmaiseksi arviointitarkoituksissa).

Koska ohjelmointi ja ‘data science’ ovat tällä hetkelä trendikkäitä, ajattelin, että nyt voisi olla hyvä hetki vähän kelata omaa opetustani ja sen kehittymistä. Uskon, että on olemassa (vähintään) kaksi erilaista tapaa opettaa ohjelmointia: tietojenkäsittelytieteellinen ja soveltava. Tietojenkäsittelytieteellinen lähestymistapa näkyy parhaiten eri yliopistojen “Johdatus ohjelmointiin”-kursseilla, missä koko tematiikkaa lähestytetään tietojenkäsittelytieteen perinteestä. Soveltava tyyli sen sijaan yrittää integroida ohjelmoinnin jonkin oppiaineen soveltavaan kontekstiin. Esimerkiksi Guzdialin (2003) kurssi keskittyi ohjelmoinnin opettamiseen media-alalle ja keskittyikin esimerkiksi kuvien automaattiseen käsittellyn. Samalla tavalla Sullivanin (2013) datavetoinen kurssi painotti laskennallista aineiston käsittelyä.

Ensimmäinen, syksyn 2014, kurssi oli ehdottomasti tietojenkäsittylytieteellinen. Teimme kaikki perinteiset tietojenkäsittelytieteen tehtävät, mukaanlukien Fizz-Buzz ja alkulukutestaus. Ovat samoja tehtäviä, millä minut on aikanaan opetettu. Jo silloin käytössä oli artikkeleita, jotka yrittivät vähän taustoittaa siitä, miten laskennallisia menetelmiä voidaan soveltaa yhteiskuntatieteissää. Kuitenkin, kurssin lopulla kuulin palautteessa, ettei ohjelmoinnin ja yhteiskuntatieteen välinen yhteys ollutkaan niin selvää, kun ajattelin sen olevan.Vähän kerrallaan, usean vuoden aikana kasvatin soveltavien tehtävien määrää. Soveltavat tehtävät pohjautuvat jotenkin yhteiskuntatieteellisiin ongelmiin, mutta yksinkertaistetussa muodossa. Tänä vuonna kokeilen liittää kaikki tehtävät yhteiskuntatieteen kannalta kiinnostavaan aineistoon ja kontekstiin. Kuten aiempinakin vuosina, luemme myös useita empiirisiä tapaustutkimuksia.

Katsotaan mitä tapahtuu tällä kertaa ja opitaan taas seuraavaan kertaan.Ja miten tämä kaikki liittyi SAGE Publishingingiin? Heidän uusi materiaalinsa pyrkii samaan tavoitteeseen kuin minä: tukemaan yhteiskuntatieteilijöiden ohjelmointia. Raktenteensa osalta kurssi on selkeästi rakennettu tietojenkäsittelytieteellisestä perspektiivistä. Rakenne seuraa hyvin perinteistä ohjelmointikurssia: ohjelmointiympäristön käyttö, muuttujien toiminta, kontrollirakenteet ja huomioita hyvistä toimintatavoista. Lisäksi on selvästi on enemmän soveltajille mielenkiintoista sisältöä, erityisesti verkkosivujen käsittely. Tekijöillä on kuitenkin ollut mielessä yhteiskuntatieteljät ja yhteiskuntatiedettä on koitettu tuoda osaksi sisältöä erillisillä “Application to Social Science”-laatikoilla. Valitettavasti ne eivät mielestäni olleet sisällöllisesti mitenkään mullistavia:

Ohjelmoinnin osalta materiaali on erittäin hyvätasoista. Videot ovat hyvin tehtyjä ja selkeän oloisia. Kuitenkaan mielestäni valmis itsenäiseksi materiaaliksi, vaan toimii yhteiskuntatieteellisen kurssin rinnalla jossa

  • on enemmän käytännön harjoituksia ohjelmoinnista, jotta yleisen tason ymmärrys ohjelmoinnista muuttuisi osaamiseksi
  • enemmän kertomusta laskennallisen tutkimusprosessin yhteydestä yhteiskuntatieteisiin ja sen käsitteisiin ja tukea ohjelmoinnin käyttöä tutkimusmenetelmänä

Tämän kaltaisella kurssilla on kuitenkin – kokemukseni mukaan – usein jonkun käsikirjan ohjelmoinnin opettamisesta. Internet toki on pullollaan näitä materiaaleja, mutta niistä tulee herkästi tilkkukäkkimäinen kokoelma erilaisia lähestymistapoja. Ja tämä ei toki ole systemaattinen ja myös aika sekava. SAGEn kurssi voisi toimia systemaattisempana mateiraalina tälläiselle kurssille.