+ All Categories
Home > Documents > Using Keystroke Analytics to Improve Pass–Fail Classifiers

Using Keystroke Analytics to Improve Pass–Fail Classifiers

Date post: 10-Dec-2021
Category:
Upload: others
View: 3 times
Download: 0 times
Share this document with a friend
23
(2017). Using keystrokes analytics to improve pass-fail classifiers. Journal of Learning Analytics, 4(2), 189–211. http://dx.doi.org/10.18608/jla.2017.42.14 ISSN 1929-7750 (online). The Journal of Learning Analytics works under a Creative Commons License, Attribution - NonCommercial-NoDerivs 3.0 Unported (CC BY-NC-ND 3.0) 189 Using Keystroke Analytics to Improve Pass–Fail Classifiers Kevin Casey Maynooth University, Ireland [email protected] ABSTRACT. Learning analytics offers insights into student behaviour and the potential to detect poor performers before they fail exams. If the activity is primarily online (for example computer programming), a wealth of low-level data can be made available that allows unprecedented accuracy in predicting which students will pass or fail. In this paper, we present a classification system for early detection of poor performers based on student effort data, such as the complexity of the programs they write, and show how it can be improved by the use of low-level keystroke analytics. Keywords: Learning analytics, keystroke analytics, data mining, virtual learning environments, student behaviour, early intervention 1 INTRODUCTION High failure rates in undergraduate Computer Science courses are a common problem across the globe (Beaubouef & Mason, 2005; Biggers, Brauer, & Yilmaz, 2008). These poor progression rates, combined with the declining numbers of students enrolling in information and communications technology (ICT) programmes (Lang, McKay, & Lewis, 2007; Lister, 2008; Slonim, Scully, & McAllister, 2008) has led to a crisis for ICT companies looking for graduates. Estimates vary widely, but in the US for example, there were between 400,000 (Davis, 2011) and 1.25 million (Thibodeau, 2011) unfilled IT jobs in 2011, at a time when the US unemployment rate was running at 9%. Against this backdrop, learning analytics (Siemens & Long, 2011) has become more widespread and has the potential to make significant contributions to understanding learner behaviour, with the caveat that high-quality, useful data is necessary. Education support systems such as virtual learning environments (VLEs) and learning management systems (LMSs) have the potential to generate the necessary data. This learner-produced data can then provide valuable insight into what is actually happening in the learning process, and suggest ways in which educators can make improvements; for example, identifying students at risk of dropping out or needing additional support in the learning process. Accurate student performance prediction algorithms can provide the opportunity to determine when to intervene before a student reaches a level of performance that they cannot recover from. For these algorithms to be useful to the educator, they must be both accurate and timely (i.e., they must give accurate results early in the semester). However, the accuracy of such algorithms is based on the
Transcript
Page 1: Using Keystroke Analytics to Improve Pass–Fail Classifiers

(2017). Using keystrokes analytics to improve pass-fail classifiers. Journal of Learning Analytics, 4(2), 189–211.http://dx.doi.org/10.18608/jla.2017.42.14

ISSN1929-7750(online).TheJournalofLearningAnalyticsworksunderaCreativeCommonsLicense,Attribution-NonCommercial-NoDerivs3.0Unported(CCBY-NC-ND3.0) 189

Using Keystroke Analytics to Improve Pass–Fail Classifiers

KevinCaseyMaynoothUniversity,Ireland

[email protected]

ABSTRACT.Learninganalyticsoffersinsightsintostudentbehaviourandthepotentialtodetectpoorperformersbeforetheyfailexams.Iftheactivityisprimarilyonline(forexamplecomputerprogramming), a wealth of low-level data can be made available that allows unprecedentedaccuracy inpredictingwhichstudentswillpassor fail. In thispaper,wepresentaclassificationsystem for early detection of poor performers based on student effort data, such as thecomplexityoftheprogramstheywrite,andshowhowitcanbeimprovedbytheuseoflow-levelkeystrokeanalytics.

Keywords: Learning analytics, keystroke analytics, data mining, virtual learning environments,studentbehaviour,earlyintervention

1 INTRODUCTION

HighfailureratesinundergraduateComputerSciencecoursesareacommonproblemacrosstheglobe(Beaubouef&Mason,2005;Biggers,Brauer,&Yilmaz,2008).Thesepoorprogressionrates,combinedwith thedecliningnumbersof studentsenrolling in informationandcommunications technology (ICT)programmes(Lang,McKay,&Lewis,2007;Lister,2008;Slonim,Scully,&McAllister,2008)hasledtoacrisis for ICTcompanies lookingforgraduates.Estimatesvarywidely,but intheUSforexample,therewerebetween400,000 (Davis, 2011) and1.25million (Thibodeau, 2011)unfilled IT jobs in2011, at atimewhentheUSunemploymentratewasrunningat9%.

Againstthisbackdrop,learninganalytics(Siemens&Long,2011)hasbecomemorewidespreadandhasthepotentialtomakesignificantcontributionstounderstandinglearnerbehaviour,withthecaveatthathigh-quality,usefuldataisnecessary.Educationsupportsystemssuchasvirtuallearningenvironments(VLEs)andlearningmanagementsystems(LMSs)havethepotentialtogeneratethenecessarydata.Thislearner-produceddatacanthenprovidevaluableinsightintowhatisactuallyhappeninginthelearningprocess, and suggest ways in which educators can make improvements; for example, identifyingstudentsatriskofdroppingoutorneedingadditionalsupportinthelearningprocess.

Accuratestudentperformancepredictionalgorithmscanprovidetheopportunitytodeterminewhentointervene before a student reaches a level of performance that they cannot recover from. For thesealgorithms to be useful to the educator, theymust be both accurate and timely (i.e., theymust giveaccurate results early in the semester). However, the accuracy of such algorithms is based on the

Page 2: Using Keystroke Analytics to Improve Pass–Fail Classifiers

(2017). Using keystrokes analytics to improve pass-fail classifiers. Journal of Learning Analytics, 4(2), 189–211.http://dx.doi.org/10.18608/jla.2017.42.14

ISSN1929-7750(online).TheJournalofLearningAnalyticsworksunderaCreativeCommonsLicense,Attribution-NonCommercial-NoDerivs3.0Unported(CCBY-NC-ND3.0) 190

availability of data and, very often, sufficient data does not exist until late in the semester. This is arecurring problemwith such algorithms in an early intervention scenario. If they are based solely onstudenteffortinthecourse,thenthepredictionswillbeunreliableintheearlystagesofthesemester.Toimprovereliabilityintheseearlystages,keystrokeanalysiswasemployed,specificallystudyinghowstudentstypedastheyprogrammed.Thisapproachhastheadvantageofyieldingsignificantamountsofdataearlyinthesemesterandhasthepotentialtoimprovethetimelinessoftheclassifier.

In thispaper, theutilityofkeystrokeanalytics forperformanceprediction isevaluated.Withaccuratelow-level keystroke timings for programmer activities, the following two research questions areaddressed:

RQ1: Is there a correlation between certain types of keystroke metric and programmerperformance?

RQ2: Can keystroke metrics be used to enhance the accuracy of pass–fail classifiers,particularlyearlyinthesemester?

The rest of this paper is organized as follows. In Section 2 (PriorWork), relatedwork is discussed. InSection 3 (Dataset and Educational Context) the VLE, which yielded the data upon which theexperimentalworkisbased,ispresented.Thissectionalsodiscussesthetypeofdatacollectedandthesoftwarearchitectureofthesystem.Section4(Methodology)outlinesthepass–failclassifierapproachandhowkeystrokeanalyticsareused.Section5(Results)presentstheresults fromanalysis.Section6(Discussion) examines how generalizable the results are, and discusses potential directions for futurework.Section7(Conclusion)summarizestheresultsofthework.

2 PRIOR WORK

In the past few years, many universities have begun to focus on student retention. In computerprogramming,much effort has been put into changing the curriculum; for example, introducing pairprogramming(Teague&Roe,2007)andproblem-basedlearning(O’Kellyetal.,2004a;O’Kelly,Mooney,Bergin,Gaughran,&Ghent,2004b).Withtheevolutionoflearninganalytics,ithasbecomepossibletoexploretheeffectofsuchcurriculumchanges,andstudentbehaviour ingeneral,atanunprecedentedlevelofdetail.

Casey andGibson (2010) examined data fromMoodle (one of themostwidespread VLEs) for fifteencomputersciencemodulesinthreedifferentcourses.Thedatastoredinthesystemabouttheactivitiesof both teachers and students is typicallywhoperformed the action,what action,when, andwhere.Theyfoundsomeinterestingcorrelationsthatlinkwithhighperformance,suchasdailymodulelogins,theamountofmaterialreviewed,orMoodleusageoveraweekend.Inaddition,theyfoundextremelyhigh student activity levels on Moodle for certain modules are sometimes a negative indicator forstudentperformance.Thisnegativecorrelation,whichhasbeenfoundinsubsequentlargerscalestudies

Page 3: Using Keystroke Analytics to Improve Pass–Fail Classifiers

