Keystroke Data in Programming Courses

Show simple item record

dc.contributor Helsingin yliopisto, matemaattis-luonnontieteellinen tiedekunta fi
dc.contributor Helsingfors universitet, matematisk-naturvetenskapliga fakulteten sv
dc.contributor University of Helsinki, Faculty of Science, Department of Computer Science en
dc.contributor Tietojenkäsittelytieteen tohtoriohjelma fi
dc.contributor Doktorandprogrammet i datavetenskap sv
dc.contributor Doctoral Programme in Computer Science en
dc.contributor.author Leinonen, Juho
dc.date.accessioned 2019-11-07T07:55:06Z
dc.date.available 2019-11-10
dc.date.available 2019-11-07T07:55:06Z
dc.date.issued 2019-11-20
dc.identifier.uri URN:ISBN:978-951-51-5604-4
dc.identifier.uri http://hdl.handle.net/10138/306786
dc.description.abstract Data collected from the learning process of students can be used to improve education in many ways. Such data can benefit multiple stakeholders of a programming course. Data about students’ performance can be used to detect struggling students who can then be given additional support benefiting the student. If data shows that students have to read a certain section of the material multiple times, it could indicate either that that section is possibly more important than others, or it might be unclear and could be improved, which benefits the teacher. Data collected through surveys can yield insight into students’ motivations for studying. Ultimately, data can increase our knowledge of how students learn benefiting educational researchers. Different kinds of data can be collected in online courses. In programming courses, data is typically collected from tools that are specifically made for learning programming. These tools include Integrated Development Environments (IDEs), program visualization tools, automatic assessment tools, and online learning materials. The granularity of data collected from such tools varies. Fine-grained data is data that is collected frequently, while coarse-grained data is collected less frequently. In a programming course, coarse-grained data might include students’ submissions to exercises, whereas fine-grained data might include students’ actions within the IDE such as editing source code. An example of extremely fine-grained data is keystroke data, which typically includes each key pressed while typing together with a timestamp that tells when exactly the key was pressed. In this work, we study what benefits there are to collecting keystroke data in programming courses. We explore different aspects of keystroke data that could be useful for research and to students and educators. This is studied by conducting multiple quantitative experiments where information about students’ learning or the students themselves is inferred from keystroke data. Most of the experiments are based on examining how fast students are at typing specific character pairs. The results of this thesis show that students can be uniquely identified solely based on their typing whilst they are programming. This information could be used in online courses to verify that the same student completes all the assignments. Excessive collaboration can also be detected automatically based on the processes students take to reach a solution. Additionally, students’ programming experience and future performance in an exam can be inferred from typing, which could be used to detect struggling students. Inferring students’ programming experience is possible even when data is made less accurate so that identifying individuals is no longer feasible. en
dc.description.abstract Näppäilydataa voidaan kerätä, kun ihminen kirjoittaa näppäimistöllä. Tässä väitöskirjassa tutkitaan, miten ohjelmointikursseilla kerättyä näppäilydataa voidaan käyttää opetuksen parantamiseen. Tutkimuksessa keskitytään erityisesti hienojakoisen näppäilydatan käyttötarkoituksiin, jotka eivät ole mahdollisia vähemmän hienojakoisella datalla, kuten tehtäväpalautuksilla. Tutkimustulosten perusteella näppäilydatasta voidaan sekä ennustaa opiskelijoiden tulevaa pärjäämistä kokeessa että heidän mahdollista aiempaa ohjelmointikokemustaan. Tulevan pärjäämisen ennustamista voidaan esimerkiksi käyttää lisäopetusta tarvitsevien opiskelijoiden havaitsemiseen. Aiemman ohjelmointikokemuksen arviointia voidaan taas käyttää esimerkiksi kurssin alussa tunnistamaan opiskelijoita, jotka voisivat hypätä helpoimpien tehtävien yli. Näppäilydatasta voidaan tunnistaa ohjelmakoodia kirjoittava opiskelija perustuen näppäilyrytmiin. Opetuksessa tätä voidaan käyttää etäkursseilla varmistamaan, että opiskelijan vastaukset ovat hänen itsensä kirjoittamia. Tämä on erityisen tärkeää kursseilla, joissa koe järjestetään täysin etänä. Näppäilydataa voidaan käyttää ohjelmointiprosessin tarkasteluun, jolloin liiallista yhteistyötä sekä esimerkiksi tehtävien kopiointia voidaan tunnistaa automaattisesti. Koska opiskelijan voi tunnistaa näppäilydatasta, näppäilydataa ei voida jakaa suoraan avoimena datana. Väitöskirjassa tarkastellaan näppäilydatan anonymisointia ja pohditaan siihen liittyvää yksityisyyttä. Väitöskirjan tulosten perusteella näppäilydataa voi anonymisoida niin, että yksittäistä opiskelijaa ei voi enää luotettavasti tunnistaa näppäilyrytmiin perustuen, mutta heidän aiempi ohjelmointikokemuksensa on yhä pääteltävissä datasta. Tällöin datasta on yhä hyötyä tutkijoille, mutta datassa olevien opiskelijoiden yksityisyys on paremmin suojattu. fi
dc.format.mimetype application/pdf
dc.language.iso en
dc.publisher Helsingin yliopisto fi
dc.publisher Helsingfors universitet sv
dc.publisher University of Helsinki en
dc.relation.isformatof URN:ISBN:978-951-51-5603-7
dc.relation.isformatof Helsinki: Unigrafia, 2019, Department of Computer Science, Series of Publications A. 1238-8645
dc.relation.ispartof Department of Computer Science, Series of Publications A
dc.relation.ispartof URN:ISSN:1238-8645
dc.rights Julkaisu on tekijänoikeussäännösten alainen. Teosta voi lukea ja tulostaa henkilökohtaista käyttöä varten. Käyttö kaupallisiin tarkoituksiin on kielletty. fi
dc.rights This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited. en
dc.rights Publikationen är skyddad av upphovsrätten. Den får läsas och skrivas ut för personligt bruk. Användning i kommersiellt syfte är förbjuden. sv
dc.subject Computer Science
dc.title Keystroke Data in Programming Courses en
dc.title.alternative Näppäilydata ohjelmointikursseilla fi
dc.type.ontasot Väitöskirja (artikkeli) fi
dc.type.ontasot Doctoral dissertation (article-based) en
dc.type.ontasot Doktorsavhandling (sammanläggning) sv
dc.ths Hellas, Arto
dc.opn Falkner, Nickolas
dc.type.dcmitype Text

Files in this item

Total number of downloads: Loading...

Files Size Format View
Keystrok.pdf 363.4Kb PDF View/Open

This item appears in the following Collection(s)

Show simple item record