With the rapid development of computer network technology and intelligence education in teaching measurement and learning evaluation,the paperless examination of computer programming courses has become the modernization's education trends.At present,the automatic grading technology of subjective test has been fairly advanced,but the objective automatic grading has always been the hot and difficult subject in this field due to it's diversity expression.C is a required course in computer science and related science and engineering major.According to the actual situation of C language program score in teaching and testing,this paper presents the automatic scoring methods of C language source code.The mainly works in the research are included as follows.Most of the tradition middle expression of program can not indicated program information.To solve this problem,a program automatic grading based on Flow Control Graph matching method is proposed.On the basis of the detailed analysis of C language code syntax,semantics,content structure.Using the Flow Control Unit as the basic unit and calculating the matching similarity between student's program and standard template after the pre-standardized source code being converted the into FCG that can reflect students' programming task,then give the category of the program.The experimental results showed the high accuracy and the well grading effects.The grading accuracy of the FCG depends greatly on the number of standard templates although it has certain advantages over the traditional static grading techniques.Teacher has a limited number of answer templates.To solve this problem,a program automatic grading based on Flow Control-K-Nearest Neighbor method is proposed.The FC-KNN based on flow control structures is designed to extract source code features;Further more,the training samples are transformed into tagged feature vectors.Then,the K-Nearest Neighbor algorithm is used to classify the test program according to the extracted features,the classification of which is the score of the program.The preliminary experimental results show that the proposed scoring algorithm is more accurate than the traditional static scoring algorithm.The FC-KNN automatic scoring algorithm combines the k-nearest neighbor algorithm in machine learning.The premise is that there must be sufficient training samples containing markers.However,in actual teaching,the accumulation of such a number of labeled samples requires a lot of time and human resources.To solve this problem,a program automatic grading based on the Ensemble Learning is proposed.According to the optimal strategy,the two classification models FCG and FC-KNN are combined.The output of the primary classifier FCG is used as an input sample of the secondary classifier FC-KNN.With the increase of samples,an adaptive weight model is designed to solve the problem of unbalanced samples between classes.Finally,the experiments have proved that the integrated classification grading model can achieve the ideal scoring accuracy at each stage of the accumulation. |