(2017). Using keystrokes analytics to improve pass-fail classifiers. Journal of Learning Analytics, 4(2), 189–211.http://dx.doi.org/10.18608/jla.2017.42.14

ISSN1929-7750(online).TheJournalofLearningAnalyticsworksunderaCreativeCommonsLicense,Attribution-NonCommercial-NoDerivs3.0Unported(CCBY-NC-ND3.0) 191

(Pardos,Bergner,Seaton,&Pritchard,2013;Champaignetal.,2014)couldbeusedtodetectstudentswithdifficultiesaheadoftime,providinganexcellentopportunityforearlyintervention.

PurdueUniversitydesignedanearly interventionsolution forcollegiate facultyentitledCourseSignals(Arnold & Pistilli, 2012). Course Signals is a student success system that allows faculty to providemeaningful feedbacktostudentsbasedonpredictivemodels,andtodeterminewhichstudentsmightbe at risk. The solution helps to promote the integration between the student and the institution indifferentways: facultymemberssendpersonalizedmails tostudentsregardingtheirperformance inagivencourseandencouragestudentstojoincollegeactivities.Apredictivestudentsuccessalgorithmisrunondemandbyinstructors.Ithasfourcomponents:performance,effort,prioracademichistory,andstudentcharacteristics.

Some researchers have highlighted cognitive overload as a potential cause for why learningprogramming is so difficult (Yousoof, Sapiyan, & Kamaluddin, 2007). Cognitive load provides acompelling argument as towhy somany students fail tomaster it. The theory, althoughnotwithoutcriticism, also provides pointers on how to address these problems. It is broadly accepted that aneffective working memory is critical to academic performance (Yuan, Steedle, Shavelson, Alonzo, &Oppezzo,2006).Limitedtoapproximatelysevenitemsatatime,workingmemoryisashort-termareaof memory positioned between sensorymemory and long-termmemory (Miller, 1956). This area ofmemoryiswherecognitiveprocessingtakesplaceandisgenerallyequatedwithconsciousness.

Because cognitive processes occur in this area ofmemory, the two limitations, limited duration andlimitedcapacity,canbeseenasfundamentallimitationsofourcognitiveprocessingability.Thecapacitylimitationcanbeovercomebyschemaformation—thegroupingtogetherofrelateditemsintoasingleitem. These groupings can often be hierarchic in naturewith lower-level groupings themselves beinggroupedtogethertoformhigher-levelgroupings.

Asaresultofthisgrouping(oftencalledchunking),beingaskedtorememberasequenceofletterssuchas[t,q,b,f,j,o,t]canbejustaschallengingtoworkingmemoryasrememberingasequenceofwords(suchas [the, quick, brown, fox, jumped, over, the]). This is despite the fact that there is much moreinformationinthesecondlist.Infact,ifonewerefamiliarwiththephrase,thenrememberingthenine-word list [the,quick,brown, fox, jumped,over, the, lazy,dog]would place a lower demand on one’sworkingmemorythanrememberingsevenarbitrarylettersofthealphabet.

Giventhatchunkingabilitycouldplayasignificantrole ina learner’sabilitytomasterprogramming, itwouldbeadvantageoustomeasureitfromthedataavailable.Forthis,weturntotheareaofkeystrokedynamics—thestudyofpatterns inauser’s typing.Keystrokedynamicshasanumberofapplicationareas, from user authentication (Bergadano, Gunetti, & Picardi, 2003; Dowland & Furnell, 2004) toaffectivecomputing (Epp, Lippold,&Mandryk,2011).Ofparticular interest in thispaper is theuseofkeystroke dynamics to estimate a learner’s chunk recall times (Thomas, Karahasanovic, & Kennedy,2005).

Page 4: Using Keystroke Analytics to Improve Pass–Fail Classifiers

(2017). Using keystrokes analytics to improve pass-fail classifiers. Journal of Learning Analytics, 4(2), 189–211.http://dx.doi.org/10.18608/jla.2017.42.14

ISSN1929-7750(online).TheJournalofLearningAnalyticsworksunderaCreativeCommonsLicense,Attribution-NonCommercial-NoDerivs3.0Unported(CCBY-NC-ND3.0) 192

CentraltotheworkofThomasetal.(2005)isthenotionofkeystrokedigraphlatencies,thetimetakenforpairsofconsecutivekeystrokes.Specificallythisisfromthetimestampforthekeydowneventforthefirstkeystroketothetimestampforthekeydowneventforthesecondkeystroke.Bycategorizingsinglekeystrokesintofivedifferentcategoriesanddigraphsintothreedifferentcategories(asseeninTable1),the authors correlate digraph timeswith programming performance.Of particular interest are type-Edigraphs,whicharefarmorelikelytooccuratthebeginningofakeywordandattheendofakeyword.Thesetimescoincidewithwhenthelearnerisrecallingthenexttokentotypeandsocanbeusedasameasureforthelearner’schunkrecallability.

Table1:KeystrokedigraphtypesKeystrokeTypes

A AlphabeticcharactersN NumericcharactersC Controlkeys(Ctrl,ALT...)B Browsingkeys(left,HOME,PgUp...)O Allotherkeys

DigraphTypesA,N,C,B,O Bothkeysindigrapharesametype

H OnekeystroketypeistypeBE Bothkeystrokestypesaredifferent&neitheristypeB

WithreferencetoTable1,considerthestudenttypingthefollowinglineofcode:MOV AL,BL.InFigure1,thedigraphsthatarisecanbeseen.

Figure1.Digraphconstruction.

In the example, there are three tokens (chunks). The first type-E digraph is composed of whatevercharacterprecedesthefirst“M”ontheline(usuallyanewlinecharacter,markedby1intheexample)andthe“M”itself.Thenexttype-Edigraphiscomposedofthe“V”andthesubsequentspacecharacter.There follow fourmore type-E digraphs, the last being composed of the letter L and the subsequentcharacter(usuallyanewline—markedby2intheexample).Intotal,forthethreetokensonthelineofcode,therearesixtype-Edigraphs,twoforeachtoken.

Of all of the digraphs, type-E digraphs are of particular interest, because they measure the latencybetween keystrokes at the beginning and end of a token (or keyword). Other digraphs are lessinteresting from a cognitive load point of view. For example type-A digraphs, measure the latencybetweenkeystrokesinthemiddleofakeyword(essentiallyjustgivingameasureoftypingspeed),whiletype-Hdigraphsaretypicallyassociatedwithediting. It isonlytype-Edigraphsthatmeasurekeystroke

Page 5: Using Keystroke Analytics to Improve Pass–Fail Classifiers

(2017). Using keystrokes analytics to improve pass-fail classifiers. Journal of Learning Analytics, 4(2), 189–211.http://dx.doi.org/10.18608/jla.2017.42.14

ISSN1929-7750(online).TheJournalofLearningAnalyticsworksunderaCreativeCommonsLicense,Attribution-NonCommercial-NoDerivs3.0Unported(CCBY-NC-ND3.0) 193

latency at the beginning and end of a token as the student types, and thus yields some informationabouthowlongittakesthestudenttodecideuponorrecallthenexttoken.

Thomasetal.(2005)presentasolidtheoreticalfoundationforlinkingthetype-Edigraphmeasurementswith cognitiveperformance. In two separate studies,one in Java, theother inAda, theyexamine thecorrelation between the measured type-E digraph times and the student performance in relatedexaminations.Forthis,theyreportSpearmancorrelationsof–0.516and–0.276respectively.Therewereother differences in the studies to explain the results, such as programmer skill level and generalexperimentalconditions.

AsmallerscalestudyonpredictingstudentperformancefromkeystrokemetricswasperformedbyLiuandXu(2011).Thestudyconsideredonlykeystrokefrequencyandnotthetype-Edigraphsmentionedpreviously.Theauthors’resultswereinconclusive.Indeed,theynotethatwhilemanybettercoderstypefast,somepoorcodersalsoexhibitedarapidkeystrokefrequency.

Longietal.(2015)alsousekeystrokemetricssosolveaslightlydifferentproblem,thatofidentifyingaprogrammer from their keystroke timings. The authors used a number of approaches,with themostcomplex being to build a profile of the digraph timings for each programmer. A nearest neighbourclassifierwas thenused to identify an unknownprogrammer bymatching the digraph timings to thedatabase of digraphs of known programmers. One of the more relevant findings is that, while asignificant number of keystrokes are required for accurate classification, the typical student canaccumulate the requisite number of keystrokes over just a couple ofweeks of programming activity.Although the focus of Longi et al.’s paper is on programmer identification and not performanceprediction, this finding hints that keystroke metrics could be a useful early indicator in a semester,yieldingsignificantdataafterjustacoupleofweeks.

Otherrelatedresearchexaminestheroleofwritingspeedinclassification.Ochoaetal.(2013)reportonsuccessfully using handwriting speed (using a digital pen) to distinguish between experts and non-experts in a collaborative environment solving mathematical problems. This work underlines theusefulnessofsuchlow-levelfeaturesinsolvingclassificationproblems.

