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 条
  • [21] Design of a Blocks-Based Environment for Introductory Programming in Python']Python
    Poole, Matthew
    2015 IEEE BLOCKS AND BEYOND WORKSHOP (BLOCKS AND BEYOND), 2015, : 31 - 34
  • [22] Parsl: Pervasive Parallel Programming in Python']Python
    Babuji, Yadu
    Woodard, Anna
    Li, Zhuozhao
    Katz, Daniel S.
    Clifford, Ben
    Kumar, Rohan
    Lacinski, Lukasz
    Chard, Ryan
    Wozniak, Justin M.
    Foster, Ian
    Wilde, Michael
    Chard, Kyle
    HPDC'19: PROCEEDINGS OF THE 28TH INTERNATIONAL SYMPOSIUM ON HIGH-PERFORMANCE PARALLEL AND DISTRIBUTED COMPUTING, 2019, : 25 - 36
  • [23] Introducing Python']Python Programming into Undergraduate Biology
    David, Andrew A.
    AMERICAN BIOLOGY TEACHER, 2021, 83 (01): : 33 - 41
  • [24] Static Analyses in Python']Python Programming Courses
    Liu, David
    Petersen, Andrew
    SIGCSE '19: PROCEEDINGS OF THE 50TH ACM TECHNICAL SYMPOSIUM ON COMPUTER SCIENCE EDUCATION, 2019, : 666 - 671
  • [25] CharmPy: A Python']Python Parallel Programming Model
    Galvez, Juan J.
    Senthil, Karthik
    Kale, Laxmikant V.
    2018 IEEE INTERNATIONAL CONFERENCE ON CLUSTER COMPUTING (CLUSTER), 2018, : 423 - 433
  • [26] Introducing Python']Python Programming for Engineering Scholars
    Hussain, Zahid
    Khan, Muhammad Siyab
    INTERNATIONAL JOURNAL OF COMPUTER SCIENCE AND NETWORK SECURITY, 2018, 18 (12): : 26 - 33
  • [27] APPLICATION OF PYTHON']PYTHON PROGRAMMING LANGUAGE IN MEASUREMENTS
    Pejovic, Predrag
    FACTA UNIVERSITATIS-SERIES ELECTRONICS AND ENERGETICS, 2019, 32 (01) : 1 - 23
  • [28] Scalable Parallel Programming in Python']Python with Parsl
    Babuji, Yadu
    Woodard, Anna
    Li, Zhuozhao
    Katz, Daniel S.
    Clifford, Ben
    Foster, Ian
    Wilde, Michael
    Chard, Kyle
    PEARC '19: PROCEEDINGS OF THE PRACTICE AND EXPERIENCE IN ADVANCED RESEARCH COMPUTING ON RISE OF THE MACHINES (LEARNING), 2019,
  • [29] PyOMP: Multithreaded Parallel Programming in Python']Python
    Mattson, Timothy G.
    Anderson, Todd A.
    Georgakoudis, Giorgis
    COMPUTING IN SCIENCE & ENGINEERING, 2021, 23 (06) : 77 - 80
  • [30] Intelligent Borehole Simulation with python']python Programming
    Ghasemitabar, Hassanreza
    Alimoradi, Andisheh
    Ahooi, Hamidreza Hemmati
    Fathi, Mahdi
    Sarookhani, Mahshid
    JOURNAL OF MINING AND ENVIRONMENT, 2024, 15 (02): : 707 - 730