Syntax-Based Analysis of Programming Concepts in Python']Python

被引:0
|
作者
Mozina, Martin [1 ]
Lazar, Timotej [1 ]
机构
[1] Univ Ljubljana, Fac Comp & Informat Sci, Ljubljana, Slovenia
来源
关键词
Learning programming; Educational data analysis; Error diagnosis; Abstract syntax tree; Tree regular expressions;
D O I
10.1007/978-3-319-93846-2_43
中图分类号
TP18 [人工智能理论];
学科分类号
081104 ; 0812 ; 0835 ; 1405 ;
摘要
Writing programs is essential to learning programming. Most programming courses encourage students to practice with lab and homework assignments. By analyzing solutions to these exercises teachers can discover mistakes and concepts students are struggling with, and use that knowledge to improve the course. Students however tend to submit many different programs even for simple exercises, making such analysis difficult. We propose using tree regular expressions to encode common patterns in programs. Based on these patterns we induce rules describing common approaches and mistakes for a given assignment. In this paper we present a case study of rule-based analysis for an introductory Python exercise. We show that our rules are easy to interpret, and can be learned from a relatively small set of programs.
引用
收藏
页码:236 / 240
页数:5
相关论文
共 50 条
  • [1] Data Analysis of Blended Learning in Python']Python Programming
    Chu, Qian
    Yu, Xiaomei
    Jiang, Yuli
    Wang, Hong
    ALGORITHMS AND ARCHITECTURES FOR PARALLEL PROCESSING, ICA3PP 2018, PT III, 2018, 11336 : 209 - 217
  • [2] pPython']Python for Parallel Python']Python Programming
    Byun, Chansup
    Arcand, William
    Bestor, David
    Bergeron, Bill
    Gadepally, Vijay
    Houle, Michael
    Hubbell, Matthew
    Jananthan, Hayden
    Jones, Michael
    Keville, Kurt
    Klein, Anna
    Michaleas, Peter
    Milechin, Lauren
    Morales, Guillermo
    Mullen, Julie
    Prout, Andrew
    Reuther, Albert
    Rosa, Antonio
    Samsi, Siddharth
    Yee, Charles
    Kepner, Jeremy
    2022 IEEE HIGH PERFORMANCE EXTREME COMPUTING VIRTUAL CONFERENCE (HPEC), 2022,
  • [3] XML programming in Python']Python
    McGrath, S
    DR DOBBS JOURNAL, 1998, 23 (02): : 82 - +
  • [4] Python']Python to learn programming
    Bogdanchikov, A.
    Zhaparov, M.
    Suliyev, R.
    2013 INTERNATIONAL CONFERENCE ON SCIENCE & ENGINEERING IN MATHEMATICS, CHEMISTRY AND PHYSICS (SCIETECH 2013), 2013, 423
  • [5] Python']Python-Bot: A Chatbot for Teaching Python']Python Programming
    Okonkwo, Chinedu Wilfred
    Ade-Ibijola, Abejide
    ENGINEERING LETTERS, 2021, 29 (01) : 25 - 34
  • [6] Automatic Python']Python Programming using Stack-based Genetic Programming
    Park, Hyun Soo
    Kim, Kyung Joong
    PROCEEDINGS OF THE FOURTEENTH INTERNATIONAL CONFERENCE ON GENETIC AND EVOLUTIONARY COMPUTATION COMPANION (GECCO'12), 2012, : 641 - 642
  • [7] Effect of Block-Based Python']Python Programming Environment on Programming Learning
    Kim, Yongcheon
    Kim, Jamee
    Lee, Wongyu
    APPLIED SCIENCES-BASEL, 2023, 13 (19):
  • [8] Educational Mobile Apps for Programming in Python']Python: Review and Analysis
    Schnieder, Maren
    Williams, Sheryl
    EDUCATION SCIENCES, 2023, 13 (01):
  • [9] An Introduction to Programming for Bioscientists: A Python']Python-Based Primer
    Ekmekci, Berk
    McAnany, Charles E.
    Mura, Cameron
    PLOS COMPUTATIONAL BIOLOGY, 2016, 12 (06)
  • [10] Switching function based on hypergraphs with algorithm and python']python programming
    Hamidi, Mohammad
    Rahmati, Marzieh
    Rezaei, Akbar
    JOURNAL OF INTELLIGENT & FUZZY SYSTEMS, 2020, 39 (03) : 2845 - 2859