Aninterestingproject,similar inmanywaystotheVLEdiscussedinthispaper, istheBlackboxproject(Brown, Kölling,McCall, & Utting, 2014) where users of the popular BlueJ IDE can opt to contributeanalyticsontheirprogramming.Brownetal.(2014)reportthatoveronehundredthousandusershavesignedup.While theprojecthas thepotential toyielddataonanunprecedentedscale, thescalehasforcedtheauthorsintothedecisionnottorecordlow-leveleventssuchasmouseclicksandkeystrokesbecausetheywouldbetoovoluminous.

Romero-Zaldivar,Pardo,Burgos,andKloos(2012)reportonasuccessfultrialexaminingtheviabilityofvirtual machines within a learning analytics context. The authors describe how they equipped eachstudentinasecond-yearundergraduateengineeringcoursewithaninstrumentedvirtualmachine.This

Page 6: Using Keystroke Analytics to Improve Pass–Fail Classifiers

(2017). Using keystrokes analytics to improve pass-fail classifiers. Journal of Learning Analytics, 4(2), 189–211.http://dx.doi.org/10.18608/jla.2017.42.14

ISSN1929-7750(online).TheJournalofLearningAnalyticsworksunderaCreativeCommonsLicense,Attribution-NonCommercial-NoDerivs3.0Unported(CCBY-NC-ND3.0) 194

virtualmachinerecordeddataas thestudentsused it,andsubmitted it toacentral server.While theanalyticsarealsohigh-level,theauthorsdonotethatusefulactionable informationwasobtainedthatcould be fed back into the teaching process. Specifically, they were able to observe that hardly anystudentsusedaparticulartool(thedebugger)duringthecourse.

Berland, Martin, Benton, Petrick Smith, and Davis (2013) discuss the importance of tinkering in thelearningprocess.Tomeasureit,theycapturethevariousstatesofaprogramasastudenteditsit.Theauthors then analyze how students move though the state space of potential programs.While theyfound that different students took diverse paths, they were able to identify three phases to theirlearning.TheresultoftheirworkistheEXTIREframework,whichcharacterizesthetransitionsthattakeplace during tinkering. Other research concentrates on measuring the efficacy of tutoring softwaredetermininghowrobustlearningisinanonlinetutor(Baker,Gowda,&Corbett,2010,2011),knowledgethatcanthenbefedbackintotheinstructionaldesignprocess.

Ahadi, Lister, Haapala, and Vihavainen (2015) outline a promising classifier (based on decision trees)approachtopredictinglow-performingandhigh-performingprogrammingstudents.Basedonanumberof features, themost effective being how the students performed on a subset of Java programmingexercises theywere given during the course. Using this approach, the authors report an accuracy ofbetween70%and80%.

Thesheervolumeofdatageneratedbylearninganalyticscanbedaunting.Scheffeletal.(2012)describeamethodofdatadistillation,namelytheextractionofkeyactionsandkeyactionsequencesinordertoleavebehindmeaningfuldata.Theauthorsoutlinehow the contextualizedattentionmetadata (CAM)fromasubstantialuniversitycourseinCprogrammingiscollectedandthendistilledusingTF-IDF.

Onenotable featureof theVLEsystempresented in thispaper is thepotential for real-timeanalytics.Edwards (2013) notes that many systems such as GRUMPS as used by Thomas et al. (2005) do notoperateinrealtime.OurVLEpresentedinSection3,however,hasthepotentialtooperateinreal-timewithminimalwork and, as such, has the potential to be a useful tool in the context of a laboratorysession,whereatutorcouldinterveneifastudentwasdeemedtobestruggling.

Finally,asthekeystrokemetricsdiscussed inthispapermayallowthedetectionofcognitiveoverloadforsomestudents,itisworthconsideringhowbesttointerveneoradaptteachingtocognitiveoverload.Yousoofetal.(2007)providesomeguidance,arguingfortheuseofvisualizations,inparticularConceptMaps,toassiststudentssufferingfromcognitiveoverload.Garner(2002)suggestsanapproachofgivingpartially complete programs to students to reduce cognitive load. Caspersen and Bennedsen (2007)outline a cognitive load theory based foundation for an introductory programming course. It is alsoworthlookingbeyondresearchthatseekstoaddresscognitiveload.Otherareasofresearch,suchastheprovision of enhanced error messages (Becker, 2015; Becker et al., 2016), do not directly deal withcognitiveoverload,butdohavethepotentialtoreducethecognitivestrainonthenoviceprogrammer.Additionally, a hints-based system can be employed to assist students. This has the added benefit of

Page 7: Using Keystroke Analytics to Improve Pass–Fail Classifiers

(2017). Using keystrokes analytics to improve pass-fail classifiers. Journal of Learning Analytics, 4(2), 189–211.http://dx.doi.org/10.18608/jla.2017.42.14

ISSN1929-7750(online).TheJournalofLearningAnalyticsworksunderaCreativeCommonsLicense,Attribution-NonCommercial-NoDerivs3.0Unported(CCBY-NC-ND3.0) 195

providingfurtherinformationonstudentbehaviourasthestudentsusethesehints(Feng,Heffernan,&Koedinger,2006;Beal,Walles,Arroyo,&Woolf,2007).

3 DATASET AND EDUCATIONAL CONTEXT

From 2012 to 2015 at Dublin City University, a new specialized platform for module delivery wasdevelopedandtrialed forsecondyearundergraduatecomputersciencestudentsononeof theircoreprogramming modules (Computer Architecture and Assembly Language Programming). This platformhandled both module content and general learning activities within the module, all through a web-browser(Figure2).Whilecontentdeliveryisstandardpractice,easilyhandledbymainstreamVLEssuchas Moodle, the customized platform allowed for far more fine-grained analysis of how studentsconsume material; for example, being able to determine how much time students are spending onindividuallectureslides.

The second aspect of the platform — hosting general learning activities — is possible because themoduleis largelyaboutprogramming.Wehavebeenabletomovethetoolsthattypicallywouldhavebeenusedonthedesktopintothebrowser itself,allowingstudentstoprogramwherevertheyhaveaweb-browser,with no need to install additional software. As students interactwith the system, fine-graineddataontheirinteractionsisrecordedcentrallywithaviewtoimprovingthelearningexperience.Thefactthatsomuchday-to-daycourseactivityistakingplaceonaninstrumentedplatformallowsforunprecedentedopportunitiesinlearninganalyticsandpersonalizedcontentdelivery.

Of course, because relevant student activity outside the platform cannot bemeasured, the questionnaturally arises as to howmuch student effort in themodule is being capturedby theplatform. It isentirelyplausiblethatstudentsare,forexample,readinglectureslidesfromaprintout,anactivitythatwecannotmeasure.However,theslidesthatstudentsviewareHTML5-basedandarenotparticularlyeasytoprint.Thiscombinedwiththedatawehavesuggeststhatmoststudentsbrowseslidesonline.Whenitcomestomeasurecodingeffort,theonlyplacestudentscancompileandruntheirprogramsiswithin theplatform.There isnoalternative.Thus,wearemoreconfident that theentiretyofstudenteffortinthisregardisbeingcaptured.

3.1 Implementation Details

The VLE in question is implemented as a client-side Typescript/Javascript program. Studentsauthenticate with the system using their campus login. The client-side application interacts with aCoreOS hosted server1 to retrieve learningmaterials such as course notes and weekly lab exercises.Usage data is collected by the Javascript client in JSON format, periodically compressed using aJavascriptzliblibraryandpostedtotheserverviaaRESTfulinterface.Toreduceloadontheserver,thedataremainscompresseduntilanalysisisrequired.KeystrokedataisonlyeverrecordedforkeystrokesinsidethecodeeditorwindowandiscapturedusingJavascriptkeyboardevents(onKeyUp,onKeyDown).1UsingDockercontainersrunningNode.js.

Page 8: Using Keystroke Analytics to Improve Pass–Fail Classifiers

(2017). Using keystrokes analytics to improve pass-fail classifiers. Journal of Learning Analytics, 4(2), 189–211.http://dx.doi.org/10.18608/jla.2017.42.14

ISSN1929-7750(online).TheJournalofLearningAnalyticsworksunderaCreativeCommonsLicense,Attribution-NonCommercial-NoDerivs3.0Unported(CCBY-NC-ND3.0) 196

Thiskeystrokedataisaggregatedintoblocks,eachblockbeginningwithaUnixtimestampandforeachkeystrokeevent,thekeyandtheoffsetfromthattimeisrecorded.

The application simulates an 8-bit x86microprocessor with a restricted amount of memory. Looselybased on Baur’s (2006) Microprocessor Simulator, a Microsoft Windows application, the simulatorallowsstudentstocreatesmallassemblyprograms,compilethem,andexecutethem.Asprogramsareexecuted,studentscanseeavisualrepresentationofCPUregisters,memory,andahostofconnecteddevices.Studentscaneither runprograms freely (adjusting theirspeedviaslider)orcanstepthroughtheprogramsinstructionbyinstruction.Beingbrowser-based,theapplicationcanberuninanyOSwithareasonablewebbrowser,thoughonlyChromiumbrowserwassupportedactively.Studentscouldsavetheirworkandsessionsonanycomputer,andresumesessionswhentheyloggedinelsewhere.

