| Online exam is one of the functions of network teaching system, which involves a number of key technologies, such as the establishment and maintenance of large-scale item bank, testpaper auto-assembling, large-scale concurrent access, testpaper automatic assessment, etc. Among them, the automatic evaluation technique could show the results quickly and accurately therewith save a lot of manual labor time. Therefore, the issue has been concern all the time. Currently, there are already some examination systems about the C language, most of these test system are used for testing the choice question and gap filling. The ratings technology for the objective question has been very mature. But it also doesn't have particularly good method and mature technology for subjective programming. The topic is advanced to solve scoring on programming problems, which is of important theoretical and practical significance.The topic simulates the thought process of manual marking and proposes the solutions which uses "the combining of the semantic understanding technology and algorithm analysis of tree kernel" to score the subjective question. Scoring process is divided into three stages:Firstly, do size matching and structure matching in the phase of surface understanding, and design a special error checking function to stop the continuous error at the same time conducting statistical error scale; Secondly, do expression matching and structure matching in the phase of deeper understanding, transform the program statements into an intermediate representation of abstract syntax tree, then optimize the code of abstract syntax tree, do score matching in accordance with the student program of eliminating redundancies and abstract syntax tree of model program. Finally, suggest a technology of merging the surface understanding, deep understanding and error scale by means of multi-feature merging method, Modulate their proportions computations to similarity of semantic understanding according to setting the weight of each feature." The combining of the semantic understanding and algorithm analysis of tree kernel method ",which has been applied to an automatic assessment 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, system is stable, and the result is also more accurate. |