Delaney Moore, John Edwards, Hamid Karimi, Rajiv Khadka, P. Bodily
{"title":"Temporal Abstract Syntax Trees for Understanding Student Coding Thought Process","authors":"Delaney Moore, John Edwards, Hamid Karimi, Rajiv Khadka, P. Bodily","doi":"10.1109/ietc54973.2022.9796943","DOIUrl":null,"url":null,"abstract":"In computer science (CS) academia it can be a challenge to help beginning students develop the thought process to be a successful software engineer. Although code is implemented in a linear manner, the mental construction and problem solving process is commonly nonlinear, requiring a high-level vision of class structures, control flow, etc., before any code is physically written. This concept can be difficult for beginning CS students to comprehend and use in their own coding projects. We provide a visualization that aims to help students more easily understand the coding thought process. This is accomplished by collecting keystroke data and incorporating it into an abstract syntax tree (AST), which creates a temporal AST. We provide the necessary information to prove that this visualization exists for any student’s project where keystroke data is collected. We also refer to another type of keystroke visualization known as a Code Process Chart (CPC) that provided inspiration for the temporal AST. The goal is to eventually use these temporal ASTs alongside their corresponding CPCs to help students understand and improve their own coding thought process.","PeriodicalId":251518,"journal":{"name":"2022 Intermountain Engineering, Technology and Computing (IETC)","volume":"42 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2022-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2022 Intermountain Engineering, Technology and Computing (IETC)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/ietc54973.2022.9796943","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0
Abstract
In computer science (CS) academia it can be a challenge to help beginning students develop the thought process to be a successful software engineer. Although code is implemented in a linear manner, the mental construction and problem solving process is commonly nonlinear, requiring a high-level vision of class structures, control flow, etc., before any code is physically written. This concept can be difficult for beginning CS students to comprehend and use in their own coding projects. We provide a visualization that aims to help students more easily understand the coding thought process. This is accomplished by collecting keystroke data and incorporating it into an abstract syntax tree (AST), which creates a temporal AST. We provide the necessary information to prove that this visualization exists for any student’s project where keystroke data is collected. We also refer to another type of keystroke visualization known as a Code Process Chart (CPC) that provided inspiration for the temporal AST. The goal is to eventually use these temporal ASTs alongside their corresponding CPCs to help students understand and improve their own coding thought process.