Abstract

As one mainstream of current software development, Object-oriented programming has become one key course for undergraduate students in Computer Science. Since Object-oriented concepts are difficult to understand for students, small programming exercises are used to train and help the students, and the study performance is evaluated based on the quality of the submitted source code. The common practice of code assess-ment in programming courses is checking whether the submitted projects pass carefully-designed test cases. However, even some projects pass all test cases, they may have bad software design and do not use the knowledge of Object-oriented programming well, especially in the early stage of courses. Therefore, we propose an anomaly detection approach for early warning in Object-oriented programming courses, which can automatically find the abnormal application of Object-oriented knowledge. In our approach, we conduct static analysis on the code submitted by students. Typical Objected-oriented metrics are extracted, and students are divided into two groups by K-means clustering: being good at Object-objected knowledge or not, and finally detect anomalous students based on the distance from cluster centers. We evaluate our approach on the realistic data sets collected from our Object-oriented programming course, and experimental results show the effectiveness of our method.

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.