Advanced Search
    Ma Peijun, Wang Tiantian, and Su Xiaohong. Automatic Grading of Student Programs Based on Program Understanding[J]. Journal of Computer Research and Development, 2009, 46(7): 1136-1142.
    Citation: Ma Peijun, Wang Tiantian, and Su Xiaohong. Automatic Grading of Student Programs Based on Program Understanding[J]. Journal of Computer Research and Development, 2009, 46(7): 1136-1142.

    Automatic Grading of Student Programs Based on Program Understanding

    • Traditional approaches of automatically grading student programs do not take into account how a student program answers a given programming task, and can not evaluate how close the source code is to correct solutions. Therefore, a new approach is proposed based on program understanding. A model is implemented based on the combining of the common process and basic strategies of program understanding with the thinking mode of manual grading. A set of typical model programs representing the correct way to implementing the programming task are provided to match with a student program. Firstly, the student program and model programs are transformed into an intermediate representation called system dependence graph. Then, program normalization is performed on the system dependence graphs to remove code variations, so as to recognize syntactically different but semantically equivalent constructs. Finally, the normalized system dependence graph of the student program and those of model programs are matched and a mark is given. This approach has been applied to an on-line examination system for the programming language C. Test results show that it can evaluate how close a source code is to correct solutions in terms of syntax and semantics, and it has a high grading accuracy.
    • loading

    Catalog

      Turn off MathJax
      Article Contents

      /

      DownLoad:  Full-Size Img  PowerPoint
      Return
      Return