Font Size: a A A

Personalized Programming Exercise Recommendation Based On Deep Learning

Posted on:2022-11-03Degree:MasterType:Thesis
Country:ChinaCandidate:Y DongFull Text:PDF
GTID:2517306752454394Subject:Master of Engineering
Abstract/Summary:PDF Full Text Request
In the era of rapid development of the Internet,mastering computer skills is becoming one of the compulsory skills for many colleges.With the reform of education,the computer education model in colleges is also being reformed.Mastering computer programming is not only a basic ability for computer-related majors,however.For many non-computer majors,they also require a certain understanding of basic programming.In recent years,online judge systems have become popular among colleges and universities.On the web programming system,students can practice exercises based on their knowledge points learned in the class.On the other way,online judge systems provide feedback on whether students have passed all the test cases.Then,students can find their inadequate in some knowledge points and try to make up for the shortcomings.At the moment,with the increase of the number of users,the online judge system has begun to expose some drawbacks,which put forward higher requirements for programming education.Traditional online judge systems have been able to meet the need of programming learning for most people.However,in daily programming teaching,we still find some shortcomings.The first is the lack of a reasonable distinction between the difficulty of exercises.Newcomers who are just beginning to learn programming do not have a clear understanding of the difficulty.This is because the online judge system does not tell you what topics and exercises are suitable for newcomers.And,the topics and exercises are often presented in the form of a list.In addition,students often give priority to completing the in-class homework assigned by the teacher.Then,they will possibly program to solve the extra-curricular exercises when they have spare energy.When students spend a lot of energy on completing extra-curricular exercises,they may find the problems lack nutrition.In another way,they cannot acquire useful knowledge,or the difficulty of the problem is too difficult for them to start.When students are troubled by this phenomenon for a long time,it may lead to a decline for students in programming.Also,it will not further improve students' knowledge mastery.Therefore,it is necessary to make intelligent recommendations on the online judge system.This is different from traditional rule-based recommendations.For different students,the programming ability span is relatively large,and the use of traditional recommendation methods cannot solve the above problems well.Therefore,this article proposes to provide students with personalized programming exercise recommendations based on deep learning.The contributions are summarized as follows:Propose the use of graph-based models to model the representation of entities in programming scenarios.Graph-based models have been used in many recommendation systems in recent years.Feature extraction based on graph structure data can enhance the representation of information interaction between different entities(user,exercise,knowledge concepts)in programming scenarios.Finally,the user's personalized features are extracted.Experiments have shown that entity representation based on graph-based models can enhance the effect of exercise recommendation finally.Propose user knowledge ability based on multi-head self-attention structure.In order to capture the user's knowledge state at each moment in the sequence of exercises,multi-head self-attention is used.Compared with the traditional deep learning sequence model,this model can solve the dependency of long distance well.Experiments have shown that the predicted knowledge ability based on this kind of modeling is closer to the real ability of the user.Exercise recommendation based on knowledge collaborative filtering.Collaborative filtering is widely used in recommendation.However,the feature functions used in previous collaborative filtering recommendations are not suitable for programming education.The recommendation of exercises should be aimed at promoting students' knowledge abilities.As such,we propose the collaborative filtering recommendation for similar users based on their state of knowledge abilities.Finally,this article applies the recommendation model to the online judge system successfully.
Keywords/Search Tags:Programming Education, Programming System, Exercise Recommendation, Graph-based model, Multi-head Self-attention, Collaborative Filtering
PDF Full Text Request
Related items