Roles of Variables Home Page

Timonen S. (2008)

Muuttujien roolit noviisien kirjoittamissa C-kielisissä ohjelmissa
(Roles of variables in novices' C programs)

Master's Thesis, Department of Computer Science and Statistics, University of Joensuu, Finland.

Abstract: Tietokoneohjelmaa voidaan tarkastella laskennallisesta tai psykologisesta näkökulmasta. Laskennallisesta näkökulmasta tietokoneohjelma on tekstiä, jonka tarkoituksena on kuvata tietokoneen tulkittavissa olevassa muodossa tietorakenteita ja toimenpiteitä tietyn funktion laskemiseksi. Psykologisesta näkökulmasta tietokoneohjelma on moniulotteinen kokonaisuus ja keskeisenä tarkastelun kohteena on ohjelman lukijan kyky ymmärtää ohjelman toimintaa ja tunnistaa sen osat.

Noviisiohjelmoijilta puuttuu ohjelmointikokemuksen mukanaan tuoma kyky nähdä ohjelmien toimintaa syvällisesti. Eksperttiohjelmoija kykenee ohjelmointikokemuksensa kautta syntyneiden mentaalisten mallien avulla hahmottamaan ohjelman syvärakenteita. Koska noviiseilta puuttuu kyky tunnistaa syvärakenteita, he turvautuvat usein ohjelmakoodia tulkitessaan ohjelman pintatietoon. Yksi keino auttaa noviiseja hyödyntämään tavallisesti eksperteiltä löytyvää hiljaista tietoa on opettaa muuttujien rooliajattelua.

Muuttujien roolien avulla noviisiohjelmoija voi tulkita ja keskustella ohjelman toiminnasta ilman, että hänen tarvitsee puuttua ohjelman syntaktisiin yksityiskohtiin. Muuttujien rooleihin liittyneen, opettajilla suoritetun kokeen perusteella voidaan todeta, että muuttujan roolit ovat mielekkäitä ja niitä voidaan käyttää ohjelmien toiminnan kuvaamiseen.

Muuttujien rooleja on tutkittu aiemmin eri ohjelmointiparadigmoihin liittyen. Tässä opinnäytetyössä tarkastellaan roolien esiintymistä proseduraalista ohjelmointiparadigmaa edustavassa C-kielessä. Tarkastelemalla C-kielisten harjoitustöiden muuttujien rooleja on pyritty selvittämään, missä määrin noviisitasoisten C-kielisten ohjelmien sisältämien muuttujien roolien suhde vastaa samaa paradigmaa edustavan Pascal-kielen roolien esiintymien suhdetta. Tämän tiedon avulla voidaan päätellä, kuinka hyvin C-kielisten ohjelmien muuttujien roolit vastaavat sen ohjelmointiparadigman mukaista roolien suhdetta.

Back to the literature page


Last updated: July 1, 2008

saja.fi@gmail.com