| Coding is a key activity in the process of software development.The programming ability of programmers directly affects the quality of software development.Unlike professional programmers,novice programmers usually refer to junior programmers who have just learned the programming language and have not fully mastered programming skills.In this thesis,novice programmers refer to junior programmers who have studied programming for about 3 years.Therefore,in the face of the increasing number of novice programmers,effectively measuring their programming ability is the key to improve their programming ability.However,there is no unified and effective way to measure programming ability.The commonly used measurement methods can be divided into direct measurement and indirect measurement.Direct measurement is measured by testing the program written by the programmer,analyzing the output of the programming test(source code),or analyzing the process behavior of the programming test through log data.Indirect measurement is generally to collect programmers ’ own relevant data for measurement.However,most of the existing measurement methods are evaluated for professional programmers.Different from professional programmers,novice programmers have the characteristics of short programming time,less contact with the field and insufficient proficiency.In order to solve this problem,this thesis will carry out specific research on how to measure the programming ability of novice programmers from both direct and indirect perspectives.The research content mainly includes two aspects.First of all,this thesis studies whether programming test is suitable for the measurement of programming ability of novice programmers.Through literature review,common empirical indicators for measuring professional programmers are collected.In order to study whether the empirical indicators of professional programmers are effective for novice programmers,this thesis designs programming test tasks through empirical method,randomly selects 92 novice programmers to participate,and summarizes and analyzes the empirical results.The results show that due to the poor general ability of novice programmers,the measurement of indicators of professional programmers has a large information granularity and a low degree of refinement for evaluating the programming ability of novice programmers,which cannot be effectively distinguished.For novice programmers,the metrics should be further refined to obtain a finergrained evaluation.Secondly,this thesis proposes an indirect measurement method based on questionnaire to evaluate the programming ability of novice programmers.This thesis designs a questionnaire for the actual situation of novice programmers to collect information on programming ability.Then,according to the characteristics of the novice programmers selected in this thesis,the course scores directly related to programming are selected as the test criteria for measuring programming ability.Through the correlation analysis and stepwise regression of the questionnaire answers and the test standards,the best indicators for measuring the programming ability of novice programmers are extracted from many indicators,which are the number of modules in the project and the number of programming-related websites visited,and a regression model for measuring programming ability is constructed. |