Advances in assessment of programming skills

 |  Login

Show simple item record

dc.contributor Aalto-yliopisto fi
dc.contributor Aalto University en
dc.contributor.advisor Korhonen, Ari, D.Sc (Tech)
dc.contributor.author Seppälä, Otto
dc.date.accessioned 2012-08-14T10:17:36Z
dc.date.available 2012-08-14T10:17:36Z
dc.date.issued 2012
dc.identifier.isbn 978-952-60-4720-1 (electronic)
dc.identifier.isbn 978-952-60-4719-5 (printed)
dc.identifier.issn 1799-4942 (electronic)
dc.identifier.issn 1799-4934 (printed)
dc.identifier.issn 1799-4934 (ISSN-L)
dc.identifier.uri https://aaltodoc.aalto.fi/handle/123456789/4446
dc.description.abstract This thesis concerns assessment techniques used in university level programming education. The motivation is in improving existing assessment methods to yield more detailed or fundamentally different kinds of information which can be used to provide higher quality feedback to the student. One central theme in this thesis is the use of program reading and tracing skills in different aspects of programming. Tracing is a critical skill in reading and writing code and debugging. Simple tracing exercises can be used to test understanding of programming language constructs and program execution. We present results from an international study of student competence in tracing program code in the end of their first programming course. The results highlight that while students are expected to have elementary skills in program construction, some of them lack knowledge of execution of programs of the same difficulty. The effect of students' annotations and solving strategies on tracing performance was analyzed further. Tracing exercises can also be used to test understanding of data structures and algorithms. Visual algorithm simulation is a method in which a student manipulates data structure visualizations with a mouse, trying to simulate the steps of a given algorithm. A successful simulation is evidence of understanding the core concepts of that algorithm. Automatic assessment and delivery of visual algorithm simulation problems is implemented in the tool TRAKLA2. In this thesis we present a technique that improves TRAKLA2's assessment, trying to interpret errors in student simulations using information on known misconceptions and by simulating careless errors. Another topic studied in this thesis is whether mutation testing can be applied to evaluating the adequacy of software tests made by students. In mutation testing the effectiveness of a test suite in discovering errors is evaluated by seeding errors into the program under test. A well constructed test suite should find most such errors quite easily. Code coverage analysis, the method used in available assessment platforms, can yield results that give the students false understanding of the quality of their testing. Feedback from programming exercises assessed by unit tests has traditionally been in the form of text. Explaining more complicated object hierarchies textually can be complicated to understand. The last topic covered is using visualization to convey information either in a domain specific visual format or in a form of a generic visualization. An empirical study of student performance comparing the two types of input against detailed textual feedback is presented as a part of the thesis. en
dc.description.abstract Väitöskirjassa käsitellään ohjelmoinnin opetuksessa käytettäviä arviointimenetelmiä yliopisto-opetuksessa. Motivaationa työlle on kehittää nykyisiä menetelmiä tuottamaan yksityiskohtaisempaa tai olennaisesti uudentyyppistä informaatiota, jonka pohjalta opiskelijoille voitaisiin antaa korkealaatuisempaa palautetta. Yksi keskeisistä teemoista työssa on ohjelmakoodin lukemisen ja mentaalisesti simuloidun koodisuorituksen (jäljitys, tracing) soveltaminen ohjelmoitaessa. Jäljitys on keskeinen taito sekä ohjelmakoodin tuottamisen, ymmärtämisen, että virheiden korjaamisen kannalta. Jäljitystehtäviä voidaan käyttää ohjelmakoodin ja sen suorituksen ymmärtämisen arvioinnissa. Väitöskirjassa esitetään tuloksia kansainvälisestä tutkimuksesta, jossa opiskelijoilla, joiden oletetaan pystyvän rakentamaan toimivia ohjelmia, todettiin olevan vaikeuksia simuloida monimutkaisuudeltaan samankaltaisen koodin suoritusta. Lisäksi tutkittiin opiskelijan käyttämien apumerkintöjen ja ratkaisustrategioiden vaikutusta jäljitykseen. Jäljitystehtäviä voidaan käyttää myös tietorakenne- ja algoritmitietouden mittaukseen. Visuaalinen algoritmisimulaatio on menetelmä, jossa opiskelija manipuloi hiirellä tietorakennevisualisaatioita yrittäen simuloida jonkin algoritmin toimintaa. Onnistunut simulaatio osoittaa ymmärrystä algoritmin toimintaperiaatteista. Algoritmisimulaatiotehtävien jakelu ja automaattinen tarkastus on toteutettu TRAKLA2 työkalussa. Väitöskirjassa esitellään parannus TRAKLA2:n arvostelualgoritmeihin, joka pyrkii tulkitsemaan opiskelijoiden virheitä tunnettujen väärinkäsitysten ja huolimattomuusvirheiden kautta. Väitöskirjassa tutkitaan lisäksi voitaisiinko mutaatiotestausta käyttää opiskelijoiden tuottamien yksikkötestien arviointiin. Mutaatiotestauksessa testien riittävyyttä arvioidaan kylvämällä satunnaisvirheitä ohjelmaan ja kokeilemalla löytääkö testijoukko nämä virheet. Hyvin rakennettu testisetti löytää pääosan tällaisistä virheistä. Koodikattavuusanalyysi, yleisemmin käytetty riittävyyden mitta, voi tuottaa arvostelukäytössä valheellisen positiivisia tuloksia. Yksikkötesteillä tuotettu palaute on perinteisesti annettu opiskelijalle tekstimuotoisena. Monimutkaisempien oliohierarkioiden kuvaaminen sanallisesti johtaa helposti hankalasti ymmärrettävään lopputulokseen. Väitöskirjassa tutkitaan vielä voitaisiinko tämäntyyppistä palautetta antaa visuaalisessa muodossa. Kahden eri visualisaatiotyypin ja sanallisen palautteen vaikutusta tehtävien ratkontaan tutkittiin empiirisessä kokeessa. fi
dc.format.extent 221
dc.format.mimetype application/pdf
dc.language.iso en en
dc.publisher Aalto University en
dc.publisher Aalto-yliopisto fi
dc.relation.ispartofseries Aalto University publication series DOCTORAL DISSERTATIONS en
dc.relation.ispartofseries 98/2012
dc.relation.haspart [Publication 1]: Lauri Malmi, Ville Karavirta, Ari Korhonen, Jussi Nikander, Otto Seppälä, Panu Silvasti. Visual Algorithm Simulation Exercise System with Automatic Assessment: TRAKLA2. Informatics in Education, 3(2) pages 267-289, 2004.
dc.relation.haspart [Publication 2]: Raymond Lister, Elizabeth S. Adams, Sue Fitzgerald, William Fone, John Hamer, Mårten Lindholm, Robert McCartney, Jan Erik Moström, Kate Sanders, Otto Seppälä, Beth Simon, Lynda Thomas. A Multi-National Study of Reading and Tracing Skills in Novice Programmers. SIGCSE Bulletin, 36(4), pages 119-150, 2004.
dc.relation.haspart [Publication 3]: Robert McCartney, Jan Erik Moström, Kate Sanders, Otto Seppälä. Take Note: the Effectiveness of Novice Programmers' Annotations on Examinations. Informatics in Education, 4(1), pages 69-86, 2005.
dc.relation.haspart [Publication 4]: Otto Seppälä, Lauri Malmi, and Ari Korhonen. Observations on Student Misconceptions : A Case Study of the Build-Heap Algorithm. Computer Science Education, 16(3), pages 241-255, September 2006.
dc.relation.haspart [Publication 5]: Otto Seppälä. Modelling Student Behavior in Algorithm Simulation Exercises with Code Mutation. In Proceedings of the 6th Annual Finnish / Baltic Sea Conference on Computer Science Education, pages 109-114, November 2006.
dc.relation.haspart [Publication 6]: Petri Ihantola, Tuukka Ahoniemi, Ville Karavirta and Otto Seppälä. Review of Recent Systems for Automatic Assessment of Programming Assignments. In Proceedings of the 10th Koli Calling International Conference on Computing Education Research, pages 86-93, 2010.
dc.relation.haspart [Publication 7]: Kalle Aaltonen, Petri Ihantola and Otto Seppälä. Mutation Analysis vs. Code Coverage in Automated Assessment of Students' Testing Skills. In Proceedings of the ACM international conference companion on Object oriented programming systems languages and applications companion (SPLASH '10), pages 153-160, 2010.
dc.relation.haspart [Publication 8]: Petri Ihantola, Ville Karavirta and Otto Seppälä. Automated Visual Feedback from Programming Assignments. In Proceedings of the 6th Program Visualization Workshop (PVW'11), Darmstadt, Germany, pages 87-95, 2011.
dc.subject.other Computer science en
dc.title Advances in assessment of programming skills en
dc.title Parannuksia ohjelmointitaidon arviointimenetelmiin fi
dc.type G5 Artikkeliväitöskirja fi
dc.contributor.school Perustieteiden korkeakoulu fi
dc.contributor.school School of Science en
dc.contributor.department Tietotekniikan laitos fi
dc.contributor.department Department of Computer Science and Engineering en
dc.subject.keyword teaching programming en
dc.subject.keyword tracing program code en
dc.subject.keyword visual algorithm simulation en
dc.subject.keyword automated assessment en
dc.subject.keyword visual feedback en
dc.subject.keyword testing en
dc.subject.keyword mutation analysis en
dc.subject.keyword ohjelmoinnin opetus fi
dc.subject.keyword ohjelmakoodin suorituksen simulointi fi
dc.subject.keyword visuaalinen algoritmisimulaatio fi
dc.subject.keyword automaattinen arviointi fi
dc.subject.keyword visuaalinen palaute fi
dc.subject.keyword testaus fi
dc.subject.keyword mutaatiotestaus fi
dc.identifier.urn URN:ISBN:978-952-60-4720-1
dc.type.dcmitype text en
dc.type.ontasot Doctoral dissertation (article-based) en
dc.type.ontasot Väitöskirja (artikkeli) fi
dc.contributor.supervisor Malmi, Lauri, Professor
dc.opn Joy, Mike, Associate Professor, University of Warwick, UK
dc.rev Kölling, Michael, Professor, University of Kent, UK
dc.rev Edwards, Stephen H., Associate Professor, Virginia Tech, USA
dc.date.defence 2012-08-24


Files in this item

This item appears in the following Collection(s)

Show simple item record

Search archive


Advanced Search

article-iconSubmit a publication

Browse

My Account