Ohjelmoinnin empiirinen tutkimus (KOGA371, 4+5 op)
Tämä sivu kuvaa Ohjelmoinnin empiirinen tutkimus -kurssin
Connet-verkostossa järjestettävän version. Itä-Suomen yliopiston
tietojenkäsittelytieteen tutkintovaatimuksiin kuuluvan samannimisen
kurssin kotisivu löytyy puolestaan
täältä.
Kurssi tarkastelee ohjelmointia ja ohjelmistotuotantoa kognitiivisena
toimintana. Kurssilla käsitellään kognitiivisen psykologian
merkitystä ohjelmoinnin ja ohjelmistotuotannon kannalta sekä käydään
läpi ohjelmoinnin psykologian alalla tehtyjä tutkimuksia.
Esitietoineen kurssi antaa valmiudet suorittaa alan tutkimusta sekä
arvioida ohjelmoinnin ja ohjelmistotuotannon menetelmiä ja
apuvälineitä kognitiivisten teorioiden pohjalta.
Kurssi on suuntautunut vahvasti tutkimukseen: esiteltävien tulosten
lisäksi kurssilla käsitellään runsaasti niitä tutkimusmenetelmiä,
joilla nämä tulokset on saatu. Pelkistä tuloksista kiinnostuneen
kannattaakin tälle kurssille osallistumisen sijasta perehtyä F.
Détiennen kirjaan Software Design - Cognitive Aspects
(Springer-Verlag, 2002).
Opetus lukuvuonna 2011-2012
Kurssi koostuu teoreettisesta osasta, jonka lisäksi voi halutessaan suorittaa
käytännöllisen osan.
- Teoreettinen osa (4 op):
Teoreettinen osa suoritetaan kuuntelemalla alkuluento ja
perehtymällä verkossa olevaan kurssimateriaaliin ja
- kirjoittamalla kaksi 1000-2000 sanan mittaista yhteenvetoa kurssimateriaalista sekä
- osallistumalla kuulusteluun
- Käytännöllinen osa (5 op):
Käytännöllisen osan suorittamisesta
kiinnostuneiden kanssa sovitaan tentin hyväksytyn suorittamisen jälkeen
käytännöllisen osan tarkemmasta ohjelmasta sähköpostitse.
Kurssin opettajana toimii Jorma
Sajaniemi.
Kurssi järjestetään lukuvuoden aikana kaksi kertaa:
Syksy 2011:
Kurssille on ilmoittauduttava
5.10.2011
mennessä kurssin opettajalle osoitteella jorma.sajaniemi@uef.fi.
Ilmoittautuneille postitetaan linkki kurssimateriaaleihin ja
kurssin tarkka aikataulu heti ilmoittautumisajan päätyttyä.
Kuulustelu järjestetään marraskuussa (uusintamahdollisuus tammikuussa).
Kevät 2012:
Kurssille on ilmoittauduttava
1.2.2012
mennessä kurssin opettajalle osoitteella jorma.sajaniemi@uef.fi.
Ilmoittautuneille postitetaan linkki kurssimateriaaleihin ja
kurssin tarkka aikataulu heti ilmoittautumisajan päätyttyä.
Kuulustelu järjestetään huhtikuussa (uusintamahdollisuus kesäkuussa).
Yleistietoja kurssista
Vaadittavat esitiedot
Kurssilla käsiteltävät asiat sijoittuvat sekä
tietojenkäsittelytieteen että kognitiivisen psykologian alueille ja
osallistujilla tulee olla vahvat perustiedot molemmista. Kurssin
teoreettiseen osaan (4 op) osallistuvalta edellytetään seuraavat
esitiedot ja käytännöllinen kokemus:
-
Ohjelmointi: ohjelmointitaito vähintään yhdellä imperatiivisella
ohjelmointikielellä (Pascal, C, C++, Java, ...) ja useiden yli
300-rivisten ohjelmien laatiminen
-
Ohjelmistotuotanto: ohjelmistojen elinkaaren (määrittely,
suunnittelu, toteutus, testaus, ylläpito) periaatteiden tuntemus;
tarvittavat tiedot löytyvät esimerkiksi I. Sommervillen kirjasta
Software Engineering (Addison-Wesley, 2001).
-
Kognitiivinen psykologia: ihmisen tiedonkäsittelyn perusteet
(havaitseminen ja tarkkaavaisuus, muistin rakenne, tiedon esitys
muistin eri osissa, muistin syventäminen ja rekonstruointi,
ongelmanratkaisu, eksperttiyden kehittyminen, järkeily) ja näiden
tutkimisessa käytettävät menetelmät;
tarvittavat tiedot löytyvät esimerkiksi J. R. Andersonin kirjasta
Cognitive Psychology and Its Implications (W.H.Freeman and
Co, useita laitoksia eri vuosilta).
Harjoitustyön (5 op) suorittavilta edellytetään lisäksi seuraavat
esitiedot:
-
Empiirisen kokeen suunnittelu; tarvittavat tiedot löytyvät
esimerkiksi
täältä
-
Yksinkertaisten tilastomenetelmien soveltamistaito; tarvittavat
tiedot löytyvät esimerkiksi
täältä
Tavoitteet ja sisältö
Kurssin tavoitteet ovat:
- oppia tuntemaan ohjelmointiin liittyviä mentaalisia
representaatioita ja kognitiivisia prosesseja koskevia teorioita
- saada valmius tehdä tutkimustyötä ohjelmoinnin psykologian
alalla
- oppia soveltamaan ohjelmoinnin psykologian tuloksia
ohjelmistotyön apuvälineiden suunnittelussa
- saada valmius ohjelmistotutuotannon menetelmien ja
apuvälineiden arvioimiseen kognitiivisen ergonomian kannalta
Kurssin sisällysluettelo (ja tärkeimmät lähteet):
- Johdanto
- ohjelmoinnin psykologia ja ohjelmistotuotannon
psykologia
- tutkimusmenetelmistä
- Ohjelmointitieto (Davies, 1993b)
- johdanto
- ohjelmointikieleen liittyvä tieto (McKeithen & al., 1981)
- ohjelmoinnin hyvät tavat (Soloway & Ehrlich, 1984)
- tavoitteet ja menetelmät (Soloway & al., 1982; Spohrer & al., 1985)
- muuttujiin liittyvä tieto (Sajaniemi & Navarro Prieto, 2005)
- ohjelmatietämyksen lajit (Pennington, 1987)
- proseduraaliset vs. olio-ohjelmat (Corritore & Wiedenbeck, 1999)
- noviisien ja eksperttien olio-ohjelmatietämys (Davies & al., 1995)
- mielikuvat (Petre & Blackwell, 1999)
- Ohjelmien ymmärtäminen (Davies, 1993a)
- johdanto
- ohjelman lukemisjärjestys (Crosby &Stelovsky, 1989)
- Brooksin malli (Brooks, 1977, 1983)
- hypoteesien ohjaama ymmärtäminen (Letovsky, 1986)
- ymmärtäminen faktojen käsittelynä (LaToza & al., 2007)
- ymmärtämisen tiedontarpeet (Vans & al., 1999)
- Ohjelmien tuottaminen (Davies, 1993a)
- johdanto
- menetelmien luominen (Rist, 1989)
- hauras tieto (Perkins & Martin, 1986)
- työmuistin rajoitukset (Green & al., 1987)
- noviisien testausstrategiat (Murphy & al., 2008)
- ohjelmien suunnitteleminen (Détienne, 1997)
- Esimerkkejä ohjelmoinnin apuvälineistä
- Tksee (Singer & Lethbridge, 1998)
- Pollinator (Chu & Wong, 2006)
- VinEd (Sajaniemi, 2000)
- HyperSoft (Koskinen, 1999)
- Rigi, SHriMP, SNiFF+ (Storey & al., 2000)
- BUG-DOCTOR (Burnstein & Saner, 1999)
- yhteenveto
(Viiteluettelo löytyy luentomonisteen lopusta.)
Satunnaisia linkkejä maailmalle:
Päivitetty viimeksi: 18.8.2011
jorma.sajaniemi@uef.fi