{"id":{"repo_id":"uiuc","oai_identifier":"oai:www.ideals.illinois.edu:2142/132550"},"canonical_url":"https://search.dev.ndltd.org/etd/uiuc/oai:www.ideals.illinois.edu:2142/132550","repository":{"repo_id":"uiuc","name":"University of Illinois - Urbana-Champaign","base_url":"https://www.ideals.illinois.edu/oai-pmh"},"display":{"title":"Developing and evaluating domain models for programming skills using learning curve analysis","abstract":"Identifying key concepts in programming is important for accurately tracking skill development and designing better support mechanisms for students. Prior research has identified a plethora of skills at varying levels of granularity, from broad abilities such as code comprehension and tracing to fine-grained skills like using individual syntactic elements correctly. However, more evidence is required to understand the extent these skill models reflect the actual skill acquisition process of students. Knowledge components, which are acquired units of skills and abilities inferred from the performance on a set of tasks, can be an appropriate starting point in a framework for evaluating these skill models and generating new models in a data-driven manner. These knowledge components can be evaluated by learning curve analysis, which is an educational data mining technique for modeling skill development using data on problem-solving performance of students. Yet, previous applications of learning curve analysis for programming could not identify a robust and interpretable skill model, which may imply that programming skills are more complex than initially assumed. In this thesis, we summarize two studies where we evaluate two domain models that explain student skill development. The first study is a replication of prior work that proposed the use of syntactic structures in a programming language as individual skills in programming. The second study proposes a novel domain model that uses programming plans from computing education literature to model student skills. We evaluate the extent to which these domain models can explain students' development across homework assignments in an introductory programming course using data collected from seven semesters. Our findings imply that learning curve analysis can be used to produce useful insights from solutions to open-ended code-writing exercises.","abstract_html":"Identifying key concepts in programming is important for accurately tracking skill development and designing better support mechanisms for students. Prior research has identified a plethora of skills at varying levels of granularity, from broad abilities such as code comprehension and tracing to fine-grained skills like using individual syntactic elements correctly. However, more evidence is required to understand the extent these skill models reflect the actual skill acquisition process of students. Knowledge components, which are acquired units of skills and abilities inferred from the performance on a set of tasks, can be an appropriate starting point in a framework for evaluating these skill models and generating new models in a data-driven manner. These knowledge components can be evaluated by learning curve analysis, which is an educational data mining technique for modeling skill development using data on problem-solving performance of students. Yet, previous applications of learning curve analysis for programming could not identify a robust and interpretable skill model, which may imply that programming skills are more complex than initially assumed. In this thesis, we summarize two studies where we evaluate two domain models that explain student skill development. The first study is a replication of prior work that proposed the use of syntactic structures in a programming language as individual skills in programming. The second study proposes a novel domain model that uses programming plans from computing education literature to model student skills. We evaluate the extent to which these domain models can explain students&#x27; development across homework assignments in an introductory programming course using data collected from seven semesters. Our findings imply that learning curve analysis can be used to produce useful insights from solutions to open-ended code-writing exercises.","abstract_has_math":false,"creators":["Demirtas, Mehmet Arif"],"institution":"University of Illinois Urbana-Champaign","degree_name":"M.S.","degree_level":"Thesis","degree_discipline":"Computer Science","degree_department":null,"school":null,"contributors":["Cunningham, Kathryn I"],"advisors":[],"committee_chairs":[],"committee_members":[],"year":2025,"date_issued":"2025-12","date_published":"2025-12","updated_at":"2026-07-22T22:25:07Z","subjects":["computing education","educational data mining"],"languages":["en"],"rights":["Copyright 2025 Mehmet Arif Demirtas"],"rights_urls":[],"identifier_entries":[]},"links":{"outbound_url":"https://hdl.handle.net/2142/132550","outbound_label":"Handle","outbound_source":"dc:identifier"},"metadata_groups":[{"id":"people","label":"People","entries":[{"key":"dc:contributor","label":"Contributor","values":["Cunningham, Kathryn I"]},{"key":"dc:creator","label":"Author","values":["Demirtas, Mehmet Arif"]}]},{"id":"academic_context","label":"Academic Context","entries":[{"key":"dc:date","label":"Dc Date","values":["2025-12","2025-12-01"]},{"key":"dc:type","label":"Dc Type","values":["text","Thesis"]},{"key":"thesis:degree_discipline","label":"Discipline","values":["Computer Science"]},{"key":"thesis:degree_level","label":"Degree Level","values":["Thesis"]},{"key":"thesis:degree_name","label":"Degree Name","values":["M.S."]},{"key":"thesis:institution_name","label":"Thesis Institution Name","values":["University of Illinois Urbana-Champaign"]}]},{"id":"subjects_keywords","label":"Subjects and Keywords","entries":[{"key":"dc:subject","label":"Dc Subject","values":["computing education","educational data mining"]}]},{"id":"language_rights","label":"Language and Rights","entries":[{"key":"dc:language","label":"Dc Language","values":["en"]},{"key":"dc:rights","label":"Dc Rights","values":["Copyright 2025 Mehmet Arif Demirtas"]}]},{"id":"identifiers","label":"Identifiers","entries":[{"key":"dc:identifier","label":"Identifier","values":["https://hdl.handle.net/2142/132550"]}]},{"id":"additional","label":"Additional Metadata","entries":[{"key":"dc:description","label":"Description","values":["Identifying key concepts in programming is important for accurately tracking skill development and designing better support mechanisms for students. Prior research has identified a plethora of skills at varying levels of granularity, from broad abilities such as code comprehension and tracing to fine-grained skills like using individual syntactic elements correctly. However, more evidence is required to understand the extent these skill models reflect the actual skill acquisition process of students. Knowledge components, which are acquired units of skills and abilities inferred from the performance on a set of tasks, can be an appropriate starting point in a framework for evaluating these skill models and generating new models in a data-driven manner. These knowledge components can be evaluated by learning curve analysis, which is an educational data mining technique for modeling skill development using data on problem-solving performance of students. Yet, previous applications of learning curve analysis for programming could not identify a robust and interpretable skill model, which may imply that programming skills are more complex than initially assumed. In this thesis, we summarize two studies where we evaluate two domain models that explain student skill development. The first study is a replication of prior work that proposed the use of syntactic structures in a programming language as individual skills in programming. The second study proposes a novel domain model that uses programming plans from computing education literature to model student skills. We evaluate the extent to which these domain models can explain students' development across homework assignments in an introductory programming course using data collected from seven semesters. Our findings imply that learning curve analysis can be used to produce useful insights from solutions to open-ended code-writing exercises.","Submission original under an indefinite embargo labeled 'Open Access'. The submission was exported from vireo on 2026-02-19 without embargo terms","The student, Mehmet Arif Demirtas, accepted the attached license on 2025-12-01 at 10:55.","The student, Mehmet Arif Demirtas, submitted this Thesis for approval on 2025-12-01 at 11:02.","This Thesis was approved for publication on 2025-12-01 at 14:33.","DSpace SAF Submission Ingestion Package generated from Vireo submission #22992 on 2026-02-19 at 18:25:54"]},{"key":"dc:format","label":"Dc Format","values":["application/pdf"]},{"key":"dc:title","label":"Title","values":["Developing and evaluating domain models for programming skills using learning curve analysis"]}]}],"canonical_facts":{"dc:contributor":["Cunningham, Kathryn I"],"dc:creator":["Demirtas, Mehmet Arif"],"dc:date":["2025-12","2025-12-01"],"dc:description":["Identifying key concepts in programming is important for accurately tracking skill development and designing better support mechanisms for students. Prior research has identified a plethora of skills at varying levels of granularity, from broad abilities such as code comprehension and tracing to fine-grained skills like using individual syntactic elements correctly. However, more evidence is required to understand the extent these skill models reflect the actual skill acquisition process of students. Knowledge components, which are acquired units of skills and abilities inferred from the performance on a set of tasks, can be an appropriate starting point in a framework for evaluating these skill models and generating new models in a data-driven manner. These knowledge components can be evaluated by learning curve analysis, which is an educational data mining technique for modeling skill development using data on problem-solving performance of students. Yet, previous applications of learning curve analysis for programming could not identify a robust and interpretable skill model, which may imply that programming skills are more complex than initially assumed. In this thesis, we summarize two studies where we evaluate two domain models that explain student skill development. The first study is a replication of prior work that proposed the use of syntactic structures in a programming language as individual skills in programming. The second study proposes a novel domain model that uses programming plans from computing education literature to model student skills. We evaluate the extent to which these domain models can explain students' development across homework assignments in an introductory programming course using data collected from seven semesters. Our findings imply that learning curve analysis can be used to produce useful insights from solutions to open-ended code-writing exercises.","Submission original under an indefinite embargo labeled 'Open Access'. The submission was exported from vireo on 2026-02-19 without embargo terms","The student, Mehmet Arif Demirtas, accepted the attached license on 2025-12-01 at 10:55.","The student, Mehmet Arif Demirtas, submitted this Thesis for approval on 2025-12-01 at 11:02.","This Thesis was approved for publication on 2025-12-01 at 14:33.","DSpace SAF Submission Ingestion Package generated from Vireo submission #22992 on 2026-02-19 at 18:25:54"],"dc:format":["application/pdf"],"dc:identifier":["https://hdl.handle.net/2142/132550"],"dc:language":["en"],"dc:rights":["Copyright 2025 Mehmet Arif Demirtas"],"dc:subject":["computing education","educational data mining"],"dc:title":["Developing and evaluating domain models for programming skills using learning curve analysis"],"dc:type":["text","Thesis"],"thesis:degree_discipline":["Computer Science"],"thesis:degree_level":["Thesis"],"thesis:degree_name":["M.S."],"thesis:institution_name":["University of Illinois Urbana-Champaign"]},"updated_at":"2026-07-22T22:25:07Z"}