Figure2:VLEforAssemblyLanguageProgramming.

Page 9: Using Keystroke Analytics to Improve Pass–Fail Classifiers

(2017). Using keystrokes analytics to improve pass-fail classifiers. Journal of Learning Analytics, 4(2), 189–211.http://dx.doi.org/10.18608/jla.2017.42.14

ISSN1929-7750(online).TheJournalofLearningAnalyticsworksunderaCreativeCommonsLicense,Attribution-NonCommercial-NoDerivs3.0Unported(CCBY-NC-ND3.0) 197

Figure2showssomeoftheelementsoftheplatforminaction.Themenusystemcanbeseenacrossthetopof thewebpage. Students canaccessdifferent featuresof the simulator, view coursenotes, andsubmit work for grading from this menu. Shown on the screen, there are a few commonly usedwindows.Onthetop-left,aregisterstatuswindowcanbeseen.Inthiswindow,thecurrentstateofthevariousregistersinsidethevirtualCPUcanbeseen.TotherightofthisisaconfigurationwindowwherethespeedoftheCPUandthefrequencyofinterruptscanbeset.Inthemiddleofthescreen,thecodeeditorwindowisshown.Thisisthewindowwherestudentstypetheirprograms.Atthebottom-left,amemorywindowshowsthecurrentstateofmemoryinthevirtualmachine.Finally,onthebottom-right,atwo-digitseven-segmentdisplayisshown.Thisisagoodexampleofavirtualdevicethatstudentscanwriteprogramstocontrol.

Learningmaterialswereintegratedintotheplatform.Aseriesof20lessons, identicaltolectureslides,were made available in the platform. Students were encouraged to break away from the learningmaterialstotryconceptsoutinthesimulator,hencethetightcouplingbetweenthesimulatorandthelearning material. Additionally, 8 lab exercises were also available. The labs and lessons wererepresentedasHTML5slidesusingthepopularReveal.jslibrary(Ferreira,2013).Althoughitwasdecidedagainstitatthetime,duetotheexperimentalnatureofthesoftware,thelearningmaterialscouldhavebeendecoupledfromthesimulatorandanalyticscollectedontheserversideviaaTin-CanAPI(Kelly&Thorn,2013).

3.2 Module Structure and Grading

The module in question, Computer Architecture and Assembly Language, runs over a twelve-weeksemester. There are 36 hours of lectures with 24 hours of lab time. The learning outcomes are asfollows:

LO1.UnderstandtheoperationofCPUregistersLO2.DescribehowdataiswrittentoandreadfrommemoryLO3.CalculatethenumericallimitsofmemoryandregistersLO4.VerifyALUoperationsbyunderstandingtheimportanceoftheflagsLO5.Write8086AssemblyProceduresLO6.Design,Code,andTestInterruptDriven8086Assemblyprograms

Themodule isdeliveredto2ndyearundergraduatecomputersciencestudents in the firstsemesteroftheacademicyear.Continuousassessmentaccountsfor40%ofthefinalgradewhileafinalendoftermexamaccountsfor60%ofthegrade.Thecontinuouscomponentisbrokenupintotwogradedlabexamsthattakeplaceontheplatform.Thefinalendoftermexamisawrittenexamandcoversamixtureoftheoryandpracticalcoding.Itisworthhighlightingthatwhenperformancepredictionisdiscussedinthecontextofthispaper,itisthestudentperformanceinthefinalwrittenexamandnottheoverallgradethat is being predicted. This has the effect of eliminating the lab exams from the prediction andstrengthens the results presented, in that the activity on the VLE is being used to predict the

Page 10: Using Keystroke Analytics to Improve Pass–Fail Classifiers

(2017). Using keystrokes analytics to improve pass-fail classifiers. Journal of Learning Analytics, 4(2), 189–211.http://dx.doi.org/10.18608/jla.2017.42.14

ISSN1929-7750(online).TheJournalofLearningAnalyticsworksunderaCreativeCommonsLicense,Attribution-NonCommercial-NoDerivs3.0Unported(CCBY-NC-ND3.0) 198

performanceinanend-of-yearwrittenexam(andnotacombinationofawrittenexamandlabexamstakenwithintheVLE).

3.3 Dataset

Atthebeginningofeachsemesterthatthemoduletakesplace,studentsareintroducedtotheplatform.Itisexplainedthatalldatacanberemovedattheendofsemesteronrequest(anopt-outpolicy).Aftera three-month waiting period following the end of the semester to allow for such requests, anyremainingdataisanonymized.Forthe2013/2014semester’sdatauponwhichthisworkisbased,datafrom111studentsremainedafteropt-outs(inthiscasenone).

Asubstantialarrayofdatawascollected.Duetothevolumeofdata,muchofitwasaggregatedontheclient-sideandperiodicallysenttotheserver.Someofthedatacollectedincluded:timespentoneachslideof the learningmaterials, IPaddress, keystroke timings, successful compiles (recordingacopyofthesourcecodeforeach),failedcompiles(againrecordingthesourcecode)andGUIinteractionssuchasmenuclicksandwindowopening/closing.

Togetafeelforthevolumeofdataandthegeneralpatternofactivityontheplatform,Figure3showsan activity diagram. This is the number of transactions observed from the students throughout thesemester. Each line in the activity graph represents a single student. The data has been divided intodiscreteperiods,representingthe labsessionsandthetimebetweenthosesessions.Thisconcepthasbeen added to the dimensions as activity during labs and outside labs. The total number of eventsextracted from the raw data for all students is 9,142,065, which together form a substantial digitalfootprintthatrepresentsstudentinteractionwiththesystem.

Figure3:Studentactivityonaweeklybasis.

Page 11: Using Keystroke Analytics to Improve Pass–Fail Classifiers

(2017). Using keystrokes analytics to improve pass-fail classifiers. Journal of Learning Analytics, 4(2), 189–211.http://dx.doi.org/10.18608/jla.2017.42.14

ISSN1929-7750(online).TheJournalofLearningAnalyticsworksunderaCreativeCommonsLicense,Attribution-NonCommercial-NoDerivs3.0Unported(CCBY-NC-ND3.0) 199

As can be seen from Figure 3, the extent to which students on the module are assessment-drivenbecomesclear.Therearethreesignificantspikesinactivity.Thesecorrespondtojustbeforethefirstlabexam,thesecondlabexam,andthefinalwrittenexam.Foreachofthetwolabexams,asmallerspikeinactivitycanbeseenjusttotheright.Thiscorrespondstotheactivityduringthe labexamitself.Whiletheobservationofassessment-drivenbehaviourhaspreviouslybeenobserved(Breslowetal.,2013),itis illuminating to see analytical data supporting the observation and highlighting the extent of thephenomenonforthisparticularmodule.

4 METHODOLOGY

4.1 Pass–Fail Classifier

We consider the prediction of a student’s performance in this course’s final written examination(pass/fail) given a number of important factors. The features or dimensions used for the predictionalgorithm are simple features gathered from processing student interaction with the platform. Theoutput of this prediction algorithm is whether a student fails or passes a course. The input to theprediction algorithm represents one or more observations regarding the student’s activity on theplatform such as the number of successful and failed compilations, on-campus vs. off-campusconnections,andtimespentontheplatform.ThefeaturesusedarepresentedinTable2.

Table2:Featuresusedforthebasicclassifier

1. Numberofsuccessfulcompilations2. Successfulcompilationsaverage

complexity3. Numberoffailedcompilations4. Failedcompilationsaverage

complexity5. Ratiobetweenon-campusandoff-

campusconnections6. Numberofconnections7. Timespentontheplatform8. Timespentonslideswithinthe

platform9. Timespenttypinginplatform10. Timeidleinplatform11. Slidescoverage12. Numberofslidesvisited13. Numberofslidesopened14. Numberoftransactions(activity)15. Numberoftransactionsduringlabs16. Numberoftransactionsoutsidelabs17. Numberoftransactionsinthe

platform

Page 12: Using Keystroke Analytics to Improve Pass–Fail Classifiers

(2017). Using keystrokes analytics to improve pass-fail classifiers. Journal of Learning Analytics, 4(2), 189–211.http://dx.doi.org/10.18608/jla.2017.42.14

ISSN1929-7750(online).TheJournalofLearningAnalyticsworksunderaCreativeCommonsLicense,Attribution-NonCommercial-NoDerivs3.0Unported(CCBY-NC-ND3.0) 200

Thecomplexityoftheprogramscompiledwasalsomeasuredandaddedtothedimensionsvector.Thismetric has been calculated by removing the comments from each program compiled, running acompressionalgorithmandmeasuringthelengthofthecompressionforeachprogram.Thistechnique,examinedindetailbyJbaraandFeitelson(2014)isausefulproxyforcodecomplexity.

The data listed in Table 2 contain attributes with a mixture of scales for different quantities. Themachine learningmethodsusedeitherexpectoraremoreeffective if thedataattributesallhave thesamescale.Thetwoscalingmethodsappliedonthedatawerenormalizationandstandardization.

