{"id":"https://openalex.org/W3135342783","doi":"https://doi.org/10.1145/3408877.3432481","title":"A Specification Language for Matching Mistake Patterns with Feedback","display_name":"A Specification Language for Matching Mistake Patterns with Feedback","publication_year":2021,"publication_date":"2021-03-03","ids":{"openalex":"https://openalex.org/W3135342783","doi":"https://doi.org/10.1145/3408877.3432481","mag":"3135342783"},"language":"en","primary_location":{"id":"doi:10.1145/3408877.3432481","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3408877.3432481","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 52nd ACM Technical Symposium on Computer Science Education","raw_type":"proceedings-article"},"type":"conference-paper","indexed_in":["crossref"],"open_access":{"is_oa":false,"oa_status":"closed","oa_url":null,"any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5061187158","display_name":"Jesse Harden","orcid":"https://orcid.org/0009-0000-7827-1327"},"institutions":[{"id":"https://openalex.org/I859038795","display_name":"Virginia Tech","ror":"https://ror.org/02smfhw86","country_code":"US","type":"education","lineage":["https://openalex.org/I859038795"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Jesse Harden","raw_affiliation_strings":["Virginia Polytechnic Institute and State University, Blacksburg, VA, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Virginia Polytechnic Institute and State University, Blacksburg, VA, USA","institution_ids":["https://openalex.org/I859038795"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5047572548","display_name":"Luke Gusukuma","orcid":"https://orcid.org/0000-0001-9012-4127"},"institutions":[{"id":"https://openalex.org/I859038795","display_name":"Virginia Tech","ror":"https://ror.org/02smfhw86","country_code":"US","type":"education","lineage":["https://openalex.org/I859038795"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Luke Gusukuma","raw_affiliation_strings":["Virginia Polytechnic Institute and State University, Blacksburg, VA, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Virginia Polytechnic Institute and State University, Blacksburg, VA, USA","institution_ids":["https://openalex.org/I859038795"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5007917779","display_name":"Austin Cory Bart","orcid":"https://orcid.org/0000-0003-1517-329X"},"institutions":[{"id":"https://openalex.org/I86501945","display_name":"University of Delaware","ror":"https://ror.org/01sbq1a82","country_code":"US","type":"education","lineage":["https://openalex.org/I86501945"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Austin Cory Bart","raw_affiliation_strings":["University of Delaware, Newark, DE, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of Delaware, Newark, DE, USA","institution_ids":["https://openalex.org/I86501945"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5020453711","display_name":"Dennis Kafura","orcid":null},"institutions":[{"id":"https://openalex.org/I859038795","display_name":"Virginia Tech","ror":"https://ror.org/02smfhw86","country_code":"US","type":"education","lineage":["https://openalex.org/I859038795"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Dennis Kafura","raw_affiliation_strings":["Virginia Polytechnic Institute and State University, Blacksburg, VA, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Virginia Polytechnic Institute and State University, Blacksburg, VA, USA","institution_ids":["https://openalex.org/I859038795"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":2,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":0.632,"has_fulltext":false,"cited_by_count":2,"citation_normalized_percentile":{"value":0.57489703,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":89,"max":94},"biblio":{"volume":null,"issue":null,"first_page":"555","last_page":"561"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10533","display_name":"Teaching and Learning Programming","score":0.9994000196456909,"subfield":{"id":"https://openalex.org/subfields/1706","display_name":"Computer Science Applications"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},"topics":[{"id":"https://openalex.org/T10533","display_name":"Teaching and Learning Programming","score":0.9994000196456909,"subfield":{"id":"https://openalex.org/subfields/1706","display_name":"Computer Science Applications"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T10743","display_name":"Software Testing and Debugging Techniques","score":0.998199999332428,"subfield":{"id":"https://openalex.org/subfields/1712","display_name":"Software"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9952999949455261,"subfield":{"id":"https://openalex.org/subfields/1708","display_name":"Hardware and Architecture"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}}],"keywords":[{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8488163352012634},{"id":"https://openalex.org/keywords/python","display_name":"Python (programming language)","score":0.7666590809822083},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.7663446664810181},{"id":"https://openalex.org/keywords/mistake","display_name":"Mistake","score":0.6820881366729736},{"id":"https://openalex.org/keywords/pattern-matching","display_name":"Pattern matching","score":0.5011603832244873},{"id":"https://openalex.org/keywords/code","display_name":"Code (set theory)","score":0.48834559321403503},{"id":"https://openalex.org/keywords/specification-language","display_name":"Specification language","score":0.4745790958404541},{"id":"https://openalex.org/keywords/high-level-programming-language","display_name":"High-level programming language","score":0.4664909839630127},{"id":"https://openalex.org/keywords/software-design-pattern","display_name":"Software design pattern","score":0.455271452665329},{"id":"https://openalex.org/keywords/matching","display_name":"Matching (statistics)","score":0.4370112717151642},{"id":"https://openalex.org/keywords/low-level-programming-language","display_name":"Low-level programming language","score":0.41602492332458496},{"id":"https://openalex.org/keywords/programming-language-implementation","display_name":"Programming language implementation","score":0.4149419069290161},{"id":"https://openalex.org/keywords/software-engineering","display_name":"Software engineering","score":0.3298895061016083},{"id":"https://openalex.org/keywords/programming-paradigm","display_name":"Programming paradigm","score":0.23338407278060913},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.1727394163608551},{"id":"https://openalex.org/keywords/fifth-generation-programming-language","display_name":"Fifth-generation programming language","score":0.14042717218399048},{"id":"https://openalex.org/keywords/programming-domain","display_name":"Programming domain","score":0.08777624368667603}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8488163352012634},{"id":"https://openalex.org/C519991488","wikidata":"https://www.wikidata.org/wiki/Q28865","display_name":"Python (programming language)","level":2,"score":0.7666590809822083},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.7663446664810181},{"id":"https://openalex.org/C2777179996","wikidata":"https://www.wikidata.org/wiki/Q911222","display_name":"Mistake","level":2,"score":0.6820881366729736},{"id":"https://openalex.org/C68859911","wikidata":"https://www.wikidata.org/wiki/Q1503724","display_name":"Pattern matching","level":2,"score":0.5011603832244873},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.48834559321403503},{"id":"https://openalex.org/C201677973","wikidata":"https://www.wikidata.org/wiki/Q1209840","display_name":"Specification language","level":2,"score":0.4745790958404541},{"id":"https://openalex.org/C19024347","wikidata":"https://www.wikidata.org/wiki/Q211496","display_name":"High-level programming language","level":3,"score":0.4664909839630127},{"id":"https://openalex.org/C146054899","wikidata":"https://www.wikidata.org/wiki/Q181156","display_name":"Software design pattern","level":3,"score":0.455271452665329},{"id":"https://openalex.org/C165064840","wikidata":"https://www.wikidata.org/wiki/Q1321061","display_name":"Matching (statistics)","level":2,"score":0.4370112717151642},{"id":"https://openalex.org/C124577441","wikidata":"https://www.wikidata.org/wiki/Q558937","display_name":"Low-level programming language","level":5,"score":0.41602492332458496},{"id":"https://openalex.org/C201997060","wikidata":"https://www.wikidata.org/wiki/Q4117406","display_name":"Programming language implementation","level":5,"score":0.4149419069290161},{"id":"https://openalex.org/C115903868","wikidata":"https://www.wikidata.org/wiki/Q80993","display_name":"Software engineering","level":1,"score":0.3298895061016083},{"id":"https://openalex.org/C34165917","wikidata":"https://www.wikidata.org/wiki/Q188267","display_name":"Programming paradigm","level":2,"score":0.23338407278060913},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.1727394163608551},{"id":"https://openalex.org/C199305712","wikidata":"https://www.wikidata.org/wiki/Q3205914","display_name":"Fifth-generation programming language","level":3,"score":0.14042717218399048},{"id":"https://openalex.org/C119263510","wikidata":"https://www.wikidata.org/wiki/Q7248501","display_name":"Programming domain","level":4,"score":0.08777624368667603},{"id":"https://openalex.org/C177264268","wikidata":"https://www.wikidata.org/wiki/Q1514741","display_name":"Set (abstract data type)","level":2,"score":0.0},{"id":"https://openalex.org/C61714564","wikidata":"https://www.wikidata.org/wiki/Q7661185","display_name":"Symbolic programming","level":4,"score":0.0},{"id":"https://openalex.org/C199539241","wikidata":"https://www.wikidata.org/wiki/Q7748","display_name":"Law","level":1,"score":0.0},{"id":"https://openalex.org/C105795698","wikidata":"https://www.wikidata.org/wiki/Q12483","display_name":"Statistics","level":1,"score":0.0},{"id":"https://openalex.org/C17744445","wikidata":"https://www.wikidata.org/wiki/Q36442","display_name":"Political science","level":0,"score":0.0},{"id":"https://openalex.org/C50033165","wikidata":"https://www.wikidata.org/wiki/Q15712089","display_name":"Inductive programming","level":3,"score":0.0},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/3408877.3432481","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3408877.3432481","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 52nd ACM Technical Symposium on Computer Science Education","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[{"display_name":"Quality Education","score":0.7699999809265137,"id":"https://metadata.un.org/sdg/4"}],"awards":[{"id":"https://openalex.org/G2126718450","display_name":"A Scaffolded Data-Centric Approach to Improved Learning of Introductory Computing Concepts","funder_award_id":"1624320","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"}],"funders":[{"id":"https://openalex.org/F4320306076","display_name":"National Science Foundation","ror":"https://ror.org/021nxhr62"}],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":15,"referenced_works":["https://openalex.org/W264407662","https://openalex.org/W2012312630","https://openalex.org/W2018058615","https://openalex.org/W2097679245","https://openalex.org/W2120932048","https://openalex.org/W2246775628","https://openalex.org/W2605403059","https://openalex.org/W2788496235","https://openalex.org/W2791302163","https://openalex.org/W2886150761","https://openalex.org/W2894540915","https://openalex.org/W2914049261","https://openalex.org/W2916351062","https://openalex.org/W3009524441","https://openalex.org/W4234696921"],"related_works":["https://openalex.org/W2970584952","https://openalex.org/W1849651812","https://openalex.org/W2376978878","https://openalex.org/W2360705725","https://openalex.org/W2142332592","https://openalex.org/W2678467022","https://openalex.org/W4301347183","https://openalex.org/W2392549939","https://openalex.org/W2008516155","https://openalex.org/W2133376498"],"abstract_inverted_index":{"Pattern-based":[0],"feedback":[1,11,48],"detects":[2],"incorrect":[3],"code":[4,59],"patterns":[5],"in":[6],"students'":[7],"programs":[8],"and":[9,64,69,87],"provides":[10],"that":[12,51],"can":[13],"be":[14,37,106],"personalized":[15],"to":[16],"the":[17,20,33,61,78,79],"details":[18],"of":[19,27],"matched":[21],"code.":[22],"Currently,":[23],"a":[24,109],"high":[25],"level":[26],"instructor":[28],"effort":[29],"is":[30,49,71,84,98],"required":[31],"because":[32],"pattern":[34],"detection":[35],"must":[36],"expressed":[38],"using":[39,108],"complex":[40],"programmatic":[41],"interfaces.":[42],"A":[43],"specification":[44],"language":[45,80],"for":[46],"pattern-based":[47],"presented":[50],"mitigates":[52],"this":[53],"cost.":[54],"Examples":[55],"from":[56,90],"actual":[57],"student":[58],"illustrate":[60],"language's":[62,67],"design":[63],"expressiveness.":[65],"The":[66],"implementation":[68,97],"testing":[70],"briefly":[72],"described.":[73],"Reflections":[74],"are":[75],"given":[76],"on":[77],"design,":[81],"where":[82],"it":[83],"effectively":[85],"used,":[86],"lessons":[88],"learned":[89],"experience":[91],"with":[92],"its":[93],"use.":[94],"While":[95],"our":[96],"targeted":[99,107],"at":[100],"Python,":[101],"other":[102],"programming":[103],"languages":[104],"could":[105],"similar":[110],"approach.":[111]},"counts_by_year":[{"year":2023,"cited_by_count":1},{"year":2022,"cited_by_count":1}],"updated_date":"2026-08-06T08:24:18.245995","created_date":"2025-10-10T00:00:00"}