In addition, the number of features or dimensions was reduced in order to verify whether featurereduction improves the prediction accuracy. Feature engineering, the judicious selection and pre-processingofsuchfeatures, isoneofthemostchallengingand importantphasesforsuchdata-drivenalgorithms e.g., IBMWatson, Google Knowledge Graph (Anderson et al., 2013). To achieve this, theSelectKBest method from Scikit-learn was used in conjunction with the Chi-squared statistical test(Kramer,2016,p.49).

4.2 Classifier Options

Manydifferentclassifierscouldbeusedforthepredictionalgorithm.Oftenthechoiceofwhichclassifierto use is not clear, but there is a general paradigm for picking the appropriate classifier to obtainuniversalperformanceguarantees.Specifically,itisdesiredtoselectafunctionfromthesetofclassifiersthat has a small error probability. Effectively, the approach is to use training data to pick one of thefunctionsfromthesettobeusedasaclassifier.Usingthistrainingdata,theclassifierwiththeminimumempiricalerrorprobabilityisselected.

Thebagofclassifiersusediscomposedoflinearregression,alogisticregression,GaussiannaiveBayes,multinomial naive Bayes, Bernoulli naive Bayes, support vector machine with radial basis functionkernel,K-neighbours(withK=12),anddecisiontreeclassifiers.Tocompareandevaluatedifferentpre-processingtechniquesandmodels,across-validationapproachwasemployed.Forthisparticularstudy,avariantcalled“k-foldcross-validation”(Refaeilzadeh,Tang,&Liu,2009)wasusedinordertocomparetheclassifiersintheset.

The classifiers were all supplied by the Scikit-learn library embedded in a Jupyter/IPython notebook(Ragan-Kelley et al., 2014). Logged data was decompressed and preprocessed using a custom set ofPython scripts and stored in a JSON format to be loaded later by the machine learning componentwrittenusingScikit-learn.AsthedecisiontreeclassifierinScikit-learnisthebestperformingoneinlatersections,itisworthnotingthattheScikitimplementationisanoptimizedversionofCART(classificationandregressiontrees;Breiman,Friedman,Olshen,&Stone,1984),whichisquitesimilartoC4.5(Quinlan,1996).

Page 13: Using Keystroke Analytics to Improve Pass–Fail Classifiers

(2017). Using keystrokes analytics to improve pass-fail classifiers. Journal of Learning Analytics, 4(2), 189–211.http://dx.doi.org/10.18608/jla.2017.42.14

ISSN1929-7750(online).TheJournalofLearningAnalyticsworksunderaCreativeCommonsLicense,Attribution-NonCommercial-NoDerivs3.0Unported(CCBY-NC-ND3.0) 201

4.3 Utilizing Keystroke Data

To examine the viability of using keystrokemetrics to improve the performance classifier, the time-stamped keypress eventswere examined and the various digraph timings derived from them. Type-EdigraphsdiscussedinSection2werethemainfocushere.Duringstudentactivityontheplatform,thekeystroke timings were recorded within the code-editor window and stored on the server in acompressed form.Using a simple Python script, the average Type-E digraphs timing for each studentwascomputedandthennormalizedwithinthetestgroup.Thiswasthenusedasthekeystrokefeaturefortheclassificationalgorithm,updatingwiththenewdataforeachweektheclassifierwasrun.

Oneof the issues facedwiththesedigraphswasthatofoutliers.Forexample,duringcodingsessions,studentsareencouragedtointerrupttheirtypingtosketchoutideasortoconsultnotes.SimilartotheapproachtakenbyDowlandandFurnell(2004)andLongietal.(2015),adatapre-processingstagewasappliedtoaddresstheseoutliers.Anupperboundof2secondsonthedigraphswasapplied,eliminatingalldigraphswithlatenciesgreaterthanthis.Oncethisthresholdhadbeenapplied,afinalstepwastakenof eliminating the bottom and top 10% outliers. To address the first research question, these type-Edigraphswereconsideredin isolationfirst,ensuringacorrelationwithend-of-yearexamperformance.Then,thesedigraphswereusedasadditionalfeatureinthepass–failclassifiertodetermineiftheycouldenhancetheaccuracyoftheclassifier,inparticularearlyinthesemester.

5 RESULTS

5.1 Basic pass–fail classifier

The receiver operating characteristic (ROC), or ROC curve, is a graphical plot that illustrates theperformanceofabinaryclassifiersystemasitsdiscriminationthresholdisvaried.Inaddition,leveraginga ROC area under the curve (ROC AUC) scoring function shows a reliable prediction accuracy scoreclearly greater than 69% for the decision tree classifier, doing an arithmeticmean formultiple cross-validationfolders.Figure4showsthisclassifierinactionasthesemesterprogresses.

Figure4:Predictionaccuracyonaweeklybasis.

Page 14: Using Keystroke Analytics to Improve Pass–Fail Classifiers

(2017). Using keystrokes analytics to improve pass-fail classifiers. Journal of Learning Analytics, 4(2), 189–211.http://dx.doi.org/10.18608/jla.2017.42.14

ISSN1929-7750(online).TheJournalofLearningAnalyticsworksunderaCreativeCommonsLicense,Attribution-NonCommercial-NoDerivs3.0Unported(CCBY-NC-ND3.0) 202

Of note in Figure 4 is the way in which, as the semester progresses, the accuracy of the classifierimproves.Therearetworelatedissueshere.Thefirstisthat,naturally,theclassifierimprovesasmoredata in the form of analytics from student activities arrives. The second is that student activity isgenerally back-loaded, in that they reserve most of their activity until just before the exam, so asignificantamountofdataisgeneratedverylateinthesemester.ThiscloselymatcheswhatisobservedintheactivitygraphinFigure3.

5.2 Linking Keystroke Metrics to Student Performance

InordertoanswerRQ1,itwasnecessarytocorrelatedigraphmeasurementswithstudentperformanceinthewrittenexam.Thesedigraphlatencymeasurementsareallbasedonthesamesetof111studentsovera17-weekperiod.Thereisawrittenexaminationattheendofthisperiodandafterthisexam,thecorrelation between the type-E digraphs observed and the student examination performance wasexamined. Roughly in line with the observations of Thomas et al. (2005), peak correlation of –0.412(withap-valueof6.84x10-6)wasobserved.

Table3:CorrelationwithexamperformanceWeek Correlation P-value0 –0.244 p<<0.051 –0.186 5.09x10-22 –0.245 p<<0.053 –0.321 p<<0.054 –0.345 p<<0.055 –0.346 p<<0.056 –0.395 p<<0.057 –0.378 p<<0.058 –0.376 p<<0.059 –0.381 p<<0.0510 –0.411 p<<0.0511 –0.412 p<<0.0512 –0.412 p<<0.0513 –0.411 p<<0.0514 –0.400 p<<0.0515 –0.401 p<<0.0516 –0.400 p<<0.05

InTable3,thecorrelationbetweenthedigraphmeasurementsobserveduptoaparticularweekandthestudents’ final written examination is presented. Traditionally, students are slow to sign up to theplatformandthisisevidentfromthetable,withlowcorrelationdatainthefirstfewweeks(andhigherp-values).Consultingthelogs, itbecameevidentthatitwasnotuntiltheendofweek6whenthelaststudenthadstartedtousetheplatform.

Page 15: Using Keystroke Analytics to Improve Pass–Fail Classifiers

(2017). Using keystrokes analytics to improve pass-fail classifiers. Journal of Learning Analytics, 4(2), 189–211.http://dx.doi.org/10.18608/jla.2017.42.14

ISSN1929-7750(online).TheJournalofLearningAnalyticsworksunderaCreativeCommonsLicense,Attribution-NonCommercial-NoDerivs3.0Unported(CCBY-NC-ND3.0) 203

Whatisparticularlyinterestingaboutthecorrelationisthat,althoughweaktomoderate,itisrelativelystable from week 6 until week 16. This is precisely the type of dimension required to improve theclassifier.While thestudents in this coursegenerallyexpendmostof theireffort in the last coupleofweeks,thereismorethanenoughactivityonthesystemearlyontoestablishtheirkeystrokepatternsthat,inturn,havesomepredictivepowerastohowtheywillperforminthefinalwrittenexamination.

5.3 Extended pass–fail classifier

To answer RQ2 and evaluate the potential improvement that keystroke analytics can provide to theaccuracy of the classifier, the basic classifier presented abovewas re-evaluated, this time adding thetype-E digraphmeasurements to the pre-existing dimensions. For eachweek, the cumulative digraphmeasurements up to that point were used as the digraph dimension. The new results are shown inFigure5.

Itisclearthattheadditionofthetype-Edigraphlatenciestotheclassifierimprovespredictionaccuracy.Onlyinweeks0,3,and5doestheoriginalclassifierdomarginallybetter.Asdiscussedearlier,thisisnotsurprisingsincethefullsetofdigraph latencies isn’tknownuntil theendofweek6.Overall, thepeakaccuracyofthenewclassifieris0.707vs0.693fortheoldclassifier.

Figure5:Improvedpredictionaccuracy.

Although the improvement in theaccuracyof theenhancedclassifier is relatively small (0.014)at theendofthemodule,itdoesmakeamoresignificantdifferenceoverallearlyinthesemester.Theaverageweek-by-weekimprovementthroughtheentiresemesteris0.028.Theimprovementintheclassifierinearlierweeks is important to factor in, as reliable classification of non-performing students needs totakeplaceasearlyaspossibletoallowenoughtimeforinterventionstobeputinplace.Figure6showstheconfusionmatrixforbothclassifiersattheendofthesemester.Thefractionalvaluesinthematrix

Page 16: Using Keystroke Analytics to Improve Pass–Fail Classifiers

(2017). Using keystrokes analytics to improve pass-fail classifiers. Journal of Learning Analytics, 4(2), 189–211.http://dx.doi.org/10.18608/jla.2017.42.14

ISSN1929-7750(online).TheJournalofLearningAnalyticsworksunderaCreativeCommonsLicense,Attribution-NonCommercial-NoDerivs3.0Unported(CCBY-NC-ND3.0) 204

ariseduetothek-foldcrossvalidationapproach(thematricesshownrepresentanaverageofanumberofmatrices).AsperFigure5,theextendedclassifiershowsanimprovementoverthebasicclassifier.Toestimatetheoverallimportanceofthekeystrokefeature,theGiniImportance(Breiman&Cutler,2008)ofthefeatureswascomputed.ThemostimportantfeaturesareshowninTable4whereitcanbeseenthattheaveragecomplexityofprogramsthatthestudentwritesremainsthemostimportantfeature.

Table4:MostimportantfeaturesGiniImportance FeatureDescription

0.288 Averagecomplexityofprogramscompiled0.165 Numberofsuccessfulcompilations0.143 Activityoutsidelabsessions0.079 Ratioofon-campustooff-campussessions0.075 Timespentviewingslides0.069 Type-Edigraphtime

Figure6.Confusionmatrixforbothclassifiersafterweek16.

6 DISCUSSION

While the approach taken to predict performance can be utilized elsewhere, it is worth noting howgeneralizable it is. The results presented are for one particular module, where low-level data fromprogrammingactionscanbecollectedfromacustom-builtplatform.Whileweareconfidenttheresultswouldextendtootherprogramminglanguages,ifthedatawerenotcollected,thenobviouslythesameapproachwouldnotwork.Therefore,carefulattentionwouldneedtobepaidtoprovidingstudentswithanappropriatelyinstrumentedplatformifsuchlow-leveldataisrequired.

Theresultscanalsobeaffectedbythedemographicsinvolved.Thosepresentedinthispaperarefromareasonably homogenous group, namely 2nd year undergraduate computer science studentswith over80%ofthegroupbeingmale. It isentirelypossiblethatthepredictivecapabilityoftheclassifiercouldchangewithadifferentormorediversedemographic.

n=111 Pass Fail n=111 Pass Fail

Pass 71 11.6 82.6 Pass 71.7 10.9 82.6

Fail 14 14.4 28.4 Fail 13.3 15.1 28.4

85 26 85 26

Actual

Pred

icted

Actual

Pred

icted

SimpleClassifier ExtendedClassifier

Page 17: Using Keystroke Analytics to Improve Pass–Fail Classifiers

(2017). Using keystrokes analytics to improve pass-fail classifiers. Journal of Learning Analytics, 4(2), 189–211.http://dx.doi.org/10.18608/jla.2017.42.14

ISSN1929-7750(online).TheJournalofLearningAnalyticsworksunderaCreativeCommonsLicense,Attribution-NonCommercial-NoDerivs3.0Unported(CCBY-NC-ND3.0) 205

Figure7:Cumulativeprogramcompilesoverthemodulelifetime.

Themostfundamentallimitationoftheapproachtakenintheplatformisthatonlyonlineactivitycanbemeasured.Itisnotpossibletosayanythingaboutmodule-relatedactivitythatstudentsperformoffline,suchaswrittenexercises.Althoughunlikelyinourcase,ifastudentwerehandwritingprogramsduringtheirstudies,thecurrentplatformcannotcapturethis.Arelatedissueisthat,inorderfortheclassifiertobeaccurate,theremustbesufficientdataavailable.Forthemodule inquestion,studentsbackloadtheirworksignificantly.AscanbeseeninFigure7,itisnotuntilweek7thatstudentsstarttocompileprogramsinsignificantamounts.Attheendofweek6,only22%ofthefinaltallyofcompiledprogramshadbeenreached.Bytheendofweek7,thishadreached52%.Upuntilthatpointthereissimplynotenoughdata in the system to build a reliable classifier.On this basis, a reasonable time to intervenewouldbethemidpointofthe16weekperiod,justafterweek8.Figure8showstheconfusionmatrixforthetwoclassifiersatthispoint.

Figure8:Confusionmatrixforbothclassifiersafterweek8.

Thereisroomtoimprovetheperformanceoftheclassifierfurther.Todothis,wecanutilizeanumberofstrategies.Onepromisingapproach,givendatathatiscurrentlyavailable,istoexaminetheprograms

Page 18: Using Keystroke Analytics to Improve Pass–Fail Classifiers

(2017). Using keystrokes analytics to improve pass-fail classifiers. Journal of Learning Analytics, 4(2), 189–211.http://dx.doi.org/10.18608/jla.2017.42.14

ISSN1929-7750(online).TheJournalofLearningAnalyticsworksunderaCreativeCommonsLicense,Attribution-NonCommercial-NoDerivs3.0Unported(CCBY-NC-ND3.0) 206

thatstudentssuccessfullywrite.It ispossibletodeterminewhenastudentemploysaconceptsuchasloopsforthefirsttime.Theapproachisparticularlyinterestingfromapedagogicalpointofviewasitiseasiertolinktocoursematerialandstructure(asopposedtosuccessfulcompilationsortype-Edigraphtimings). Justification for investigating time-related features can be found in the behaviour of theclassifierbetweenweeks4to7(Figure5),asthepredictivepoweroftheclassifieractuallydiminishes.Preliminaryinvestigationssuggestthattheclassifierdoesquitewellaroundweek4sinceitisessentiallyrecognizingearlyusersofthesystem(andearlyuserstendtocorrelatewithbetterperformersforthismodule).Insubsequentweeks,additionaldatafromlaterusersofthesystemisincludedintheclassifierfeatures, thus “diluting” the capability of the classifier to spot early adopters. Thus, examining time-related features and preventing this “dilution” has the potential to improve classifier performanceconsiderably.

Including lab grades in the prediction can further enhance the predictive ability of the classifier. Thetype-E digraph timings used in this paper could also be refined. At present, all tokens (words in theprogramming language) are treated equally, but itmaywell be the case that some tokens aremoredifficult to recall. Applying different weightings to these may yield a more useful dimension for theperformanceclassifier.

The best point atwhich to intervene is a complex topic, informedby classifier accuracy and also thespecificsof themodulebeingtaught.Generallyspeaking, thebest timeto intervene is thetimewhentheclassifiercanyieldreasonableaccuracy.Morespecifically,oneshouldinterveneasearlyaspossible,onceat-risk studentshavebeen identifiedaccurately. For thisparticularmodule, thiswouldbewhensufficientdatahasbeencollectedtoensureclassifieraccuracy.Thatwouldseemtobearoundweek7.Ideally, to allow even earlier identification of at-risk students, we should attempt to structure thelearning so that students front-load their online work, allowing us to acquire the data that wouldidentify at-risk students earlier.Whilewe cannot recommend a particularweek or point atwhich tointerveneingeneral,thisisthemainrecommendationtoidentifyat-riskstudentsearly,anditisobviousinretrospect:getstudentsusingtheonlinesystemasearlyandasintensivelyaspossible.

7 CONCLUSION

Though the focus of thiswork is on showing that keystrokemetrics can contribute tomore accuratepass–fail classifiers, it isworthnoting that the featureproviding thegreatestpredictionaccuracywasthatofprogramcomplexity.ThisfeaturewasobtainedusingatechniqueoutlinedbyJbaraandFeitelson(2014)where the lengthof thecompressedcodewasusedasaproxy for thecomplexityof thecodestudentswrite. However, this ismerely an approximation for program complexity, so futurework inimprovingthisfeaturehasthepotentialtoyieldsubstantialbenefits.

While many other dimensions could be added to the classifier, keystroke digraphs are particularlyinteresting.Most importantly, they are relatively stable. Type-E digraph latencies do not vary hugelyfrom the time they are first accurately measured. In contrast with other dimensions, such as the

Page 19: Using Keystroke Analytics to Improve Pass–Fail Classifiers

(2017). Using keystrokes analytics to improve pass-fail classifiers. Journal of Learning Analytics, 4(2), 189–211.http://dx.doi.org/10.18608/jla.2017.42.14

ISSN1929-7750(online).TheJournalofLearningAnalyticsworksunderaCreativeCommonsLicense,Attribution-NonCommercial-NoDerivs3.0Unported(CCBY-NC-ND3.0) 207

complexityofprogramsthatstudentswrite(whichnaturallyincreasesovertimeasstudentslearn),itisanidealearly-indicator.

Notonlybeingagoodearlyindicator,digraphlatenciesalsocontributesomethingdifferentthanotherdimensionsthatreflecteffortexpendedbythestudent,suchastimespentontheplatformorprogramscompiled. Digraph latencies measure something intrinsic in the student abilities and, as such, are avaluableadjuncttothesestudent-effortrelateddimensions.

Thereisalsoscopeforimprovingthedigraphlatenciesused.Forexample,anumberofdifferentoptionssuchasdistinguishingbetweenleadingedgeandtrailingedgetype-Edigraphswereexplored,butthesedid not contribute to classifier accuracy. Keystroke latencieswere also adjusted to eliminate generaltypingspeedasafactor,butagain,thesedidnotimprovetheaccuracyoftheclassifier.Futureworkwillexplorethesevariationsfurther.

Itcouldbearguedthatthelanguageused(anx86-likeassembly)mayalsoplayasignificantroleinthepredictive power of these digraphs. Typically there is a limited selection of short tokens in theseassemblylanguages.Comparingthepredictivepowerofdigraphlatenciesofsuchalanguagewiththatof the latencies from a typical higher level language such as Java with more (and longer) tokens isdesirable.Studies conductedbyThomasetal. (2005),where theauthors investigated type-Edigraphsfor Java andAda, show similar results. Thus, type-E digraphs are useful acrossmultiple programminglanguagesofvaryingsyntacticstructureandverbosity.

Ifsuchkeystrokedataisavailable,wehaveshownthatitisworthincorporatingkeystrokeanalyticsforimproving the accuracy of such pass–fail classification systems. Improving this accuracy early in thesemester, as keystroke analysis permits us to do, is critical to improving theopportunity for targetedinterventionand,consequently,increasedstudentretention.

REFERENCES

Ahadi, A., Lister, R., Haapala, H., & Vihavainen, A. (2015). Exploring machine learning methods toautomatically identify students in need of assistance. Proceedings of the 11th AnnualInternational Conference on International Computing EducationResearch (ICER ’15), 9–13 July2015, Omaha, Nebraska, USA (pp. 121–130). New York: ACM.http://dx.doi.org/10.1145/2787622.2787717

Anderson,M.R.,Antenucci,D.,Bittorf,V.,Burgess,M.,Cafarella,M.J.,Kumar,A.,Niu,F.,Park,Y.,Ré,C.,& Zhang, C. (2013). Brainwash: A data system for feature engineering.Proceedings of the 6thBiennial Conference on Innovative Data Systems Research (CIDR ’13) 6–9 January 2013,Asilomar, California, USA.http://www.cs.stanford.edu/people/chrismre/papers/mythical_man.pdf

Arnold, K. E., & Pistilli, M. D. (2012). Course Signals at Purdue: Using learning analytics to increasestudent success. Proceedings of the 2nd International Conference on Learning Analytics and

Page 20: Using Keystroke Analytics to Improve Pass–Fail Classifiers

(2017). Using keystrokes analytics to improve pass-fail classifiers. Journal of Learning Analytics, 4(2), 189–211.http://dx.doi.org/10.18608/jla.2017.42.14

ISSN1929-7750(online).TheJournalofLearningAnalyticsworksunderaCreativeCommonsLicense,Attribution-NonCommercial-NoDerivs3.0Unported(CCBY-NC-ND3.0) 208

Knowledge (LAK ʼ12), 29April–2May 2012, Vancouver, BC, Canada (pp. 267–270).NewYork:ACM.http://dx.doi.org/10.1145/2330601.2330666

Baker,R.S.,Gowda,S.,&Corbett,A.(2010).Automaticallydetectingastudent’spreparationforfuturelearning:Helpuseiskey.InM.Pechenizkiyetal.(Eds.),Proceedingsofthe4thAnnualConferenceonEducationalDataMining(EDM2011),6–8July2011,Eindhoven,Netherlands(pp.179–188).InternationalEducationalDataMiningSociety.

Baker, R. S., Gowda, S. M., & Corbett, A. T. (2011). Towards predicting future transfer of learning.International Conference on Artificial Intelligence in Education (pp. 23–30). Lecture Notes inComputerSciencevol.6738.SpringerBerlinHeidelberg.doi:10.1007/978-3-642-21869-9_6

Baur,N.(2006).Microprocessorsimulatorforstudents.Availableat:http://tinyurl.com/5pyhnkBeal,C.R.,Walles,R.,Arroyo,I.,&Woolf,B.P.(2007).On-linetutoringformathachievementtesting:A

controlledevaluation.JournalofInteractiveOnlineLearning,6(1),43–55.Beaubouef, T., &Mason, J. (2005).Why the high attrition rate for computer science students: Some

thoughts and observations. ACM SIGCSE Bulletin, 37(2), 103–106.http://dx.doi.org/10.1145/1083431.1083474

Becker, B.A. (2015).Anexplorationof the effects of enhanced compiler errormessages for computerprogrammingnovices(Master’sdissertation).DublinInstituteofTechnology.

Becker, B. A., Glanville, G., Iwashima, R., McDonnell, C., Goslin, K., & Mooney, C. (2016). Effectivecompiler error message enhancement for novice programming students. Computer ScienceEducation26(2),148–175.http://dx.doi.org/10.1080/08993408.2016.1225464

Bergadano,F.,Gunetti,D.,&Picardi,C.(2003).Identityverificationthroughdynamickeystrokeanalysis.IntelligentDataAnalysis,7(5),469–496.

Berland, M., Martin, T., Benton, T., Petrick Smith, C., & Davis, D. (2013). Using learning analytics tounderstand the learning pathways of novice programmers. Journal of the Learning Sciences,22(4),564–599.http://dx.doi.org/10.1080/10508406.2013.836655

Biggers,M.,Brauer,A.,&Yilmaz,T.(2008).Studentperceptionsofcomputerscience:AretentionstudycomparinggraduatingseniorswithCSleavers.ACMSIGCSEBulletin,40(1),402–406.

Breiman, L., & Cutler, A. (2008). Random forests. http://www.stat.berkeley.edu/~breiman/RandomForests

Breiman,L.,Friedman,J.H.,Olshen,R.A.,&Stone,C.J.(1984).Classificationandregressiontrees(CART)Belmont,CA:WadsworthInternationalGroup.

Breslow,L.,Pritchard,D.E.,DeBoer,J.,Stump,G.S.,Ho,A.D.,&Seaton,D.T.(2013).Studyinglearningintheworldwideclassroom:ResearchintoedX’sfirstMOOC.Research&PracticeinAssessment,8,13–25.http://www.rpajournal.com/dev/wp-content/uploads/2013/05/SF2.pdf

Brown,N.C.C.,Kölling,M.,McCall,D.,&Utting, I. (2014).Blackbox:Alargescalerepositoryofnoviceprogrammers’activity.Proceedingsofthe45thACMTechnicalSymposiumonComputerScienceEducation(SIGCSE’14),5–8March2014,Atlanta,Georgia,USA(pp.223–228).NewYork:ACM.http://dx.doi.or/10.1145/2538862.2538924

Page 21: Using Keystroke Analytics to Improve Pass–Fail Classifiers

(2017). Using keystrokes analytics to improve pass-fail classifiers. Journal of Learning Analytics, 4(2), 189–211.http://dx.doi.org/10.18608/jla.2017.42.14

ISSN1929-7750(online).TheJournalofLearningAnalyticsworksunderaCreativeCommonsLicense,Attribution-NonCommercial-NoDerivs3.0Unported(CCBY-NC-ND3.0) 209

Casey, K., & Gibson, P. (2010). Mining Moodle to understand student behaviour. InternationalConferenceonEngagingPedagogy(ICEP10),NationalUniversityofIrelandMaynooth.Retrievedfromhttp://www-public.tem-tsp.eu/~gibson/Research/Publications/E-Copies/ICEP10.pdf

Caspersen, M. E., & Bennedsen, J. (2007). Instructional design of a programming course: A learningtheoretic approach. Proceedings of the 3rd International Workshop on Computing EducationResearch (ICER ’07), 15–16 September 2007, Atlanta, Georgia, USA (pp. 111–122). New York:ACM.http://dx.doi.org/10.1145/1288580.1288595

Champaign,J.,Colvin,K.F.,Liu,A.,Fredericks,C.,Seaton,D.,&Pritchard,D.E.(2014).Correlatingskilland improvement in 2 MOOCs with a student’s time on tasks. Proceedings of the 1st ACMConferenceonLearning@Scale (L@S2014),4–5March2014,Atlanta,Georgia,USA (pp.11–20).NewYork:ACM.http://dx.doi.org/10.1145/2556325.2566250

Davis, J. (2011). CompTIA: 400K IT jobs unfilled. Channel Insider, 2 August 2011.http://tinyurl.com/ca699dr

Dowland,P. S.,&Furnell, S.M. (2004).A long-term trialof keystrokeprofilingusingdigraph, trigraphand keyword latencies. IFIP International Information Security Conference (pp. 275–289).SpringerUS.http://dx.doi.org/10.1007/1-4020-8143-X_18

Edwards, S. (2013). Continuous Data-driven Learning Assessment. In Future Directions in ComputingEducation Summit White Papers (SC1186). Stanford, CA: Special Collections and UniversityArchives,StanfordUniversityLibraries.http://tinyurl.com/jep5vgt

Epp, C., Lippold,M., &Mandryk, R. L. (2011). Identifying emotional states using keystroke dynamics.ProceedingsoftheSIGCHIConferenceonHumanFactors inComputingSystems (CHI ʼ11),7–12May 2011, Vancouver, BC, Canada (pp. 715–724). New York: ACM.http://dx.doi.org/10.1145/1978942.1979046

Feng,M.,Heffernan,N.T.,&Koedinger,K.R.(2006).Predictingstatetestscoresbetterwithintelligenttutoringsystems:Developingmetricstomeasureassistancerequired.InM.Ikeda,K.Ashlay,T.-W.Chan(Eds.),Proceedingsofthe8th InternationalConferenceon IntelligentTutoringSystems(ITS2006),26–30June2006,Jhongli,Taiwan(pp.31–40).SpringerBerlinHeidelberg.

Ferreira,D.(2013).InstantHTML5PresentationsHow-to.Birmingham,UK:PacktPublishing.Garner, S. (2002). Reducing the cognitive load on novice programmers. In P. Barker & S. Rebelsky

(Eds.),Proceedings of the 14th World Conference on Educational Multimedia, Hypermedia &Telecommunications(ED-MEDIA2002),24–29June2002,Denver,Colorado,USA(pp.578–583).AssociationfortheAdvancementofComputinginEducation(AACE).

Jbara, A., & Feitelson, D. G. (2014). Quantification of code regularity using preprocessing andcompression.http://www.cs.huji.ac.il/~feit/papers/RegMet14.pdf

Kelly,D.,&Thorn,K.(2013,March).ShouldinstructionaldesignerscareabouttheTinCanAPI?eLearnMagazine.http://elearnmag.acm.org/archive.cfm?aid=2446579.

Kramer,O.(2016).Machinelearninginevolutionstrategies(Vol.20).SpringerBerlinHeidelberg.Lang, C., McKay, J., & Lewis, S. (2007). Seven factors that influence ICT student achievement. ACM

SIGCSEBulletin,39(3),221–225).http://dx.doi.org/10.1145/1268784.1268849

Page 22: Using Keystroke Analytics to Improve Pass–Fail Classifiers

(2017). Using keystrokes analytics to improve pass-fail classifiers. Journal of Learning Analytics, 4(2), 189–211.http://dx.doi.org/10.18608/jla.2017.42.14

ISSN1929-7750(online).TheJournalofLearningAnalyticsworksunderaCreativeCommonsLicense,Attribution-NonCommercial-NoDerivs3.0Unported(CCBY-NC-ND3.0) 210

Lister,R. (2008).After thegoldrush:Towardsustainablescholarship incomputing.Proceedingsof the10th Conference on Australasian Computing Education (ACE ’08), Vol. 78, 1 January 2008,Wollongong,NSW,Australia(pp.3–17).Darlinghurst,Australia:AustralianComputerSociety.

Liu, D., & Xu, S. (2011). An Empirical Study of Programming Performance Based on KeystrokeCharacteristics. Computer and Information Science, 2011 (pp. 59–72). Springer BerlinHeidelberg.http://dx.doi.org/10.1007/978-3-642-21378-6_5

Longi, K., Leinonen, J., Nygren, H., Salmi, J., Klami, A., & Vihavainen, A. (2015). Identification ofprogrammersfromtypingpatterns.Proceedingsofthe15thKoliCallingInternationalConferenceon Computing Education Research (Koli Calling ’15), 19–22November 2015, Koli, Finland (pp.60–67),NewYork:ACM.http://dx.doi.org/10.1145/2828959.2828960

Miller, G. A. (1956). Themagical number seven, plus orminus two: Some limits on our capacity forprocessinginformation.PsychologicalReview,63(2),81.

Ochoa,X.,Chiluiza,K.,Méndez,G.,Luzardo,G.,Guamán,B.,&Castells, J. (2013).Expertiseestimationbasedonsimplemultimodalfeatures.Proceedingsofthe15thACMInternationalConferenceonMultimodalInteraction(ICMI’13),9–13December2013,Sydney,Australia(pp.583–590).NewYork:ACM.http://dx.doi.org/10.1145/2522848.2533789

O’Kelly, J.,Bergin, S.,Dunne, S.,Gaughran,P.,Ghent, J.,&Mooney,A. (2004a). Initial findingson theimpactofanalternativeapproachtoproblembasedlearningincomputerscience.ProceedingsofthePBLInternationalConference,Cancun,Mexico,June,2004.

O’Kelly,J.,Mooney,A.,Bergin,S.,Gaughran,P.,&Ghent,J.(2004b).Anoverviewoftheintegrationofproblembasedlearningintoanexistingcomputerscienceprogrammingmodule.ProceedingsofthePBLInternationalConference,Cancun,Mexico,June,2004.

Pardos,Z.,Bergner,Y.,Seaton,D.,&Pritchard,D.(2013,July).AdaptingBayesianknowledgetracingtoamassive open online course in edx. In S. K. DʼMello et al. (Eds.), Proceedings of the 6thInternationalConferenceonEducationalDataMining(EDM2013),6–9July2013,Memphis,TN,USA(pp.137–144).InternationalEducationalDataMiningSociety/Springer.

Quinlan, J. R. (1996). Bagging, boosting, and C4.5. Proceedings of the 13th National Conference onArtificial Intelligence (AAAI’96),4–8August1996,Portland,Oregon,USA(Vol.1,pp.725–730).PaloAlto,CA:AAAIPress.http://dx.doi.org/10.1243/095440505X32274

Refaeilzadeh,P.,Tang,L.,&Liu,H.(2009).Cross-validation.EncyclopediaofDatabaseSystems,pp.532–538.Springer.

Ragan-Kelley,M.,Perez,F.,Granger,B.,Kluyver,T.,Ivanov,P.,Frederic,J.,&Bussonier,M.(2014).TheJupyter/IPython architecture: A unified view of computational research, from interactiveexploration to communication and publication. American Geophysical Union, Fall MeetingAbstracts,#H44D-07(Vol.1,p.7).

Romero-Zaldivar,V.A.,Pardo,A.,Burgos,D.,&Kloos,C.D. (2012).Monitoringstudentprogressusingvirtual appliances: A case study. Computers & Education, 58(4), 1058–1067.https://dx.doi.org/10.1016/j.compedu.2011.12.003

Scheffel,M.,Niemann,K.,Leony,D.,Pardo,A.,Schmitz,H.C.,Wolpers,M.,&Kloos,C.D.(2012).Keyaction extraction for learning analytics. Proceedings of the7th European Conference on

Page 23: Using Keystroke Analytics to Improve Pass–Fail Classifiers

(2017). Using keystrokes analytics to improve pass-fail classifiers. Journal of Learning Analytics, 4(2), 189–211.http://dx.doi.org/10.18608/jla.2017.42.14

ISSN1929-7750(online).TheJournalofLearningAnalyticsworksunderaCreativeCommonsLicense,Attribution-NonCommercial-NoDerivs3.0Unported(CCBY-NC-ND3.0) 211

Technology Enhanced Learning (EC-TEL 2012), 18–21 September 2012, Saarbrücken, Germany(pp.320–333).SpringerBerlinHeidelberg.http://dx.doi.org/10.1007/978-3-642-33263-0_25

Siemens, G., & Long, P. (2011). Penetrating the fog: Analytics in learning and education. EDUCAUSEReview,46(5),30.

Slonim,J.,Scully,S.,&McAllister,M.(2008).CrossroadsforCanadianCSenrollment.CommunicationsoftheACM,51(10),66–70.http://dx.doi.org/10.1145/1400181.1400199

Teague, D., & Roe, P. (2007). Learning to program: Going pair-shaped. Innovation in Teaching andLearning in Information and Computer Sciences, 6(4), 4–22.http://dx.doi.org/10.11120/ital.2007.06040004

Thibodeau, P. (2011). Romney sees tech skills shortage:MoreH-1B visas needed.ComputerWorld, 7September2011.http://tinyurl.com/76l4qxo

Thomas, R. C., Karahasanovic, A., & Kennedy, G. E. (2005). An investigation into keystroke latencymetrics as an indicator of programming performance. Proceedings of the 7th AustralasianConferenceonComputingEducation(ACE’05),Vol.42,January/February2005,Newcastle,NewSouthWales,Australia(pp.127–134).Darlinghurst,Australia:AustralianComputerSociety.

Yousoof,M.,Sapiyan,M.,&Kamaluddin,K.(2007).Measuringcognitiveload:Asolutiontoeaselearningofprogramming.WorldAcademyofScience,EngineeringandTechnology,26,216–219.

Yuan, K., Steedle, J., Shavelson, R., Alonzo, A., & Oppezzo, M. (2006). Working memory, fluidintelligence, and science learning. Educational Research Review, 1(2), 83–98.https://dx.doi.org/10.1016/j.edurev.2006.08.005


Recommended